On Mon, Sep 23, 2019 at 09:42:52AM +0200, Florian Weimer wrote: > At Cauldron, the question came up whether the dynamic loader needs to > be taught about the new relocations for PC-relative addressing. > > I think they would only matter if we supported PC-relative addressing > *and* text relocations. Is that really necessary? > > These text relocations would not work reliably anyway because the > maximum displacement is not large enough. For example, with the > current process layout, it's impossible to reach shared objects from > the main program and vice versa. And some systems might want to add > additional randomization, so that shared objects are not mapped closed > together anymore.
We've been discussing this inside IBM too. The conclusion is that only one of the new relocs makes any possible sense as a dynamic reloc, R_PPC64_TPREL34, and that one only if you allow -ftls-model=local-exec when building shared libraries and accept that DF_STATIC_TLS shared libraries that can't be dlopen'd are OK. See https://sourceware.org/ml/binutils/2019-09/msg00164.html, which doesn't allow even R_PPC64_TPREL34. I haven't put this patch on the binutils 2.33 branch. -- Alan Modra Australia Development Lab, IBM