about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2021-06-10 13:50:17 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2022-11-22 14:31:25 +0000
commit4b0cb26b3b2faa0247c8d5dc3348808ffae1e94a (patch)
tree89c8abb8b198aea2849189a3906c52c043e242a8
parent88e0b1d81b7a980b9bd4b570e3c50e2f630cb291 (diff)
downloadglibc-4b0cb26b3b2faa0247c8d5dc3348808ffae1e94a.tar.gz
glibc-4b0cb26b3b2faa0247c8d5dc3348808ffae1e94a.tar.xz
glibc-4b0cb26b3b2faa0247c8d5dc3348808ffae1e94a.zip
cheri: elf: Adjust Elf64_auxv_t for capabilities
The Elf64_auxv_t needs to be adjusted for the new capability size.
-rw-r--r--elf/elf.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/elf/elf.h b/elf/elf.h
index 5b80879d74..3cae516775 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1159,6 +1159,14 @@ typedef struct
 
 typedef struct
 {
+#if defined __CHERI_PURE_CAPABILITY__
+  uint64_t a_type;
+  uint64_t __pad;
+  union
+    {
+      __uintcap_t a_val;
+    } a_un;
+#else
   uint64_t a_type;		/* Entry type */
   union
     {
@@ -1167,6 +1175,7 @@ typedef struct
 	 though, since it does not work when using 32-bit definitions
 	 on 64-bit platforms and vice versa.  */
     } a_un;
+#endif
 } Elf64_auxv_t;
 
 /* Legal values for a_type (entry type).  */