nm: Fix nm --external sysv format output.
authorMark Wielaard <mark@klomp.org>
Thu, 16 Jan 2020 22:33:52 +0000 (23:33 +0100)
committerMark Wielaard <mark@klomp.org>
Thu, 16 Jan 2020 22:33:52 +0000 (23:33 +0100)
Partial revert of commit 66f4c37d497bdde040a33f299b12163f044b1bf2.
If index zero wasn't a real symbol it has already been filtered out
in show_symbols so don't skip it in show_symbols_sysv.

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

Reported-by: Enzo Matsumiya <ematsumiya@suse.com>
Signed-off-by: Mark Wielaard <mark@klomp.org>
src/ChangeLog
src/nm.c

index 6af977e..7ce9e54 100644 (file)
@@ -1,3 +1,8 @@
+2020-01-16  Mark Wielaard  <mark@klomp.org>
+
+       * nm.c (show_symbols_sysv): Iterate over all symbols starting
+       at index zero.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
        * Makefile.am (BUILD_STATIC): Add libraries needed for libdw.
index 7f6cf2a..b7c2aed 100644 (file)
--- a/src/nm.c
+++ b/src/nm.c
@@ -787,7 +787,7 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx, const char *fullname,
 #endif
 
   /* Iterate over all symbols.  */
-  for (cnt = 1; cnt < nsyms; ++cnt)
+  for (cnt = 0; cnt < nsyms; ++cnt)
     {
       /* In this format SECTION entries are not printed.  */
       if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_SECTION)