about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sys/stat.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/sys/stat.h b/include/sys/stat.h
index 37a526069f..be9bdd0c42 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -1 +1,13 @@
 #include <io/sys/stat.h>
+
+/* The `stat', `fstat', `lstat' functions have to be handled special since
+   even while not compiling the library with optimization calls to these
+   functions in the shared library must reference the `xstat' etc functions.
+   We have to use macros but we cannot define them in the normal headers
+   since on user level we must use real functions.  */
+#define stat(fname, buf) __xstat (_STAT_VER, fname, buf)
+#define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+#define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
+#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
+#define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
+#define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)