about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
diff options
context:
space:
mode:
authorCarlos Eduardo Seo <carlos.seo@arm.com>2021-05-27 17:49:20 -0300
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2022-11-22 14:31:25 +0000
commit2f33e8ec62cf2a9b5715948edd2b5bb553fd4ac8 (patch)
tree7ce4ecdcaf261bb61d8ac0bbf35ca78cd9f11926 /sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
parentadf9bd54e9386b01745694489bd7e1fdec578603 (diff)
downloadglibc-2f33e8ec62cf2a9b5715948edd2b5bb553fd4ac8.tar.gz
glibc-2f33e8ec62cf2a9b5715948edd2b5bb553fd4ac8.tar.xz
glibc-2f33e8ec62cf2a9b5715948edd2b5bb553fd4ac8.zip
aarch64: morello: add purecap ucontext support
Adjust ucontext layout for purecap ABI and add make/get/set/swapcontext
implementations accordingly.

Note: mcontext layout follows the linux sigcontext struct, in userspace
*context functions rely on the c registers stored in the extension area
and ignore the mcontext fields for x registers.
Diffstat (limited to 'sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h')
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h b/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
index 685d41ca04..429a4c1035 100644
--- a/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
+++ b/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
@@ -23,6 +23,11 @@
 /* Size of an X regiser in bytes. */
 #define SZREG                8
 
+#ifdef __CHERI_PURE_CAPABILITY__
+/* Size of a C register in bytes. */
+# define SZCREG             16
+#endif
+
 /* Size of a V register in bytes. */
 #define SZVREG              16