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

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon May 29 17:39:24 PDT 2017


> ·         PIE shared library debug – DT_MIPS_RLD_MAP_REL. This is an extension required to support finding the shared libraries used by a PIE because MIPS unique DT_MIPS_RLD_MAP would not work with PIE. During this design the community concluded that while the original solution obviously needed fixing the underlying achievement of keeping the dynamic section read-only at runtime was a worthy goal and the solution retained that (potentially unique) MIPS benefit.

This is a good example of a bad case IMHO. If the issue is ro at runtime
you could have just used RELRO like everyone else.

If the issue was having more of the file RO, then why not have a
proposal for *all* architectures where .dynamic is RO and some other way
is used in place of DT_DEBUG to communicate with the debugger.

Both of those would give us hope of one day dropping some mips specific
logic. Instead new we will have even more mips specific logic.

> ·         ifunc – This is still in review and has slowed down a bit in pace. The general issues of how it will work with the GOT have been resolved and it should progress.

This is another good example of why it is bad to have mips only cases
and one has to fight to reduce the differences instead of increase them.

Since you will need dynamic linker support for ifunc, why not put the
effort to use a got format that is more, not less, similar than other gots?

Cheers,
Rafael


More information about the llvm-commits mailing list