about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/fxstatat.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/fxstatat.c')
-rw-r--r--sysdeps/mach/hurd/fxstatat.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sysdeps/mach/hurd/fxstatat.c b/sysdeps/mach/hurd/fxstatat.c
index 48ae4b49ad..b71ab9fad5 100644
--- a/sysdeps/mach/hurd/fxstatat.c
+++ b/sysdeps/mach/hurd/fxstatat.c
@@ -19,14 +19,18 @@
 #include <errno.h>
 #include <stddef.h>
 #include <sys/stat.h>
+#include <hurd.h>
+#include <shlib-compat.h>
 
-#include "xstatconv.c"
+#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
 
 int
 __fxstatat (int vers, int fd, const char *filename, struct stat *buf, int flag)
 {
-  struct stat64 buf64;
-  return (__fxstatat64 (vers, fd, filename, &buf64, flag)
-	  ?: xstat64_conv (buf, &buf64));
+  if (vers != _STAT_VER)
+    return __hurd_fail (EINVAL);
+
+  return __fstatat (fd, filename, buf, flag);
 }
-libc_hidden_def (__fxstatat)
+
+#endif