Commit: objdump --show-all-symbols: show extra symbols matching referenced addresses

Nick Clifton nickc@redhat.com
Wed Apr 3 09:55:09 GMT 2024


Hi Andreas,

>>>> +  /* If we found an absolute symbol in the reloc (ie: "*ABS*+0x....")
>>> Is the addend always formatted as an unsigned number?
>>
>> Err, yes ?
>>
>> To be honest I am not 100% sure.  Possibly on architectures with a signed
>> address space there could be a negative value in the relocation symbol.
> 
> Nothing stops the object from using addresses from the upper end of the
> address space.
> 
> $ tail -1 /proc/self/maps
> ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]

Right, but if the address space itself is unsigned then any relocations
against locations in the upper end of the space will themselves be
unsigned.  Full of f's and looking like a negative number, but actually
a large, positive, unsigned number.

But hey, I have only just written this code, so I am quite willing to
believe that there are bugs in it.  Do you know of an example of a
relocation against an upper end address that I could use to investigate
further ?

Cheers
   Nick




More information about the Binutils mailing list