diff options
Diffstat (limited to 'ld/testsuite/ld-aarch64/protections/bti-plt.ld')
-rw-r--r-- | ld/testsuite/ld-aarch64/protections/bti-plt.ld | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt.ld b/ld/testsuite/ld-aarch64/protections/bti-plt.ld index 8682623..c930fc8 100644 --- a/ld/testsuite/ld-aarch64/protections/bti-plt.ld +++ b/ld/testsuite/ld-aarch64/protections/bti-plt.ld @@ -2,13 +2,26 @@ 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) } - . = 0x28000; - .got : { *(.got) *(.got.plt) } - .ARM.attributes 0 : { *(.ARM.atttributes) } + .text : { *(.text) } + /* 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)) } } |