[MIPS] Drop .dynsym symbol ordering requirement and nullify DT_GNU_XHASH

Maciej W. Rozycki macro@linux-mips.org
Wed Jan 29 18:59:00 GMT 2020


On Sat, 28 Dec 2019, Fangrui Song wrote:

> As I understand it, the benefits of the symbol ordering requirement come from
> the following:

 There are no benefits; the requirement comes from the GOT being relocated 
implicitly (i.e. without the use of dynamic relocations, as it is usually 
done, and based solely on dynamic entries providing ranges and then the 
correlation between GOT entries and the corresponding dynsym entries), as 
defined by the ELF MIPS psABI, long ago in mid 1990s when ELF was new and 
people were still experimenting with it in various ways.

 You could lift the requirement, but it would be a significant ABI change, 
requiring the addition of suitable dynamic relocations for GOT entries and 
then updating toolchains and runtimes across the world.

 This would typically only be done with an otherwise major incompatible 
change to the ABI, and it has actually been, for the nanoMIPS ISA.

 HTH,

  Maciej



More information about the Binutils mailing list