diff options
author | Luis Machado <luis.machado@linaro.org> | 2021-08-05 13:50:17 -0300 |
---|---|---|
committer | Luis Machado <luis.machado@linaro.org> | 2021-08-11 09:42:44 -0300 |
commit | 3af2785c97622c0a64b266e18a06d735af822df9 (patch) | |
tree | fbe00b9558bf1edfaa135f3c73e333e557844f47 | |
parent | 4f212c5520a7bd56b83f7e4b3feff2048d394194 (diff) | |
download | gdb-3af2785c97622c0a64b266e18a06d735af822df9.zip gdb-3af2785c97622c0a64b266e18a06d735af822df9.tar.gz gdb-3af2785c97622c0a64b266e18a06d735af822df9.tar.bz2 |
Add 3 new PAC-related ARM note types
The following patch synchronizes includes/objdump/readelf with the Linux
Kernel in terms of ARM regset notes.
We're currently missing 3 of them:
NT_ARM_PACA_KEYS
NT_ARM_PACG_KEYS
NT_ARM_PAC_ENABLED_KEYS
We don't need GDB to bother with this at the moment, so this doesn't update
bfd/elf.c. If needed, we can do it in the future.
binutils/
* readelf.c (get_note_type): Handle new ARM PAC notes.
include/elf/
* common.h (NT_ARM_PACA_KEYS, NT_ARM_PACG_KEYS)
(NT_ARM_PAC_ENABLED_KEYS): New constants.
-rw-r--r-- | binutils/readelf.c | 6 | ||||
-rw-r--r-- | include/elf/common.h | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c index bd16fcc..bedd389 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -18828,8 +18828,14 @@ get_note_type (Filedata * filedata, unsigned e_type) return _("NT_ARM_SVE (AArch SVE registers)"); case NT_ARM_PAC_MASK: return _("NT_ARM_PAC_MASK (AArch pointer authentication code masks)"); + case NT_ARM_PACA_KEYS: + return _("NT_ARM_PACA_KEYS (ARM pointer authentication address keys)"); + case NT_ARM_PACG_KEYS: + return _("NT_ARM_PACG_KEYS (ARM pointer authentication generic keys)"); case NT_ARM_TAGGED_ADDR_CTRL: return _("NT_ARM_TAGGED_ADDR_CTRL (AArch tagged address control)"); + case NT_ARM_PAC_ENABLED_KEYS: + return _("NT_ARM_PAC_ENABLED_KEYS (AArch64 pointer authentication enabled keys)"); case NT_ARC_V2: return _("NT_ARC_V2 (ARC HS accumulator/extra registers)"); case NT_RISCV_CSR: diff --git a/include/elf/common.h b/include/elf/common.h index 0d381f0..95ade89 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -672,9 +672,18 @@ /* note name must be "LINUX". */ #define NT_ARM_PAC_MASK 0x406 /* AArch pointer authentication code masks */ /* note name must be "LINUX". */ +#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address + keys */ + /* note name must be "LINUX". */ +#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic + keys */ + /* note name must be "LINUX". */ #define NT_ARM_TAGGED_ADDR_CTRL 0x409 /* AArch64 tagged address control (prctl()) */ /* note name must be "LINUX". */ +#define NT_ARM_PAC_ENABLED_KEYS 0x40a /* AArch64 pointer authentication + enabled keys (prctl()) */ + /* note name must be "LINUX". */ #define NT_ARC_V2 0x600 /* ARC HS accumulator/extra registers. */ /* note name must be "LINUX". */ #define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */ |