diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/clone.S | 14 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/syscalls.list | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/mmap64.c | 2 |
3 files changed, 8 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S index 510e0ff799..b902ff7669 100644 --- a/sysdeps/unix/sysv/linux/hppa/clone.S +++ b/sysdeps/unix/sysv/linux/hppa/clone.S @@ -33,18 +33,18 @@ ENTRY(__clone) /* FIXME: I have no idea how profiling works on hppa. */ /* Sanity check arguments. */ - comib,<> 0,%arg0,.Lerror /* no NULL function pointers */ - ldi EINVAL,%ret0 - comib,<> 0,%arg1,.Lerror /* no NULL stack pointers */ + comib,= 0,%arg0,.Lerror /* no NULL function pointers */ + ldi -EINVAL,%ret0 + comib,= 0,%arg1,.Lerror /* no NULL stack pointers */ nop /* Save the fn ptr and arg on the new stack. */ - stwm %arg3,64(%arg1) + stwm %arg0,64(%arg1) stw %arg3,-60(%arg1) /* Do the system call */ copy %arg2,%arg0 - ble 0x100(%sr7,%r0) + ble 0x100(%sr2,%r0) ldi __NR_clone,%r20 ldi -4096,%r1 @@ -60,12 +60,12 @@ ENTRY(__clone) /* Something bad happened -- no child created */ .Lerror: b __syscall_error - nop + sub %r0,%ret0,%arg0 thread_start: /* Load up the arguments. */ ldw -60(%sp),%arg0 - ldwm -64(%sp),%r22 + ldw -64(%sp),%r22 /* Call the user's function */ bl $$dyncall,%r31 diff --git a/sysdeps/unix/sysv/linux/hppa/syscalls.list b/sysdeps/unix/sysv/linux/hppa/syscalls.list index f0d6431abe..6d7cd6a23f 100644 --- a/sysdeps/unix/sysv/linux/hppa/syscalls.list +++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list @@ -32,8 +32,6 @@ shutdown - shutdown i:ii __shutdown shutdown socket - socket i:iii __socket socket socketpair - socketpair i:iiif __socketpair socketpair -ptrace - ptrace 4 __ptrace ptrace - getresuid - getresuid i:ppp getresuid getresgid - getresgid i:ppp getresgid diff --git a/sysdeps/unix/sysv/linux/powerpc/mmap64.c b/sysdeps/unix/sysv/linux/powerpc/mmap64.c index 4b3e60deaf..25b11a963f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/mmap64.c +++ b/sysdeps/unix/sysv/linux/powerpc/mmap64.c @@ -42,7 +42,7 @@ static int have_no_mmap2; void * __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset) { - if (! (offset & ((1 << PAGE_SHIFT)-1))) + if (offset & ((1 << PAGE_SHIFT)-1)) { __set_errno (EINVAL); return MAP_FAILED; |