[PATCH 3/7] Add GLIBC_ABI_DT_RELR for DT_RELR support

Joseph Myers joseph@codesourcery.com
Fri Feb 4 21:01:12 GMT 2022


On Fri, 4 Feb 2022, H.J. Lu via Libc-alpha wrote:

> Good point.  How about "enable DT_RELR only if SUPPORT_DT_RELR is
> defined?  Currently, only x86 defines SUPPORT_DT_RELR.

My preference would be:

1. Support user executables and shared libraries with RELR relocations 
across all platforms, unconditionally.

2. Build glibc to use RELR relocations in its own executables and shared 
libraries based on an architecture-independent configure test for whether 
linker support is present.

And avoid any architecture-specific conditional relating to RELR support 
in glibc completely.

*If* it turns out to be hard to have a fully reliable 
architecture-independent configure test for linker support, and the 
architecture-independent test reports linker support to be present (in an 
actual binutils release, not just the development mainline) for an 
architecture where that support is in fact buggy and incomplete, then we 
might consider adding an architecture-specific test on that architecture 
to disable building glibc to use RELR relocations with the buggy linker 
version.  That is, architecture-specific tests would only be to disable 
building glibc to use RELR relocations, not to enable it, and only when 
the bugs in linker support on that architecture can't readily be detected 
by an architecture-independent test.  The default for all existing and 
future architectures would be to follow the results of the 
architecture-independent configure test.

-- 
Joseph S. Myers
joseph@codesourcery.com


More information about the Libc-alpha mailing list