diff options
Diffstat (limited to 'ld/testsuite/ld-aarch64/variant_pcs.ld')
-rw-r--r-- | ld/testsuite/ld-aarch64/variant_pcs.ld | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/ld/testsuite/ld-aarch64/variant_pcs.ld b/ld/testsuite/ld-aarch64/variant_pcs.ld index a66a934..cadecd8 100644 --- a/ld/testsuite/ld-aarch64/variant_pcs.ld +++ b/ld/testsuite/ld-aarch64/variant_pcs.ld @@ -3,21 +3,31 @@ OUTPUT_ARCH(aarch64) ENTRY(_start) SECTIONS { - /* Read-only sections, merged into text segment: */ - PROVIDE (__executable_start = 0x8000); . = 0x8000; + 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) } + . = 0x9000; + .rela.plt : { *(.rela.plt) *(.rela.iplt) } + . = 0x10000; + .plt : { *(.plt) } + . = 0x11000; .text : { *(.before) *(.text) *(.after) - } =0 - . = 0x9000; + } + + /* Start of the Read Write Data region. */ + . = ALIGN (CONSTANT (MAXPAGESIZE)); + .dynamic : { *(.dynamic) } + . = ALIGN(4K); .got : { *(.got) *(.got.plt)} - . = 0x10000; - .rela.dyn : { *(.rela.ifunc) } - . = 0x11000; - .rela.plt : { *(.rela.plt) *(.rela.iplt) } - . = 0x12340000; - .far : { *(.far) } - .ARM.attributes 0 : { *(.ARM.atttributes) } + + /* Start of the metadata region. */ + .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) } } |