bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/26302] New: nm -D -u now by default displays symbol versio


From: address@hidden
Subject: [Bug binutils/26302] New: nm -D -u now by default displays symbol versions, adding --with-symbol-versions duplicates them
Date: Sun, 26 Jul 2020 13:54:51 +0000

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

            Bug ID: 26302
           Summary: nm -D -u now by default displays symbol versions,
                    adding --with-symbol-versions duplicates them
           Product: binutils
           Version: 2.35
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: qboosh@pld-linux.org
  Target Milestone: ---

`nm -D -u` behaviour changed between 2.34 and 2.35.
New version prints undefined symbol versions, adding --with-symbol-versions
duplicates them. It's probably connected with PR/25708 changes.

Example (from linux kernel tools, which build gets broken after binutils
upgrade to 2.35 - reported in PLD Linux, Debian and Ubuntu):

nm 2.34 (i686-linux):
$ nm -u -D plugin_function.so
         U free  
         U memset
         U realloc 
         U strcmp
         U strdup
         U tep_find_function
         U tep_get_field_val
         U tep_plugin_add_options 
         U tep_plugin_remove_options
         U tep_register_event_handler
         U tep_unregister_event_handler
         U trace_seq_printf
         U trace_seq_putc
         U warning 

$ nm -u -D --with-symbol-versions plugin_function.so
         U free@GLIBC_2.0
         U memset@GLIBC_2.0
         U realloc@GLIBC_2.0
         U strcmp@GLIBC_2.0
         U strdup@GLIBC_2.0
         U tep_find_function
         U tep_get_field_val
         U tep_plugin_add_options
         U tep_plugin_remove_options
         U tep_register_event_handler
         U tep_unregister_event_handler
         U trace_seq_printf
         U trace_seq_putc
         U warning

nm 2.35 (x86_64-linux, so symbol versions differ from i686):
$ nm -u -D plugin_function.so
                 U free@@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5
                 U realloc@@GLIBC_2.2.5
                 U strcmp@@GLIBC_2.2.5
                 U strdup@@GLIBC_2.2.5
                 U tep_find_function
                 U tep_get_field_val
                 U tep_plugin_add_options
                 U tep_plugin_remove_options
                 U tep_register_event_handler
                 U tep_unregister_event_handler
                 U trace_seq_printf
                 U trace_seq_putc
                 U warning

$ nm -u -D --with-symbol-versions plugin_function.so
                 U free@@GLIBC_2.2.5@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5@GLIBC_2.2.5
                 U realloc@@GLIBC_2.2.5@GLIBC_2.2.5
                 U strcmp@@GLIBC_2.2.5@GLIBC_2.2.5
                 U strdup@@GLIBC_2.2.5@GLIBC_2.2.5
                 U tep_find_function
                 U tep_get_field_val
                 U tep_plugin_add_options
                 U tep_plugin_remove_options
                 U tep_register_event_handler
                 U tep_unregister_event_handler
                 U trace_seq_printf
                 U trace_seq_putc
                 U warning

The same is visible on any dynamic library, e.g. libc.so.6:

$ nm -D -u /lib/libc.so.6
         U _dl_argv@@GLIBC_PRIVATE
         U _dl_exception_create@@GLIBC_PRIVATE
         U _dl_find_dso_for_object@@GLIBC_PRIVATE
[...]

$ nm -D -u /lib/libc.so.6 --with-symbol-versions
         U _dl_argv@@GLIBC_PRIVATE@GLIBC_PRIVATE
         U _dl_exception_create@@GLIBC_PRIVATE@GLIBC_PRIVATE
         U _dl_find_dso_for_object@@GLIBC_PRIVATE@GLIBC_PRIVATE

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]