This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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, ...);
  }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]