openwrt/tools
Michael Pratt f864b83b1d tools/fakeroot: fix check for whether to wrap time64 functions
Fakeroot uses an egrep configure check to look for the string "time64"
within a preprocessed include of the sys/stat.h header
in order to decide whether or not to create declarations
and internal functions used for wrapping the native functions
stat64_time64 fstat64_time64 lstat64_time64 and fstatat64_time64.

On specific older versions of glibc these functions are not included,
but there are some references to "time64" unrelated to functions,
like aliasing the time64_t typedef to the standard time_t typedef
when the size of a word is 64 bits or defining it if not.

In this case, a grep for "stat64"
of the preprocessed sys/stat.h header matches nothing,
however, the grep for "time64" in the configure check
of the preprocessed sys/stat.h header matches a line
that has nothing to do with the functions
that will be wrapped as a result of successful matching.

  __extension__ typedef __int64_t __time64_t;

This causes the attempt to wrap the functions to occur,
which fails due to some of the corresponding macros being empty
since the native declarations they are based on do not exist,
causing a common error claiming that a part of the syntax is missing.

  error: expected '=', ',', ';', 'asm' or '__attribute__' before ...

Fix this by making the testing regular expression more complex
in order to match actual function names ending in "_time64"
with or without a set of preceding underscores, but none after.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15773
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-06-22 20:42:45 +02:00
..
7z
autoconf
autoconf-archive
automake
b43-tools
bash
bc
bison
bzip2
cbootimage
cbootimage-configs
ccache tools/ccache: update to 4.10.0 2024-06-10 16:08:19 +02:00
cmake tools/cmake: update to 3.29.5 2024-06-10 01:27:02 +02:00
coreutils tools/coreutils: ignore gnulib changes to fcntl.h 2024-06-19 11:22:13 +02:00
cpio
dosfstools
dwarves tools/dwarves: update to v1.27 2024-06-13 14:16:33 +02:00
e2fsprogs
elftosb tools: refresh all patches 2024-05-23 11:49:03 +02:00
elfutils tools/elfutils: add more pkg-config library info 2024-06-19 11:22:13 +02:00
expat
fakeroot tools/fakeroot: fix check for whether to wrap time64 functions 2024-06-22 20:42:45 +02:00
findutils tools/findutils: update to 4.10.0 2024-06-10 13:02:06 +02:00
firmware-utils tools: firmware-utils: update to Git HEAD (2024-06-20) 2024-06-21 13:34:32 +02:00
flex
flock
genext2fs
gengetopt
gmp
gnulib tools/gnulib: add fallocate-posix module 2024-06-19 11:22:13 +02:00
include
isl
libdeflate
liblzo tools: refresh all patches 2024-05-23 11:49:03 +02:00
libressl
libtool
llvm-bpf
lz4 tools/lz4: remove patches 2024-05-23 11:49:02 +02:00
lzma tools: refresh all patches 2024-05-23 11:49:03 +02:00
lzma-old
lzop tools: refresh all patches 2024-05-23 11:49:03 +02:00
m4
make-ext4fs
meson
missing-macros tools/missing-macros: install files from HOST_BUILD_DIR instead of src 2024-05-22 11:53:52 +02:00
mkimage tools/mkimage: update to v2024.04 2024-05-29 10:43:50 +02:00
mklibs
mold tools: mold: update to 2.31.0 2024-05-09 10:45:29 +02:00
mpc
mpfr
mtd-utils
mtools
ninja
padjffs2 tools/padjffs2: use Host/Prepare/Default instead of raw commands 2024-05-22 11:56:45 +02:00
patch tools: refresh all patches 2024-05-23 11:49:03 +02:00
patch-image
patchelf
pkgconf tools/pkgconf: update to 2.2.0 2024-06-14 15:27:39 +02:00
quilt tools/quilt: update to 0.68 2024-06-09 21:23:28 +02:00
sdimage
sed
sparse tools/sparse: fix compilation with GCC14 2024-06-16 22:40:42 +02:00
squashfs3-lzma
squashfs4
sstrip
tar tools: tar: update to 1.35 2024-06-18 19:49:54 +02:00
util-linux tools: util-linux: update to v2.40.1 2024-06-20 14:06:41 +02:00
xz
yafut tools: add Yafut to enable creating Yaffs filesystem images 2024-06-05 17:03:24 +02:00
zip
zlib
zstd
Makefile tools: remove kernel2minor 2024-06-05 17:03:24 +02:00