binutils-gdb/include/elf
Indu Bhagat b9b7bbb466 ld/aarch64elf: add support for DT_AARCH64_MEMTAG_STACK dynamic tag
Add new command line option -z memtag-stack for aarch64 elf.  This
option instructs the linker to generate the necessary dynamic tag
DT_AARCH64_MEMTAG_STACK, which the dynamic loader can then use to
protect the stack memory with PROT_MTE.  Linker issues an
'unrecognized option' error when -z memtag-stack is specified for
non-aarch64 based emulations.

readelf displays the dynamic tag when present:

$ readelf -d <exectutable>
Dynamic section at offset 0xfdd8 contains XX entries:
Tag        Type                         Name/Value
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
0x000000000000000c (INIT)               0x400520
0x000000000000000d (FINI)               0x400b64
0x0000000000000019 (INIT_ARRAY)         0x41fdc8
...                 ...                 ...
0x000000007000000c (AARCH64_MEMTAG_STACK) 0x1
...                 ...                 ...

ChangeLog:

        * bfd/elfnn-aarch64.c (elfNN_aarch64_late_size_sections): Emit
	DT_AARCH64_MEMTAG_STACK dynamic tag.
        * bfd/elfxx-aarch64.h (struct aarch64_memtag_opts): Add new
	member for tracking whether stack access uses MTE insns.
        * binutils/readelf.c (get_aarch64_dynamic_type): Handle
	DT_AARCH64_MEMTAG_STACK.
        * ld/emultempl/aarch64elf.em: Add new command line option.
        * ld/ld.texi: Add documentation for -z memtag-stack.
        * ld/testsuite/ld-aarch64/aarch64-elf.exp: Add new test.
        * ld/testsuite/ld-aarch64/dt-memtag-stack.d: New test.

include/ChangeLog:

        * elf/aarch64.h (DT_AARCH64_MEMTAG_STACK): New definition.
2025-07-12 11:33:25 +02:00
..
aarch64.h ld/aarch64elf: add support for DT_AARCH64_MEMTAG_STACK dynamic tag 2025-07-12 11:33:25 +02:00
alpha.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
amdgpu.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
arc-cpu.def Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
arc-reloc.def Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
arc.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
arm.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
avr.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
bfin.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
bpf.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
common.h gas: elf: binutils: add new section type SHT_GNU_SFRAME 2025-07-11 23:32:58 -07:00
cr16.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
cris.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
crx.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
csky.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
d10v.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
d30v.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
dlx.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
dwarf.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
epiphany.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
external.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
fr30.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
frv.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ft32.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
h8.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
hppa.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
i370.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
i386.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
i860.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
i960.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ia64.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
internal.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ip2k.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
iq2000.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
kvx.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
kvx_elfids.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
lm32.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
loongarch.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
m32c.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
m32r.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
m68k.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mcore.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mep.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
metag.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
microblaze.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mips.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mmix.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mn10200.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mn10300.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
moxie.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
msp430.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
mt.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
nds32.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
nfp.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
nios2.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
or1k.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
pj.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ppc.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
ppc64.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
pru.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
reloc-macros.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
riscv.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
rl78.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
rx.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
s12z.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
s390.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
score.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
sh.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
sparc.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
spu.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
tic6x-attrs.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
tic6x.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
tilegx.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
tilepro.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
v850.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
vax.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
visium.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
vxworks.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
wasm32.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
x86-64.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
xgate.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
xstormy16.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
xtensa.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
z80.h Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30