diff options
Diffstat (limited to 'ld/testsuite/ld-aarch64/protections/bti-far.ld')
-rw-r--r-- | ld/testsuite/ld-aarch64/protections/bti-far.ld | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/ld/testsuite/ld-aarch64/protections/bti-far.ld b/ld/testsuite/ld-aarch64/protections/bti-far.ld index 214b8cb..1568f18 100644 --- a/ld/testsuite/ld-aarch64/protections/bti-far.ld +++ b/ld/testsuite/ld-aarch64/protections/bti-far.ld @@ -2,14 +2,28 @@ OUTPUT_ARCH(aarch64) ENTRY(_start) SECTIONS { + PROVIDE(__executable_start = 0x8000); + . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS; + /* Start of the executable code region. */ + .hash : { *(.hash) } + .gnu.hash : { *(.gnu.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } . = 0x10000; - .rela.plt : { *(.rela.plt) *(.rela.iplt) } + .rela.dyn : { *(.rela.ifunc) } + .rela.plt : { *(.rela.plt) *(.rela.iplt) } . = 0x18000; - .plt : { *(.plt) *(.iplt) } + .plt : { *(.plt) *(.iplt) } . = 0x20000; - .text : { *(.text) } - . = 0x30000; - .got : { *(.got) *(.got.plt) } + .text : { *(.text) } . = 0x12340000; - .far : { *(.far) } + .far : { *(.far) } + /* Start of the Read Only Data region. */ + .note.gnu-property : { *(.note.gnu-property) } + + /* Start of the Read Write Data region. */ + . = ALIGN (CONSTANT (MAXPAGESIZE)); + .got : { *(.got) *(.got.plt) } + /* Start of the metadata region. */ + .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) } } |