Fixes 64-/32-bit time_t regression on ARM32 (reported for buildroot, see [1] for details).
[1] https://gitlab.com/buildroot.org/buildroot/-/issues/128
Fixes: 48591e2a2 ("Provide fixups for riscv32.") Signed-off-by: Peter Seiderer ps.report@gmx.net --- libc/sysdeps/linux/common/utimes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index a28594dfd..eb128d352 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 __NR_utimes +#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__) # include <fcntl.h> # include <stddef.h> int utimes(const char *file, const struct timeval tvp[2])
Hi Peter,
Thanks a lot! Committed and pushed, best regards Waldemar
Peter Seiderer wrote,
Fixes 64-/32-bit time_t regression on ARM32 (reported for buildroot, see [1] for details).
[1] https://gitlab.com/buildroot.org/buildroot/-/issues/128
Fixes: 48591e2a2 ("Provide fixups for riscv32.") Signed-off-by: Peter Seiderer ps.report@gmx.net
libc/sysdeps/linux/common/utimes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index a28594dfd..eb128d352 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 __NR_utimes +#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__) # include <fcntl.h> # include <stddef.h> int utimes(const char *file, const struct timeval tvp[2]) -- 2.50.1
devel mailing list -- devel@uclibc-ng.org To unsubscribe send an email to devel-leave@uclibc-ng.org
Hi Peter,
damn it. I only tested ARM32 and RISCV32. The commits breaks AARCH64 building. Can you have a look please?
best regards Waldemar
Peter Seiderer wrote,
Fixes 64-/32-bit time_t regression on ARM32 (reported for buildroot, see [1] for details).
[1] https://gitlab.com/buildroot.org/buildroot/-/issues/128
Fixes: 48591e2a2 ("Provide fixups for riscv32.") Signed-off-by: Peter Seiderer ps.report@gmx.net
libc/sysdeps/linux/common/utimes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index a28594dfd..eb128d352 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 __NR_utimes +#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__) # include <fcntl.h> # include <stddef.h> int utimes(const char *file, const struct timeval tvp[2]) -- 2.50.1
devel mailing list -- devel@uclibc-ng.org To unsubscribe send an email to devel-leave@uclibc-ng.org
Hello Waldemar,
On Sun, 20 Jul 2025 11:27:27 +0200, Waldemar Brodkorb wbx@openadk.org wrote:
Hi Peter,
damn it. I only tested ARM32 and RISCV32. The commits breaks AARCH64 building. Can you have a look please?
Already feared that the second part of the problematic commit 48591e2a2 ("Provide fixups for riscv32.") about the libc_hidden_def(utimes) statement needs a fix too..., something like the following:
--- a/libc/sysdeps/linux/common/utimes.c +++ b/libc/sysdeps/linux/common/utimes.c @@ -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(__UCLIBC_USE_TIME64__)) || (!defined __NR_utimes && defined __NR_utime) libc_hidden_def(utimes) #endif
Regards, Peter
best regards Waldemar
Peter Seiderer wrote,
Fixes 64-/32-bit time_t regression on ARM32 (reported for buildroot, see [1] for details).
[1] https://gitlab.com/buildroot.org/buildroot/-/issues/128
Fixes: 48591e2a2 ("Provide fixups for riscv32.") Signed-off-by: Peter Seiderer ps.report@gmx.net
libc/sysdeps/linux/common/utimes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index a28594dfd..eb128d352 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 __NR_utimes +#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__) # include <fcntl.h> # include <stddef.h> int utimes(const char *file, const struct timeval tvp[2]) -- 2.50.1
devel mailing list -- devel@uclibc-ng.org To unsubscribe send an email to devel-leave@uclibc-ng.org
Hello Waldemar,
On Sun, 20 Jul 2025 13:02:48 +0200, Peter Seiderer ps.report@gmx.net wrote:
Hello Waldemar,
On Sun, 20 Jul 2025 11:27:27 +0200, Waldemar Brodkorb wbx@openadk.org wrote:
Hi Peter,
damn it. I only tested ARM32 and RISCV32. The commits breaks AARCH64 building. Can you have a look please?
Already feared that the second part of the problematic commit 48591e2a2 ("Provide fixups for riscv32.") about the libc_hidden_def(utimes) statement needs a fix too..., something like the following:
--- a/libc/sysdeps/linux/common/utimes.c +++ b/libc/sysdeps/linux/common/utimes.c @@ -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(__UCLIBC_USE_TIME64__)) || (!defined __NR_utimes && defined __NR_utime) libc_hidden_def(utimes) #endif
Fixes the libc_hidden_def(utimes) problem, but leads to linking error later on..., corrected version:
--- 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
Will send a proper patch soon...
Regards, Peter
Regards, Peter
best regards Waldemar
Peter Seiderer wrote,
Fixes 64-/32-bit time_t regression on ARM32 (reported for buildroot, see [1] for details).
[1] https://gitlab.com/buildroot.org/buildroot/-/issues/128
Fixes: 48591e2a2 ("Provide fixups for riscv32.") Signed-off-by: Peter Seiderer ps.report@gmx.net
libc/sysdeps/linux/common/utimes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index a28594dfd..eb128d352 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 __NR_utimes +#if (defined (__NR_utimensat) || defined(__NR_utimensat_time64)) && defined(__UCLIBC_USE_TIME64__) # include <fcntl.h> # include <stddef.h> int utimes(const char *file, const struct timeval tvp[2]) -- 2.50.1
devel mailing list -- devel@uclibc-ng.org To unsubscribe send an email to devel-leave@uclibc-ng.org
Hi Peter, Peter Seiderer wrote,
Fixes the libc_hidden_def(utimes) problem, but leads to linking error later on..., corrected version:
Yeah, I also seen busybox linking errors after applying your patch. I though I didn't cleaned up the build and restarted it right now.
Will send a proper patch soon...
That would be great. Thanks. Waldemar