This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug general/25227] New: "eu-nm --extern" skips first symbol


https://sourceware.org/bugzilla/show_bug.cgi?id=25227

            Bug ID: 25227
           Summary: "eu-nm --extern" skips first symbol
           Product: elfutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: general
          Assignee: unassigned at sourceware dot org
          Reporter: ematsumiya at suse dot com
                CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

Reproduction steps:

> # cat example.c
> void *SYM1;
> void *SYM2;
> void *SYM3;
> # gcc -c -std=gnu89 -fstack-protector-all -funsigned-char -fPIC -Wall -Wconversion -Wextra -g -O0 example.c
> # eu-nm --extern example.o
> 
> 
> Symbols from /home/enzo/tmp/eu-nm-bug/example.o:
> 
> Name Value            Class  Type     Size             Line Section
> 
> SYM2|0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON
> SYM3|0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON

Expected result:

> Name    Value            Class  Type     Size                   Line Section
> 
> SYM1|0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON
> SYM2|0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON
> SYM3|0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON

i.e. "SYM1" line is not present.

Reverting this change fixes the problem:

commit 66f4c37d497bdde040a33f299b12163f044b1bf2
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Mon Oct 3 15:53:12 2011 -0400

    Fix nm output for sysv format

    Undefined symbols need no address and siz printed.  Avoid the initial
    entry which is no real symbol.  Avoid section symbols.

@@ -808,8 +808,12 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx, const char
*fullname,
 #endif

   /* Iterate over all symbols.  */
-  for (cnt = 0; cnt < nsyms; ++cnt)
+  for (cnt = 1; cnt < nsyms; ++cnt)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]