about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/aarch64/ioctl.S
diff options
context:
space:
mode:
authorCarlos Eduardo Seo <carlos.seo@arm.com>2021-04-08 12:49:27 -0300
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2022-08-05 19:45:19 +0100
commitff371935db74c2d387b18a98e65181f615c69d62 (patch)
treeb0c67116a481388ff9fba65f51f3156be61e1d38 /sysdeps/unix/sysv/linux/aarch64/ioctl.S
parent9ef71c0be0d8b7f50f987d2d96198757e4356ad5 (diff)
downloadglibc-ff371935db74c2d387b18a98e65181f615c69d62.tar.gz
glibc-ff371935db74c2d387b18a98e65181f615c69d62.tar.xz
glibc-ff371935db74c2d387b18a98e65181f615c69d62.zip
aarch64: morello: add purecap syscall support
Support the Morello Linux purecap syscall ABI.  The macro definitions
are moved to a morello specific sysdep.h to avoid cluttering the
aarch64 one.
Diffstat (limited to 'sysdeps/unix/sysv/linux/aarch64/ioctl.S')
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/ioctl.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/sysdeps/unix/sysv/linux/aarch64/ioctl.S
index eb2f7211d7..88c8143452 100644
--- a/sysdeps/unix/sysv/linux/aarch64/ioctl.S
+++ b/sysdeps/unix/sysv/linux/aarch64/ioctl.S
@@ -22,6 +22,11 @@
 ENTRY(__ioctl)
 	mov	x8, #__NR_ioctl
 	sxtw	x0, w0
+#ifdef __CHERI_PURE_CAPABILITY__
+	cbz	x9, L(skip_arg3)
+	ldr	c2, [c9]
+L(skip_arg3):
+#endif
 	svc	#0x0
 	cmn	x0, #4095
 	b.cs	.Lsyscall_error