Explorar o código

open64: Use openat if arch does not have the open syscall

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Markos Chandras %!s(int64=11) %!d(string=hai) anos
pai
achega
585ee9c4e7
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      libc/sysdeps/linux/common/open64.c

+ 4 - 1
libc/sysdeps/linux/common/open64.c

@@ -21,8 +21,11 @@ int open64(const char *file, int oflag, ...)
 		mode = va_arg (arg, mode_t);
 		va_end (arg);
 	}
-
+#if defined __NR_openat && !defined __NR_open
+	return openat(AT_FDCWD, file, oflag | O_LARGEFILE, mode);
+#else
 	return open(file, oflag | O_LARGEFILE, mode);
+#endif
 }
 lt_strong_alias(open64)
 lt_libc_hidden(open64)