PATCH: BZ #14664: changing prefix breaks "make check-abi-libc"

David Miller davem@davemloft.net
Mon Dec 10 05:30:00 GMT 2012


From: Siddhesh Poyarekar <siddhesh@redhat.com>
Date: Mon, 10 Dec 2012 10:35:27 +0530

>> Could you please explain how this is different than just deleting the symbol?
>> 
>> Your changes make the test for this particular symbol a tautology.
>> 
>> You check to see that the size is the size you set which is always true.
>> 
>> The check you want is to see if the size you set matches the expected ABI size.
>> 
> 
> In case of a prefix + a constant in a data symbol, the latter should
> be unchanging from the viewpoint of glibc, while the former is the
> responsibility of the distribution.  IMO, trying to check if some
> prefix is a pre-computed value is not a sensible ABI check from the
> glibc point of view.

I completely disagree.

Every distribution sets the prefix to /usr

Therefore, every binary compiled against those GLIBC's has
that symbol's fixed size in any R_*_COPY relocations referencing
those symbols.

Therefore, changing the size of the symbol will make the dynamic
linker ERROR and the application will fail, since the dynamic linker
checks the R_*_COPY relocations size against the one in symbol itself.

It is part of the ABI, whether you like it or not.

Removing this check is wrong.



More information about the Libc-alpha mailing list