[PATCH] D31528: [ELF][MIPS] Multi-GOT implementation

Joerg Sonnenberger via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 16:24:43 PDT 2017


On Fri, Apr 14, 2017 at 03:56:06PM -0700, Rui Ueyama via llvm-commits wrote:
> The peculiarity (or messiness) or MIPS ABI actually hurts MIPS-based
> systems. Again, think about .gnu.hash sections. If your DSOs have .gnu.hash
> sections, your dynamic symbols will be resolved quickly. That is important
> for large modern programs that use a lot of DSOs. However, you cannot use
> the feature on MIPS-based systems because the ABI forces some symbol
> ordering in a way that is not compatible with .gnu.hash.

I find it ironic that you would pick this example. I always found it a
very peculiar choice for .gnu.hash to require ordering, compared to many
of the alternative options of making the hash table significantly more
useful. I.e. a system that stores the full hash and the symbol size in
the hash table would very likely have highly similar skip rates without
needing secondary bloom filters or forcing ordering in the symbol table.
In fact, I find it quite dishonest to complain about MIPS ABIs using
certain ordering requirements when the ABIs are older than the .gnu.hash
mechanism.

Joerg


More information about the llvm-commits mailing list