[PATCH] elf: Add elf checks for main executable

Adhemerval Zanella adhemerval.zanella@linaro.org
Tue Dec 14 12:23:33 GMT 2021



On 14/12/2021 06:03, Florian Weimer wrote:
> * Fāng-ruì Sòng:
> 
>> If the question is: "if upstream glibc implements the diagnostic, will
>> ChromeOS port the patch to their glibc".  My reply is non-authoritative,
>> but if this has not been a problem for more than 3 years now, I do know
>> see large value backporting the feature to their older glibc release.
> 
> But if you don't backport, you can teach your toolchain to start
> producing binaries that fail to load on older glibc.  You will have to
> keep creating binaries that lack proper markup.
> 
> My concern is that we go through all this trouble to implement a version
> proper handshake, and yet Google binaries will still crash on older
> glibc.

Is ChromeOS glibc really binary compatible with glibc from other general
Linux distributions? Different from google/grte branches, ChromeOS seems 
to work by patching upstream glibc and my impression is they not really care 
nor aim to be (Fāng-ruì remarks also strength this idea).

In any case, ChromeOS's DT_RELR use does show that it is de facto a different
ABI, it is only unfortunate that its ELF ABI does not give us any standard
marking to advertise so (and we will need to resort on some hacking such as
scanning for some symbol or versioning to to do).

I am not sure if we should really care to handle such situations, it would
be nice if we can coordinate with ChromeOS to get it align its ABI with
mainstream and sort DT_RELR but I think *now* it is not a requisite and I
think we should move DT_RELR support independently.


More information about the Libc-alpha mailing list