From nobody@FreeBSD.org Tue Dec 4 07:17:06 2007 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C7B716A417 for ; Tue, 4 Dec 2007 07:17:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 9A94113C442 for ; Tue, 4 Dec 2007 07:17:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id lB47GkiS088804 for ; Tue, 4 Dec 2007 07:16:46 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id lB47Gkvd088803; Tue, 4 Dec 2007 07:16:46 GMT (envelope-from nobody) Message-Id: <200712040716.lB47Gkvd088803@www.freebsd.org> Date: Tue, 4 Dec 2007 07:16:46 GMT From: Nate Eldredge To: freebsd-gnats-submit@FreeBSD.org Subject: nm -D fails if a file has no symbols X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 118415 >Category: gnu >Synopsis: nm -D fails if a file has no symbols >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Dec 04 07:20:01 UTC 2007 >Closed-Date: >Last-Modified: >Originator: Nate Eldredge >Release: 6.2-RELEASE >Organization: >Environment: FreeBSD vulcan.lan 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #24: Thu Nov 29 09:52:48 PST 2007 nate@vulcan.lan:/usr/obj/usr/src/sys/VULCAN amd64 >Description: If nm -D is given multiple files, one of which has no symbols (perhaps because it's statically linked), it exits after processing that file without processing the rest. This is inconvenient and probably not what was intended. >How-To-Repeat: nate@vulcan:/tmp$ file /usr/bin/true /rescue/sh /usr/bin/false /usr/bin/true: ELF 64-bit LSB executable, AMD x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), stripped /rescue/sh: ELF 64-bit LSB executable, AMD x86-64, version 1 (FreeBSD), statically linked, stripped /usr/bin/false: ELF 64-bit LSB executable, AMD x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), stripped nate@vulcan:/tmp$ nm -D /usr/bin/true /rescue/sh /usr/bin/false /usr/bin/true: 00000000005007b8 A _DYNAMIC 0000000000500910 A _GLOBAL_OFFSET_TABLE_ w _Jv_RegisterClasses 0000000000500940 A __bss_start w __deregister_frame_info 00000000005006c0 D __progname w __register_frame_info 0000000000500940 A _edata 0000000000500998 A _end 0000000000400618 T _fini 0000000000400448 T _init U _init_tls U atexit 0000000000500990 B environ U exit /rescue/sh: nm: /rescue/sh: No symbols nate@vulcan:/tmp$ nm -D /usr/bin/true /usr/bin/false /rescue/sh /usr/bin/true: 00000000005007b8 A _DYNAMIC 0000000000500910 A _GLOBAL_OFFSET_TABLE_ w _Jv_RegisterClasses 0000000000500940 A __bss_start w __deregister_frame_info 00000000005006c0 D __progname w __register_frame_info 0000000000500940 A _edata 0000000000500998 A _end 0000000000400618 T _fini 0000000000400448 T _init U _init_tls U atexit 0000000000500990 B environ U exit /usr/bin/false: 00000000005007b8 A _DYNAMIC 0000000000500910 A _GLOBAL_OFFSET_TABLE_ w _Jv_RegisterClasses 0000000000500940 A __bss_start w __deregister_frame_info 00000000005006c0 D __progname w __register_frame_info 0000000000500940 A _edata 0000000000500998 A _end 0000000000400618 T _fini 0000000000400448 T _init U _init_tls U atexit 0000000000500990 B environ U exit /rescue/sh: nm: /rescue/sh: No symbols >Fix: Probably simple, but didn't look. >Release-Note: >Audit-Trail: >Unformatted: