This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: Move cache line size to rtld_global_ro
On 09/01/2020 15:49, Tulio Magno Quites Machado Filho wrote:
> Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
>
>> This is BZ#20802 and I although we might fix it by adding the initialization
>> on dl-static.c, I think Florian suggestion [1] to proper initialize shared ld.so
>> variables is a better overall solution. However it is also a much more extensive
>> change and not feasible on current release phase.
>
> Ack.
>
>> I don't see how easily we would fix it, it probability require to change
>> how errno is definde in static manner and most likely more hacks to use
>> the one from loaded libc.so. This would also require some discussion if it
>> is really an expected scenario we should support.
>
> Makes sense.
>
>>> Would it be fine if I disabled the failing tests while we do not have a fix
>>> for BZ #25335?
>>
>> You can change the test to save/restore a passed errno in the wrapper
>> if it is required to check for errno value. I don't see provide a
>> fix for BZ#25535 as a blocker here.
>
> What are you referring as a wrapper in the getauxval() case?
>
Yes, on the test. Something like:
unsigned long int
getauxval_wrapper (unsigned long type, int *errnop)
{
errno = *errnop;
unsigned long int r = getauxval (type);
*errnop = errno;
return r;
}
And then you use on static build which will dlopen it:
{
unsigned long int (*wrapper)(unsigned long, int *)
= xdlsym (handler, "getauxval_wrapper");
int ierrno = 0;
TEST_COMPARE (wrapper (...), ...);
TEST_COMPARE (ierrno, ...);
}