[PATCH] Fix conform linknamespace tests due to gnu_dev_makedev

Florian Weimer fw@deneb.enyo.de
Wed Mar 31 09:31:30 GMT 2021


* Stefan Liebler via Libc-alpha:

> If building on s390 / i686 with -Os, various conformance
> tests are failing with e.g.
> conform/ISO/assert.h/linknamespace.out:
> [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __getcwd -> [libc.a(getcwd.o)] __fstatat64 -> [libc.a(fstatat64.o)] gnu_dev_makedev
>
> The usage of gnu_dev_makedev was recently introduced by
> usage of the makedev makro in commit:
> 5b980d4809913088729982865188b754939bcd39
> linux: Use statx for MIPSn64
>
> This patch is now linking against __gnu_dev_makedev as
> also done in commit:
> 8b4a118222c7ed41bc653943b542915946dff1dd
> Fix -Os gnu_dev_* linknamespace, localplt issues (bug 15105, bug 19463).
> ---
>  sysdeps/unix/sysv/linux/fstatat64.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/unix/sysv/linux/fstatat64.c b/sysdeps/unix/sysv/linux/fstatat64.c
> index 31d3253044..f968e4ef05 100644
> --- a/sysdeps/unix/sysv/linux/fstatat64.c
> +++ b/sysdeps/unix/sysv/linux/fstatat64.c
> @@ -53,8 +53,8 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf,
>      return r;
>  
>    *buf = (struct __stat64_t64) {
> -    .st_dev = makedev (tmp.stx_dev_major, tmp.stx_dev_minor),
> -    .st_rdev = makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor),
> +    .st_dev = __gnu_dev_makedev (tmp.stx_dev_major, tmp.stx_dev_minor),
> +    .st_rdev = __gnu_dev_makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor),
>      .st_ino = tmp.stx_ino,
>      .st_mode = tmp.stx_mode,
>      .st_nlink = tmp.stx_nlink,

Looks reasonable, thanks.


More information about the Libc-alpha mailing list