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

ematsumiya at suse dot com sourceware-bugzilla@sourceware.org
Wed Nov 27 15:01:00 GMT 2019


            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

   /* 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.

More information about the Elfutils-devel mailing list