From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 312B439A0008 for ; Fri, 4 Jun 2021 19:39:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 312B439A0008 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-447-1nmINyYONWiO6A0uX0E46w-1; Fri, 04 Jun 2021 15:39:25 -0400 X-MC-Unique: 1nmINyYONWiO6A0uX0E46w-1 Received: by mail-qv1-f70.google.com with SMTP id i16-20020a0cf4900000b029022023514900so3022919qvm.11 for ; Fri, 04 Jun 2021 12:39:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=h/xX4kcoWoix40cdLBad86nR4w7VI3S+sIs0peECE8Q=; b=jwkH0HQLlATX3sj0ewcFnNLVLIO3BzNB6TnZ5rgXNi321sqDZg5e57mOqd3joAzL9Q ZN7rLAx88hzcBGChvi5XTDP0AlbxHRwfV5fWxAiG1NU7V977Y+LeKbs2TvwBiApDGlU9 QhYmR4htwLIEtWXWp3dG9XJ7YZBKlSjUF8MFMDyxSqRv3Q4LgDJsTwayP8zzzi8FlcSr akEay76tQJqZF62VZgjyQ3ju835nchK0mvs1DgSAJ/bRGO6qj5P15ytHAoFhw9EYqwlD qHSrF8VqyAAn9Z0JCb35JNhSHcb84YWTJ4x5kB15/sI64kSR9YjGPIeYc1RqzwDTEM3h tjzw== X-Gm-Message-State: AOAM533hGbZEQWo0aIJpV7Xn/l0SglecM8NFYgWybvKyICryxGqpkhVt PBvVWFDWvzXfFW3iSU23EbKDNSvyE6HmhpY5WdzOIlLaXBxhqszVv2I5O8K4vj9Oggxb32xD2QY vllSQGdXVTU2yV3cxScQ1 X-Received: by 2002:a05:620a:205e:: with SMTP id d30mr5695574qka.35.1622835564689; Fri, 04 Jun 2021 12:39:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwVSRYQ+w8olc6yonQFndSQmFaW+PCbwKxYDusPwVTjKUq/m/ZH1F4QgcrO5YO5CWJzY2cWEA== X-Received: by 2002:a05:620a:205e:: with SMTP id d30mr5695544qka.35.1622835564298; Fri, 04 Jun 2021 12:39:24 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id m67sm4641708qkd.108.2021.06.04.12.39.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Jun 2021 12:39:23 -0700 (PDT) Subject: Re: [PATCH v2 22/25] io: Add ftw64 with 64 bit time_t support To: Adhemerval Zanella , libc-alpha@sourceware.org References: <20210518205613.1487824-1-adhemerval.zanella@linaro.org> <20210518205613.1487824-23-adhemerval.zanella@linaro.org> From: Carlos O'Donell Organization: Red Hat Message-ID: <4fbcf525-ab9e-fba4-3f2b-7bae0d785375@redhat.com> Date: Fri, 4 Jun 2021 15:39:22 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210518205613.1487824-23-adhemerval.zanella@linaro.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jun 2021 19:39:37 -0000 On 5/18/21 4:56 PM, Adhemerval Zanella wrote: > Similar to fts, ftw routines passes a stat pointer that might > differ of size and layout when 64 bit time API is used. > LGTM. No regressions on x86_64, i686, ppc64le, aarch64, s390x. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell > Checked on i686-linux-gnu and x86_64-linux-gnu. > --- > include/ftw.h | 18 ++++++++ > io/Makefile | 4 +- > io/ftw.c | 5 +- > io/ftw.h | 46 ++++++++++++++++++- > io/ftw64-time64.c | 34 ++++++++++++++ > sysdeps/unix/sysv/linux/Versions | 2 + > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + > sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + > sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + > .../sysv/linux/m68k/coldfire/libc.abilist | 2 + > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + > .../sysv/linux/microblaze/be/libc.abilist | 2 + > .../sysv/linux/microblaze/le/libc.abilist | 2 + > .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + > .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + > .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + > .../powerpc/powerpc32/nofpu/libc.abilist | 2 + > .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + > .../sysv/linux/sparc/sparc32/libc.abilist | 2 + > 25 files changed, 141 insertions(+), 6 deletions(-) > create mode 100644 io/ftw64-time64.c > > diff --git a/include/ftw.h b/include/ftw.h > index 4fb654cf22..8fb89c4046 100644 > --- a/include/ftw.h > +++ b/include/ftw.h > @@ -1 +1,19 @@ > +#ifndef _FTW_H > #include > + > +#ifndef _ISOMAC > +# if __TIMESIZE != 64 > +# include > + > +typedef int (*__ftw64_time64_func_t) (const char *, > + const struct __stat64_t64 *, int); > +typedef int (*__nftw64_time64_func_t) (const char *, > + const struct __stat64_t64 *, int, > + struct FTW *); > + > +extern int __ftw64_time64 (const char *, __ftw64_time64_func_t, int); > +extern int __nftw64_time64 (const char *, __nftw64_time64_func_t, int, int); OK. Variants. > +# endif > +#endif > + > +#endif /* _FTW_H */ > diff --git a/io/Makefile b/io/Makefile > index 12c832cfcb..d35e966258 100644 > --- a/io/Makefile > +++ b/io/Makefile > @@ -55,7 +55,8 @@ routines := \ > posix_fallocate posix_fallocate64 \ > sendfile sendfile64 copy_file_range \ > utimensat futimens file_change_detection \ > - fts64-time64 > + fts64-time64 \ > + ftw64-time64 OK. New. > > others := pwd > test-srcs := ftwtest > @@ -106,6 +107,7 @@ CFLAGS-fts64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions > CFLAGS-fts64-time64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions > CFLAGS-ftw.c += $(uses-callbacks) -fexceptions > CFLAGS-ftw64.c += $(uses-callbacks) -fexceptions > +CFLAGS-ftw64-time64.c += $(uses-callbacks) -fexceptions > CFLAGS-posix_fallocate.c += -fexceptions > CFLAGS-posix_fallocate64.c += -fexceptions > CFLAGS-fallocate.c += -fexceptions > diff --git a/io/ftw.c b/io/ftw.c > index baca3deeee..ce1c6a14a3 100644 > --- a/io/ftw.c > +++ b/io/ftw.c > @@ -821,7 +821,7 @@ FTW_NAME (const char *path, FTW_FUNC_T func, int descriptors) > return ftw_startup (path, 0, func, descriptors, 0); > } > > -#ifndef _LIBC > +#ifndef NFTW_OLD_NAME > int > NFTW_NAME (const char *path, NFTW_FUNC_T func, int descriptors, int flags) > { > @@ -844,7 +844,6 @@ NFTW_NEW_NAME (const char *path, NFTW_FUNC_T func, int descriptors, int flags) > } > return ftw_startup (path, 1, func, descriptors, flags); > } > - > versioned_symbol (libc, NFTW_NEW_NAME, NFTW_NAME, GLIBC_2_3_3); > > # if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_3_3) > @@ -863,4 +862,4 @@ NFTW_OLD_NAME (const char *path, NFTW_FUNC_T func, int descriptors, int flags) > > compat_symbol (libc, NFTW_OLD_NAME, NFTW_NAME, GLIBC_2_1); > # endif > -#endif > +#endif /* NFTW_OLD_NAME */ > diff --git a/io/ftw.h b/io/ftw.h > index 751d689cdb..446498856d 100644 > --- a/io/ftw.h > +++ b/io/ftw.h > @@ -137,15 +137,36 @@ extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors) > __nonnull ((1, 2)); > #else > # ifdef __REDIRECT > +# ifndef __USE_TIME_BITS64 > extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func, > int __descriptors), ftw64) __nonnull ((1, 2)); > +# else > +extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func, > + int __descriptors), __ftw64_time64) OK. Redirect. > + __nonnull ((1, 2)); > +# endif > # else > -# define ftw ftw64 > +# ifndef __USE_TIME_BITS64 > +# define ftw ftw64 > +# else > +# define ftw __ftw64_time64 > +# endif > # endif > #endif > #ifdef __USE_LARGEFILE64 > +# ifndef __USE_TIME_BITS64 > extern int ftw64 (const char *__dir, __ftw64_func_t __func, > int __descriptors) __nonnull ((1, 2)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (ftw64, (const char *__dir, __ftw64_func_t __func, > + int __descriptors), > + __ftw64_time64) > + __nonnull ((1, 2)); > +# else > +# define nftw64 __nftw64_time64 > +# endif > +# endif > #endif > > #ifdef __USE_XOPEN_EXTENDED > @@ -159,16 +180,37 @@ extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors, > int __flag) __nonnull ((1, 2)); > # else > # ifdef __REDIRECT > +# ifndef __USE_TIME_BITS64 > extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func, > int __descriptors, int __flag), nftw64) > __nonnull ((1, 2)); > +# else > +extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func, > + int __descriptors, int __flag), __nftw64_time64) > + __nonnull ((1, 2)); > +# endif > # else > -# define nftw nftw64 > +# ifndef __USE_TIME_BITS64 > +# define nftw nftw64 > +# else > +# define nftw __nftw64_time64 > +# endif > # endif > # endif > # ifdef __USE_LARGEFILE64 > +# ifndef __USE_TIME_BITS64 > extern int nftw64 (const char *__dir, __nftw64_func_t __func, > int __descriptors, int __flag) __nonnull ((1, 2)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (nftw64, (const char *__dir, __nftw64_func_t __func, > + int __descriptors, int __flag), > + __nftw64_time64) > + __nonnull ((1, 2)); > +# else > +# define nftw64 __nftw64_time64 > +# endif > +# endif > # endif > #endif > > diff --git a/io/ftw64-time64.c b/io/ftw64-time64.c > new file mode 100644 > index 0000000000..7c9db5448a > --- /dev/null > +++ b/io/ftw64-time64.c > @@ -0,0 +1,34 @@ > +/* File tree walker functions. LFS version. > + Copyright (C) 1996-2021 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + Contributed by Ulrich Drepper , 1996. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +#include > + > +#if __TIMESIZE != 64 > +# define FTW_NAME __ftw64_time64 > +# define NFTW_NAME __nftw64_time64 > +# define INO_T ino64_t > +# define STRUCT_STAT __stat64_t64 > +# define LSTAT __lstat64_time64 > +# define STAT __stat64_time64 > +# define FSTATAT __fstatat64_time64 > +# define FTW_FUNC_T __ftw64_time64_func_t > +# define NFTW_FUNC_T __nftw64_time64_func_t > + > +# include "ftw.c" OK. > +#endif > diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions > index eb258a7333..84063d808c 100644 > --- a/sysdeps/unix/sysv/linux/Versions > +++ b/sysdeps/unix/sysv/linux/Versions > @@ -194,6 +194,8 @@ libc { > __fts64_read_time64; > __fts64_set_time64; > __fts64_children_time64; > + __ftw64_time64; > + __nftw64_time64; > __getitimer64; > __getrusage64; > __gettimeofday64; > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index 4bdf41cae0..829ecfec18 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -207,6 +207,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -226,6 +227,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index e7bd82b036..5653b99cf0 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -204,6 +204,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -223,6 +224,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index 857bc753e3..e158505191 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -2284,6 +2284,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2303,6 +2304,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 3c94e046c5..788b0fbb29 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -2237,6 +2237,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2256,6 +2257,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index 6b2f6e3ba9..2ca1bc3408 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2419,6 +2419,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2439,6 +2440,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 9379012dd9..5711de528e 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -208,6 +208,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -227,6 +228,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index 15142aae53..514a8f321e 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2363,6 +2363,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2382,6 +2383,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index fb73ff10d0..a68e3e8422 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -2335,6 +2335,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2354,6 +2355,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index fafcf2f255..e5412abb67 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -2332,6 +2332,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2351,6 +2352,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index af82e41244..836e33db28 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2328,6 +2328,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2347,6 +2348,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index 9d7afa11f3..30fe740a12 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2326,6 +2326,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2345,6 +2346,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 3bbd2468d7..345a35807e 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2334,6 +2334,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2353,6 +2354,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index e3b4f8bd9d..aba934d286 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -2374,6 +2374,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2393,6 +2394,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index f0756a3997..bd0f351037 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2390,6 +2390,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2409,6 +2410,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index 9e4bf76ba1..4b613fe9ba 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2423,6 +2423,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2442,6 +2443,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 56db45a52d..8e7ca663e8 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2388,6 +2388,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2407,6 +2408,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index dbfdc3571f..74fb49fc37 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -2244,6 +2244,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2263,6 +2264,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index 4b959c0f79..8b9df6cd1e 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -2241,6 +2241,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2260,6 +2261,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 95fea73af5..023232a00b 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2381,6 +2381,7 @@ GLIBC_2.34 __fts64_close_time64 F > GLIBC_2.34 __fts64_open_time64 F > GLIBC_2.34 __fts64_read_time64 F > GLIBC_2.34 __fts64_set_time64 F > +GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > @@ -2400,6 +2401,7 @@ GLIBC_2.34 __mktime64 F > GLIBC_2.34 __msgctl64 F > GLIBC_2.34 __mtx_timedlock64 F > GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __nftw64_time64 F > GLIBC_2.34 __ntp_gettime64 F > GLIBC_2.34 __ntp_gettimex64 F > GLIBC_2.34 __ppoll64 F > OK. -- Cheers, Carlos.