This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] RFC: avoid cancellable I/O primitives in ld.so
On Wed, Apr 4, 2018 at 3:47 AM, Andreas Schwab <schwab@suse.de> wrote:
> On Apr 03 2018, Zack Weinberg <zackw@panix.com> wrote:
>
>> The Makefile logic for deciding which libc objects will be recompiled
>> as part of librtld.a does not know this, so libc-cancellation.c,
>> unwind.c, and unwind-forcedunwind.c get dragged into ld.so
>> unnecessarily.
>
> Are they? I don't see that here, they are just needlessly compiled.
You seem to be right about that. They are included in rtld-libc.a,
but not in librtld.os (the last partial link stage before we actually
create ld.so).
I still think the patch is worthwhile. It makes the design goal (no
cancellation within ld.so) evident in the source code, it avoids the
needless compilation of files that aren't going to be used, and
splitting the nocancel functions into their own source files means we
don't need messy #ifdeffage in every single one.
zw