diff options
Diffstat (limited to 'aarch64-linux-android/lib/ldscripts/aarch64elf.x')
-rw-r--r-- | aarch64-linux-android/lib/ldscripts/aarch64elf.x | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/aarch64-linux-android/lib/ldscripts/aarch64elf.x b/aarch64-linux-android/lib/ldscripts/aarch64elf.x index 77ac412..27dfe37 100644 --- a/aarch64-linux-android/lib/ldscripts/aarch64elf.x +++ b/aarch64-linux-android/lib/ldscripts/aarch64elf.x @@ -29,25 +29,22 @@ SECTIONS .rela.dtors : { *(.rela.dtors) } .rela.got : { *(.rela.got) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } - .rela.iplt : + .rela.ifunc : { *(.rela.ifunc) } + .rela.plt : { + *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } - .rela.plt : - { - *(.rela.plt) - } .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.*) @@ -156,12 +153,12 @@ SECTIONS .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ - . = ALIGN(. != 0 ? 32 / 8 : 1); + . = ALIGN(. != 0 ? 64 / 8 : 1); } _bss_end__ = . ; __bss_end__ = . ; - . = ALIGN(32 / 8); + . = ALIGN(64 / 8); . = SEGMENT_START("ldata-segment", .); - . = ALIGN(32 / 8); + . = ALIGN(64 / 8); __end__ = . ; _end = .; PROVIDE (end = .); /* Stabs debugging sections. */ @@ -187,7 +184,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) } @@ -209,5 +206,5 @@ SECTIONS } .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } - /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) *(.gnu_object_only) } + /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } |