aboutsummaryrefslogtreecommitdiff
path: root/elf
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-10-27 14:46:51 +0100
commit429fa3afd26e91598884f687eac20e60a2dc56cc (patch)
tree2638265270a87144ce6ef38a3b14f7a8a6459a06 /elf
parent57f37bd95a683d83d2da599b07a81e0c57945c38 (diff)
downloadglibc-429fa3afd26e91598884f687eac20e60a2dc56cc.tar
glibc-429fa3afd26e91598884f687eac20e60a2dc56cc.tar.gz
glibc-429fa3afd26e91598884f687eac20e60a2dc56cc.tar.bz2
glibc-429fa3afd26e91598884f687eac20e60a2dc56cc.zip
cheri: elf: Adjust Elf64_auxv_t for capabilities
The Elf64_auxv_t needs to be adjusted for the new capability size.
Diffstat (limited to 'elf')
-rw-r--r--elf/elf.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/elf/elf.h b/elf/elf.h
index 878dc9bf83..5f0b90f4c4 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). */