[PATCH] Fix building tst-socket-timestamp-compat on older Linux
Florian Weimer
fweimer@redhat.com
Fri Feb 11 21:40:18 GMT 2022
* Tulio Magno Quites Machado Filho:
> Florian Weimer via Libc-alpha <libc-alpha@sourceware.org> writes:
>
>> * Tulio Magno Quites Machado Filho via Libc-alpha:
>>
>>> diff --git a/sysdeps/unix/sysv/linux/tst-socket-timestamp-compat.c b/sysdeps/unix/sysv/linux/tst-socket-timestamp-compat.c
>>> index 0ff1a214e6..68b0a0e412 100644
>>> --- a/sysdeps/unix/sysv/linux/tst-socket-timestamp-compat.c
>>> +++ b/sysdeps/unix/sysv/linux/tst-socket-timestamp-compat.c
>>> @@ -23,6 +23,23 @@
>>> #include <support/xunistd.h>
>>> #include <stdbool.h>
>>>
>>> +/* The following macros are only available on ABIs that support 32 bit time_t.
>>> + This test has a runtime check to guarantee it runs only on these ABIs.
>>> + However, we need to create fake values to guarantee this test is built
>>> + for all the ABIs. */
>>
>> Isn't this related to the kernel header version, and not just time32
>> support?
>
> The runtime test does depend on the kernel header version because it depends
> on the time_t size.
> However, the definition of these macros depends only on the value of
> __TIMESIZE, which doesn't depend on the kernel header [1].
>
> [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h;hb=HEAD#l50
What I meant is this: I see the same build failure on aarch64 with our
4.18-derived headers, but not with our 5.14-derived headers. This is on
the same architecture, so it can't be glibc's time32 support state.
Hmm, or is it that ILP32 aarch64 support was upstreamed between the two
kernel releases?
Thanks,
Florian
More information about the Libc-alpha
mailing list