summaryrefslogtreecommitdiff
path: root/mipsel-linux-android/lib/ldscripts/elf32btsmip.xn
diff options
context:
space:
mode:
Diffstat (limited to 'mipsel-linux-android/lib/ldscripts/elf32btsmip.xn')
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xn21
1 files changed, 10 insertions, 11 deletions
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xn b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xn
index ec11192..eee3cb4 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xn
@@ -75,12 +75,10 @@ SECTIONS
{
KEEP (*(SORT_NONE(.init)))
}
- .plt : { *(.plt) }
- .iplt : { *(.iplt) }
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -110,8 +108,10 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges : ONLY_IF_RO { *(.exception_ranges
.exception_ranges*) }
- /* Adjust the address for the data segment. We want to align at exactly
- a page boundary to make life easier for apriori. */
+ .plt : { *(.plt) }
+ .iplt : { *(.iplt) }
+ /* Adjust the address for the data segment. For 32 bits we want to align
+ at exactly a page boundary to make life easier for apriori. */
. = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
@@ -136,8 +136,7 @@ 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))
}
PROVIDE_HIDDEN (__init_array_end = .);
PROVIDE_HIDDEN (__fini_array_start = .);
@@ -145,8 +144,7 @@ SECTIONS
{
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))
}
PROVIDE_HIDDEN (__fini_array_end = .);
.ctors :
@@ -181,6 +179,7 @@ SECTIONS
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -188,7 +187,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -251,7 +250,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) }