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

Jan Beulich jbeulich@suse.com
Fri Sep 5 14:27:19 GMT 2025


On 05.09.2025 16:17, H.J. Lu wrote:
> On Fri, Sep 5, 2025 at 6:38 AM Dmitry Klochkov
> <dmitry.klochkov@bell-sw.com> 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=--.
> 
> Need a test to show what it does.

You comment on the line documenting the test that is being added that a
test needs to be added? Odd, to say the least.

Jan


More information about the Binutils mailing list