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-08-05 19:45:19 +0100
commit8022e6934eaf4faa20bfd8acdd99bea2e687247b (patch)
tree3ef41ecc325ac4c736dc913b5710ed5c2db03190
parenta4f02d3f689e7ef8de6efb396ada210519ab315e (diff)
downloadglibc-8022e6934eaf4faa20bfd8acdd99bea2e687247b.tar.gz
glibc-8022e6934eaf4faa20bfd8acdd99bea2e687247b.tar.xz
glibc-8022e6934eaf4faa20bfd8acdd99bea2e687247b.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 741383610e..6ced67f7c1 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).  */