diff mbox series

[uclibc-ng-devel,1/2] mips64n32, time64: Select correct _dl_fstat impl

Message ID 20240903141139.142037-1-dm.chestnykh@gmail.com
State Superseded
Headers show
Series [uclibc-ng-devel,1/2] mips64n32, time64: Select correct _dl_fstat impl | expand

Commit Message

Dmitry Chestnykh Sept. 3, 2024, 2:11 p.m. UTC
With time64 enabled we have to use statx() instead of stat() or fstat()
If the _dl_fstat implementation isn't selected correctly
we can have multiple errors inside dynamic linker
during startup of the system and of the almost every process

Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
---
 ldso/include/dl-syscall.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
index 180d03012..4b0d0f395 100644
--- a/ldso/include/dl-syscall.h
+++ b/ldso/include/dl-syscall.h
@@ -168,7 +168,7 @@  static __always_inline int _dl_stat(const char *file_name,
 #if defined __NR_fstat64 && !defined __NR_fstat && (!defined(__UCLIBC_USE_TIME64__) || defined(__sparc__))
 # define __NR__dl_fstat __NR_fstat64
 static __always_inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf)
-#elif defined __NR_fstat
+#elif defined __NR_fstat && !defined __UCLIBC_USE_TIME64__
 # define __NR__dl_fstat __NR_fstat
 static __always_inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf)
 #elif defined __NR_statx && defined __UCLIBC_HAVE_STATX__