diff options
Diffstat (limited to 'aarch64-linux-android/lib/ldscripts/aarch64elf.xs')
-rw-r--r-- | aarch64-linux-android/lib/ldscripts/aarch64elf.xs | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/aarch64-linux-android/lib/ldscripts/aarch64elf.xs b/aarch64-linux-android/lib/ldscripts/aarch64elf.xs index f1da921..abb1aab 100644 --- a/aarch64-linux-android/lib/ldscripts/aarch64elf.xs +++ b/aarch64-linux-android/lib/ldscripts/aarch64elf.xs @@ -27,23 +27,20 @@ SECTIONS .rela.dtors : { *(.rela.dtors) } .rela.got : { *(.rela.got) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } - .rela.iplt : - { - *(.rela.iplt) - } + .rela.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) + *(.rela.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } =0 - .plt : { *(.plt) } - .iplt : { *(.iplt) } + .plt : { *(.plt) *(.iplt) } .text : { - *(.text.unlikely .text.*_unlikely) + *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) @@ -90,15 +87,13 @@ SECTIONS { KEEP (*crtbegin*.o(.init_array)) KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) - KEEP (*(.init_array)) - KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) + KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*crtbegin*.o(.fini_array)) KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) - KEEP (*(.fini_array)) - KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) + KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .ctors : { @@ -153,11 +148,12 @@ SECTIONS /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. */ - . = ALIGN(32 / 8); + . = ALIGN(64 / 8); } _bss_end__ = . ; __bss_end__ = . ; - . = ALIGN(32 / 8); - . = ALIGN(32 / 8); + . = ALIGN(64 / 8); + . = SEGMENT_START("ldata-segment", .); + . = ALIGN(64 / 8); __end__ = . ; _end = .; _bss_end__ = . ; __bss_end__ = . ; __end__ = . ; @@ -185,7 +181,7 @@ SECTIONS /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } |