support linux kernel apis (new archs) with old syscalls removed
[oweals/musl.git] / src / stat / lstat.c
index afdb553841ec1106bcccb0f0c90ce16268196649..5e8b84fcffad624fb426986681996a575b3f87f8 100644 (file)
@@ -1,10 +1,15 @@
 #include <sys/stat.h>
+#include <fcntl.h>
 #include "syscall.h"
 #include "libc.h"
 
-int lstat(const char *path, struct stat *buf)
+int lstat(const char *restrict path, struct stat *restrict buf)
 {
-       return syscall2(__NR_lstat64, (long)path, (long)buf);
+#ifdef SYS_lstat
+       return syscall(SYS_lstat, path, buf);
+#else
+       return syscall(SYS_fstatat, AT_FDCWD, path, buf, AT_SYMLINK_NOFOLLOW);
+#endif
 }
 
 LFS64(lstat);