summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
authorPeter Seiderer <ps.report@gmx.net>2025-07-20 23:56:57 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2025-07-25 21:19:44 +0200
commit61b3c079bdb9ec99e67c17ec92a8479138213faf (patch)
tree60fb85e37964ff6d90452a005d9e49f4161adcc5 /libc/sysdeps/linux/common
parent203e99c51d708560b7da0be44fc33efc20035738 (diff)
utimes: force to use 64-bit implementation if available and requested (part II)
- fix dependency for libc_hidden_def(utimes) statement, fixes (on ARM-64bit): ./include/libc-symbols.h:431:32: error: '__EI_utimes' aliased to undefined symbol '__GI_utimes' 431 | extern __typeof (name) __EI_##name __attribute__((alias (__hidden_asmname1 (,#local)))) \ | ^~~~~ ./include/libc-symbols.h:435:41: note: in expansion of macro '__hidden_ver1' 435 | # define hidden_def(name) __hidden_ver1(__GI_##name, name, name); | ^~~~~~~~~~~~~ ./include/libc-symbols.h:503:32: note: in expansion of macro 'hidden_def' 503 | # define libc_hidden_def(name) hidden_def (name) | ^~~~~~~~~~ libc/sysdeps/linux/common/utimes.c:54:1: note: in expansion of macro 'libc_hidden_def' 54 | libc_hidden_def(utimes) | ^~~~~~~~~~~~~~~ - fix dependency for 64-bit implementation, fixes (on ARM-64bit): .../build/busybox-1.37.0/libbb/copy_file.c:433:(.text.copy_file+0x2b0): undefined reference to `utimes' Fixes: 48591e2a2 ("Provide fixups for riscv32.") Fixes: 5aee86ed3 ("utimes: force to use 64-bit implementation if available and requested") Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/utimes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c
index eb128d352..c471a9b89 100644
--- a/libc/sysdeps/linux/common/utimes.c
+++ b/libc/sysdeps/linux/common/utimes.c
@@ -9,7 +9,7 @@
#include <sys/syscall.h>
#include <sys/time.h>
-#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__)
+#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && (!defined __NR_utimes || defined(__UCLIBC_USE_TIME64__))
# include <fcntl.h>
# include <stddef.h>
int utimes(const char *file, const struct timeval tvp[2])
@@ -50,6 +50,6 @@ int utimes(const char *file, const struct timeval tvp[2])
}
#endif
-#if defined __NR_utimensat || defined __NR_utimensat_time64 || defined __NR_utimes || defined __NR_utime
+#if (((defined __NR_utimensat || defined __NR_utimensat_time64) && (!defined __NR_utimes || defined __UCLIBC_USE_TIME64__))) || defined __NR_utimes || defined __NR_utime
libc_hidden_def(utimes)
#endif