summaryrefslogtreecommitdiff
path: root/libc/ports/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ports/sysdeps/unix')
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S3
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S4
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/arm/bits/atomic.h2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h2
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
{