diff options
Diffstat (limited to 'libc/ports/sysdeps/unix')
4 files changed, 7 insertions, 4 deletions
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S b/libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S index 999ecf21c..b359e6e8a 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S @@ -65,9 +65,10 @@ ENTRY(__clone) svc 0x0 cmp x0, #0 beq 2f - blt C_SYMBOL_NAME(__syscall_error) + blt 3f RET 1: mov x0, #-EINVAL +3: b syscall_error 2: diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S index b089bb55c..2e08cf708 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S @@ -24,9 +24,7 @@ ENTRY(__ioctl) sxtw x0, w0 svc #0x0 cmn x0, #0x1, lsl #12 - b.hi C_SYMBOL_NAME(__syscall_error) - ret - + PSEUDO_RET PSEUDO_END (__ioctl) weak_alias (__ioctl, ioctl) diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/bits/atomic.h b/libc/ports/sysdeps/unix/sysv/linux/arm/bits/atomic.h index c76b8f3c2..ae486e1f2 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/arm/bits/atomic.h +++ b/libc/ports/sysdeps/unix/sysv/linux/arm/bits/atomic.h @@ -16,6 +16,8 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ +#include <stdint.h> + /* If the compiler doesn't provide a primitive, we'll use this macro to get assistance from the kernel. */ #ifdef __thumb2__ diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h b/libc/ports/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h index 77ffaf68d..e870b207d 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h +++ b/libc/ports/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h @@ -1,3 +1,5 @@ +#include <stdint.h> + /* Linux kernel RT signal frame. */ typedef struct kernel_rt_sigframe { |