Re: [PATCH resent] uapi libc compat: allow non-glibc to opt out of uapi definitions

From: Florian Weimer
Date: Tue Apr 25 2017 - 09:22:20 EST


On 03/09/2017 01:14 AM, Szabolcs Nagy wrote:
the other way (linux header included first) is
problematic because linux headers don't follow
all the standards the libc follows, they violate
namespace rules in their struct definitions, so
the libc definitions are necessarily incompatible
with them and thus different translation units can
end up refering to the same object through
incompatible types which is undefined.
(even if the abi matches and thus works across
the syscall interface, a sufficiently smart
toolchain can break such code at link time,
and since the libc itself uses its own definitons
that's what user code should use too).

I don't think this is relevant in this context. LTO implementations have to deal with this already. For glibc's sake alone, it must be supported to link together code using differing feature test macros.

Thanks,
Florian