This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v3] elf: Add tst-ldconfig-bad-aux-cache test [BZ #18093]
On 5/13/19 1:01 PM, Joseph Myers wrote:
> On Mon, 13 May 2019, Carlos O'Donell wrote:
>
>> sysdeps/generic/ldconfig.h:
>>
>> 48 /* Name of auxiliary cache. */
>> 49 #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
>> 50
>>
>> However, we do allow users to override with --localstatedir and provide
>> an alternative path instead of the default /var. Nobody has probably
>> tried to do this or they just worked around it.
>>
>> So the build of glibc itself will appear to ignore --localstatedir
>> even when specified and read the aux-cache from a fixed location.
>
> There are lots of other places with such hardcoded paths. See e.g. bug
> 20138 asking for --sysconfdir to be respected. Note that some such paths
> are in installed headers, including paths.h; should those paths in
> installed headers also depend on configure options?
Would the _nl_default_dirname discussion set some precedent for this?
https://sourceware.org/bugzilla/show_bug.cgi?id=14664
https://sourceware.org/ml/libc-alpha/2012-12/msg00192.html
Namely that paths.h is not a part of the ABI, and therefore configure
options can and should change the values in the header to match.
The general agreement in _nl_default_dirname was:
* Configure options should not change ABI.
* Any option that changes ABI was likely a broken API design e.g. _nl_default_dirname
and the generated COPY relocations it exposes are part of the ABI.
If you want a substantially different ABI then I feel you should be
creating a new target with it's own ABI.
--
Cheers,
Carlos.