[PATCH] Improve performance of IO locks

Thomas Fitzsimmons fitzsim@fitzsim.org
Tue Aug 16 14:31:39 GMT 2022


Hi,

Thomas Fitzsimmons <fitzsim@fitzsim.org> writes:

> Wilco Dijkstra <Wilco.Dijkstra@arm.com> writes:
>
>>>> I looked at elf/unload as an example; it's segfaulting in
>>>> _dl_relocate_object, backtrace attached; not sure what else to check.
>>>
>>> I don't see this on powerpc64, with a toolchain based on GCC 8.2 and
>>> binutils 2.30.  I'm at a loss how these things could be related.
>>
>> I would not expect the dynamic linker to have changed at all, so one
>> option is to check the binary is identical before/after my commit. If
>> the dynamic linker somehow got some uses of SINGLE_THREAD_P then that
>> might access TLS before it is setup.
>
> elf/ld64.so.1 is identical before and after your change.
>
>> The other possibility is that the binary it is trying to link has
>> corrupted relocations.  It's hard to imagine how that could happen
>> unless you use the new GLIBC to link an application and fileio fails
>> to write out the data for the relocations.
>
> I don't know how to check this.  I'll contact you off-list to set up
> temporary remote access for you.

Before setting this up, I checked the system's package list.  This
builder is running Debian unstable, without unattended upgrades, so some
of the toolchain packages were out-of-date.

I did an upgrade (388 packages) and the issue seems to have disappeared,
so this was likely a toolchain bug that has since been fixed.  I have
the list of old and new package versions if anyone's interested.

Anyway, I think glibc-debian-ppc64 builds will succeed now.

Thomas


More information about the Libc-alpha mailing list