From faa3bc7b7c661857925250d795c35d5c75dd4ca5 Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Fri, 12 Oct 2012 11:42:22 +0100 Subject: not-cancel.h: Use openat if arch does not have the open syscall Signed-off-by: Markos Chandras Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/not-cancel.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libc/sysdeps/linux/common') diff --git a/libc/sysdeps/linux/common/not-cancel.h b/libc/sysdeps/linux/common/not-cancel.h index 555ca4f4a..08dab8c9d 100644 --- a/libc/sysdeps/linux/common/not-cancel.h +++ b/libc/sysdeps/linux/common/not-cancel.h @@ -23,10 +23,17 @@ #ifdef NOT_IN_libc /* Uncancelable open. */ +#if defined __NR_openat && !defined __NR_open +#define open_not_cancel(name, flags, mode) \ + INLINE_SYSCALL (openat, 4, AT_FDCWD, (const char *) (name), (flags), (mode)) +#define open_not_cancel_2(name, flags) \ + INLINE_SYSCALL (openat, 3, AT_FDCWD, (const char *) (name), (flags)) +#else #define open_not_cancel(name, flags, mode) \ INLINE_SYSCALL (open, 3, (const char *) (name), (flags), (mode)) #define open_not_cancel_2(name, flags) \ INLINE_SYSCALL (open, 2, (const char *) (name), (flags)) +#endif #if 0 /* Uncancelable openat. */ -- cgit v1.2.3