[PATCH v2] nm: fix treating an ifunc symbol as a stab if '--ifunc-chars=--' is given

Dmitry Klochkov dmitry.klochkov@bell-sw.com
Mon Sep 8 12:55:40 GMT 2025


Hi Jan,

On Mon, Sep 08, 2025 at 01:47:16PM +0200, Jan Beulich wrote:
> On 05.09.2025 18:39, Dmitry Klochkov wrote:
> > If an ifunc symbol is processed in print_symbol(), a 'type' field of a
> > 'syminfo' structure is set to any character specified by a user with an
> > '--ifunc-chars' option.  But afterwards the 'type' field is used to
> > check whether a symbol is a stab in print_symbol_info_{bsd,sysv}()
> > functions in order to print additional stab related data.  If the 'type'
> > field equals '-', a symbol is treated as a stab.  If '--ifunc-chars=--'
> > is given, all ifunc symbols will be treated as stab symbols and
> > uninitialized stab related fields of the 'syminfo' structure will be
> > printed which can lead to segmentation fault.
> > 
> > To fix this, check if a symbol is a stab before override the 'type'
> > field.  Also, add a test case for this fix.
> > 
> > 	PR binutils/32556
> > 	* nm.c (extended_symbol_info): Add is_stab.
> > 	(print_symbol): Check if a symbol is a stab.
> > 	(print_symbol_info_bsd): Use info->is_stab.
> > 	(print_symbol_info_sysv): Use info->is_stab.
> > 	* testsuite/binutils-all/nm.exp: Test nm --ifunc-chars=--.
> > 
> > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32556
> > Fixes: e6f6aa8d184 ("Add option to nm to change the characters displayed for ifunc symbols")
> > Signed-off-by: Dmitry Klochkov <dmitry.klochkov@bell-sw.com>
> 
> Okay; please let me know if this needs committing on your behalf.

Yes, if the patch is okay, please commit it on my behalf.

Thanks,
Dmitry


More information about the Binutils mailing list