io: Consolidate fts implementation

Remove wordsize-64 and arch-specific implementations, for ABIs when
off_t is the same as off64_t (__OFF_T_MATCHES_OFF64_T) the fts64.c
will create the requires aliases.

The fts.c implementation is moved to fts-common.c to simplify
the __OFF_T_MATCHES_OFF64_T usage.
This commit is contained in:
Adhemerval Zanella
2026-04-20 13:01:25 -03:00
parent 9b5e9799b6
commit b9a2dea54a
11 changed files with 2258 additions and 2233 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ gnulib:
io/cycle-check.h
io/dev-ino.h
io/fts-cycle.c
io/fts.c
io/fts-common.c
io/i-ring.c
io/same-inode.h
locale/programs/3level.h
+2208
View File
File diff suppressed because it is too large Load Diff
+16 -2201
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -33,5 +33,5 @@
# define STRUCT_STATFS statfs64
# define FSTATFS __fstatfs64
# include "fts.c"
# include "fts-common.c"
#endif
+32 -6
View File
@@ -16,11 +16,11 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#define FTS_OPEN fts64_open
#define FTS_CLOSE fts64_close
#define FTS_READ fts64_read
#define FTS_SET fts64_set
#define FTS_CHILDREN fts64_children
#define FTS_OPEN __fts64_open
#define FTS_CLOSE __fts64_close
#define FTS_READ __fts64_read
#define FTS_SET __fts64_set
#define FTS_CHILDREN __fts64_children
#define FTSOBJ FTS64
#define FTSENTRY FTSENT64
#define INO_T ino64_t
@@ -30,4 +30,30 @@
#define STRUCT_STATFS statfs64
#define FSTATFS __fstatfs64
#include "fts.c"
#define fts_open __rename_fts_open
#define fts_close __rename_fts_close
#define fts_read __rename_fts_read
#define fts_set __rename_fts_set
#define fts_children __rename_fts_children
#include "fts-common.c"
#undef fts_open
#undef fts_close
#undef fts_read
#undef fts_set
#undef fts_children
weak_alias (__fts64_open, fts64_open)
weak_alias (__fts64_close, fts64_close)
weak_alias (__fts64_read, fts64_read)
weak_alias (__fts64_set, fts64_set)
weak_alias (__fts64_children, fts64_children)
#ifdef __OFF_T_MATCHES_OFF64_T
weak_alias (__fts64_open, fts_open)
weak_alias (__fts64_close, fts_close)
weak_alias (__fts64_read, fts_read)
weak_alias (__fts64_set, fts_set)
weak_alias (__fts64_children, fts_children)
#endif
@@ -1 +0,0 @@
#include <io/fts.c>
@@ -1 +0,0 @@
#include <io/fts64.c>
-1
View File
@@ -1 +0,0 @@
#include <sysdeps/wordsize-64/fts.c>
@@ -1 +0,0 @@
#include <sysdeps/wordsize-64/fts64.c>
-19
View File
@@ -1,19 +0,0 @@
#define fts64_open __rename_fts64_open
#define fts64_close __rename_fts64_close
#define fts64_read __rename_fts64_read
#define fts64_set __rename_fts64_set
#define fts64_children __rename_fts64_children
#include "../../io/fts.c"
#undef fts64_open
#undef fts64_close
#undef fts64_read
#undef fts64_set
#undef fts64_children
weak_alias (fts_open, fts64_open)
weak_alias (fts_close, fts64_close)
weak_alias (fts_read, fts64_read)
weak_alias (fts_set, fts64_set)
weak_alias (fts_children, fts64_children)
-1
View File
@@ -1 +0,0 @@
/* Defined in fts.c. */