|
@@ -277,6 +277,11 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, \
|
|
#define TARGET_NR__llseek TARGET_NR_llseek
|
|
#define TARGET_NR__llseek TARGET_NR_llseek
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+/* some platforms need to mask more bits than just TARGET_O_NONBLOCK */
|
|
|
|
+#ifndef TARGET_O_NONBLOCK_MASK
|
|
|
|
+#define TARGET_O_NONBLOCK_MASK TARGET_O_NONBLOCK
|
|
|
|
+#endif
|
|
|
|
+
|
|
#define __NR_sys_gettid __NR_gettid
|
|
#define __NR_sys_gettid __NR_gettid
|
|
_syscall0(int, sys_gettid)
|
|
_syscall0(int, sys_gettid)
|
|
|
|
|
|
@@ -7777,7 +7782,7 @@ static abi_long do_signalfd4(int fd, abi_long mask, int flags)
|
|
sigset_t host_mask;
|
|
sigset_t host_mask;
|
|
abi_long ret;
|
|
abi_long ret;
|
|
|
|
|
|
- if (flags & ~(TARGET_O_NONBLOCK | TARGET_O_CLOEXEC)) {
|
|
|
|
|
|
+ if (flags & ~(TARGET_O_NONBLOCK_MASK | TARGET_O_CLOEXEC)) {
|
|
return -TARGET_EINVAL;
|
|
return -TARGET_EINVAL;
|
|
}
|
|
}
|
|
if (!lock_user_struct(VERIFY_READ, target_mask, mask, 1)) {
|
|
if (!lock_user_struct(VERIFY_READ, target_mask, mask, 1)) {
|
|
@@ -12566,7 +12571,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
|
#if defined(TARGET_NR_eventfd2)
|
|
#if defined(TARGET_NR_eventfd2)
|
|
case TARGET_NR_eventfd2:
|
|
case TARGET_NR_eventfd2:
|
|
{
|
|
{
|
|
- int host_flags = arg2 & (~(TARGET_O_NONBLOCK | TARGET_O_CLOEXEC));
|
|
|
|
|
|
+ int host_flags = arg2 & (~(TARGET_O_NONBLOCK_MASK | TARGET_O_CLOEXEC));
|
|
if (arg2 & TARGET_O_NONBLOCK) {
|
|
if (arg2 & TARGET_O_NONBLOCK) {
|
|
host_flags |= O_NONBLOCK;
|
|
host_flags |= O_NONBLOCK;
|
|
}
|
|
}
|