Re: [Buildroot] [PATCH] package/uclibc: bump to 1.0.57

Julien Olivain via buildroot
2026-03-02T21:20:39Z

Hi Waldemar,

On 02/03/2026 18:23, Waldemar Brodkorb wrote:
> Hi Julien,
> Julien Olivain wrote,
>
>> Hi Waldemar,
>>
>> Thanks for the patch.
>>
>> On 01/03/2026 13:42, Waldemar Brodkorb wrote:
>> > Following changes made it into the release:
>> >
>> > Joris van Rantwijk (1):
>> > Fix adjtimex() with TIME64
>> >
>> > Waldemar Brodkorb (8):
>> > sys/stat.h: remove _STAT_VER/_MKNOD_VER
>> > fix gettid() declaration
>> > add statx syscall wrapper
>>
>> This new uclibc version is introducing a test failure
>> with zfs. See:
>> https://gitlab.com/jolivain/buildroot/-/jobs/13308829775
>>
>> Running with the previous uclibc 1.0.56 works fine:
>> https://gitlab.com/jolivain/buildroot/-/jobs/13308875027
>>
>> It seems related to commit:
>> https://github.com/wbx-github/uclibc-ng/commit/d3a819aff25af436e22abd5ba01ff2cfc0631b32
>>
>> Do you have any idea which component should be fixed?
>> (uclibc, zfs, or the rutime test_xzf?)
>
> It is uclibc-ng fault. A fix and a patch v2 will follow.

I looked a bit more into this. The statx headers for glibc and uclibc-ng
are indeed the same:

https://sourceware.org/git/?p=glibc.git;a=blob;f=io/bits/statx-generic.h;h=9bb9701dc67eccad968b338aeb15d87378fe65cd;hb=ea37298b65bd67f94c3c2640e91ec5865a5019ad#l66

https://github.com/wbx-github/uclibc-ng/blob/v1.0.57/libc/sysdeps/linux/common/bits/statx.h#L88

On its side, zfs is (re)defining the function slightly
differently in its test:
https://github.com/openzfs/zfs/blob/zfs-2.4.1/tests/zfs-tests/cmd/statx.c#L57-L59

Also, this test does not include the <sys/stat.h> header. It includes
only <fcntl.h>. In the case this test is compiled with glibc, stat.h
is never included, so the error does not happen.

For some reason, in the uclibc-ng case, sys/stat.h gets
included from fcntl.h, generating the error. See:
https://gitlab.com/jolivain/buildroot/-/jobs/13308829775#L237

Maybe the zfs statx test should protect the statx() definition
with a "#ifndef HAVE_STATX".

Or could uclibc avoid to include sys/stat.h from fcntl.h,
when it's not needed?

What do you think?

> best regards
> Waldemar

Best regards,

Julien.