summaryrefslogtreecommitdiff
path: root/mipsel-linux-android/lib
diff options
context:
space:
mode:
Diffstat (limited to 'mipsel-linux-android/lib')
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.x21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xbn21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xd21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xdc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xdw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xn21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xr12
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xs21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xsc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xsw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xu12
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmip.xw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.x15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xbn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xd15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xr6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xs15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xu6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.x21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xbn21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xd21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xn21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xr12
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xs21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsc21
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xu12
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmip.xw19
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.x15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xbn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xd15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xr6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xs15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsc15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xu6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xw15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.x17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xbn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xd17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xdc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xdw17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xn17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xr6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xs17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xsc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xsw17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xu6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64btsmip.xw17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.x17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xbn15
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xd17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdw17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xn17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xr6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xs17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsc17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsw17
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xu6
-rw-r--r--mipsel-linux-android/lib/ldscripts/elf64ltsmip.xw17
-rw-r--r--mipsel-linux-android/lib/libatomic.abin205438 -> 205438 bytes
-rw-r--r--mipsel-linux-android/lib/libgomp.abin360838 -> 360978 bytes
-rw-r--r--mipsel-linux-android/lib/mips-r2/libatomic.abin205098 -> 205098 bytes
-rw-r--r--mipsel-linux-android/lib/mips-r2/libgomp.abin360754 -> 360894 bytes
82 files changed, 590 insertions, 656 deletions
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.x b/mipsel-linux-android/lib/ldscripts/elf32btsmip.x
index 2a666fc..e78ba99 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.x
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.x
@@ -76,12 +76,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.*)
@@ -111,8 +109,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)) }
@@ -137,8 +137,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 = .);
@@ -146,8 +145,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 :
@@ -182,6 +180,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 = . ;
@@ -189,7 +188,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xbn b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xbn
index fd1d40a..3207516 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xbn
@@ -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. */
. = .;
/* 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 :
@@ -180,6 +178,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.*) }
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -187,7 +186,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -222,6 +220,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -249,7 +248,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xc b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xc
index b4ec661..d531fd1 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xc
@@ -78,12 +78,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.*)
@@ -113,8 +111,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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -184,6 +182,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 = . ;
@@ -191,7 +190,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xd b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xd
index fe9158b..184f0e1 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xd
@@ -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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdc b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdc
index e0f5b4b..e478277 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdc
@@ -78,12 +78,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.*)
@@ -113,8 +111,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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -184,6 +182,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 = . ;
@@ -191,7 +190,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdw b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdw
index debe09c..366802c 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xdw
@@ -78,12 +78,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.*)
@@ -113,8 +111,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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xr b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xr
index a99655e..8e121a0 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xr
@@ -73,8 +73,6 @@ SECTIONS
{
KEEP (*(SORT_NONE(.init)))
}
- .plt 0 : { *(.plt) }
- .iplt 0 : { *(.iplt) }
.text 0 :
{
*(.text .stub)
@@ -99,8 +97,10 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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 0 : { *(.plt) }
+ .iplt 0 : { *(.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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -118,12 +118,12 @@ SECTIONS
KEEP (*(.preinit_array))
}
.jcr 0 : { KEEP (*(.jcr)) }
+ .got.plt 0 : { *(.got.plt) }
.data 0 :
{
*(.data)
}
.data1 0 : { *(.data1) }
- .got.plt 0 : { *(.got.plt) }
.got 0 : { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
@@ -172,7 +172,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xs b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xs
index 7549e07..0e7bdd9 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xs
@@ -70,12 +70,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.*)
@@ -100,8 +98,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)) }
@@ -123,15 +123,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 :
{
@@ -165,6 +163,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 = . ;
@@ -172,7 +171,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsc b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsc
index 1dae386..cd616ed 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsc
@@ -70,12 +70,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.*)
@@ -100,8 +98,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)) }
@@ -123,15 +123,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 :
{
@@ -165,6 +163,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 = . ;
@@ -172,7 +171,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsw b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsw
index 0356c8f..70b1a52 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xsw
@@ -69,12 +69,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.*)
@@ -99,8 +97,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)) }
@@ -122,15 +122,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 :
{
@@ -208,6 +206,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -236,7 +235,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xu b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xu
index ac7027c..16e3778 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xu
@@ -73,8 +73,6 @@ SECTIONS
{
KEEP (*(SORT_NONE(.init)))
}
- .plt 0 : { *(.plt) }
- .iplt 0 : { *(.iplt) }
.text 0 :
{
*(.text .stub)
@@ -99,8 +97,10 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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 0 : { *(.plt) }
+ .iplt 0 : { *(.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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -118,13 +118,13 @@ SECTIONS
KEEP (*(.preinit_array))
}
.jcr 0 : { KEEP (*(.jcr)) }
+ .got.plt 0 : { *(.got.plt) }
.data 0 :
{
*(.data)
SORT(CONSTRUCTORS)
}
.data1 0 : { *(.data1) }
- .got.plt 0 : { *(.got.plt) }
.got 0 : { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xw b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xw
index 88be4e5..0669a31 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmip.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmip.xw
@@ -78,12 +78,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.*)
@@ -113,8 +111,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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.x b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.x
index 188c077..f189625 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.x
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.x
@@ -81,7 +81,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -111,8 +111,8 @@ 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. */
+ /* 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)) }
@@ -137,8 +137,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 = .);
@@ -146,8 +145,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 :
@@ -225,6 +223,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -253,7 +252,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xbn b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xbn
index 9f419de..587cb97 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xbn
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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. */
. = .;
/* 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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -250,7 +249,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xc b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xc
index 58f367e..279b891 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xc
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xd b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xd
index 89a0dc6..1fc574c 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xd
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdc b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdc
index c205ee0..bb65542 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdc
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdw b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdw
index 675cfc1..0bd27a2 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xdw
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xn b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xn
index 1d38329..f8732d0 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xn
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xr b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xr
index 856b6a0..2de0183 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xr
@@ -99,8 +99,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xs b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xs
index 2a3d601..8bc90d5 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xs
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,8 +100,8 @@ 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. */
+ /* 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)) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsc b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsc
index 4b5c382..0b47e37 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsc
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,8 +100,8 @@ 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. */
+ /* 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)) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsw b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsw
index a404d62..72dade3 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xsw
@@ -74,7 +74,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -99,8 +99,8 @@ 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. */
+ /* 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)) }
@@ -122,15 +122,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 :
{
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xu b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xu
index 889c150..0814b66 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xu
@@ -99,8 +99,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -174,7 +174,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xw b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xw
index bcfc1fd..6c7503c 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf32btsmipn32.xw
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.x b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.x
index b32106c..630f66f 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.x
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.x
@@ -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 :
@@ -182,6 +180,7 @@ SECTIONS
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -189,7 +188,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xbn b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xbn
index fe04502..4785dcb 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xbn
@@ -74,12 +74,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.*)
@@ -109,8 +107,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. */
. = .;
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -180,6 +178,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.*) }
.dynamic : { *(.dynamic) }
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -187,7 +186,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -222,6 +220,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -249,7 +248,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xc b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xc
index 6aef405..67465bd 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xc
@@ -77,12 +77,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.*)
@@ -112,8 +110,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)) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -184,6 +182,7 @@ SECTIONS
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -191,7 +190,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xd b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xd
index 840fe68..0826831 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xd
@@ -74,12 +74,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.*)
@@ -109,8 +107,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)) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdc b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdc
index 606fa1a..b9f8e85 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdc
@@ -77,12 +77,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.*)
@@ -112,8 +110,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)) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -184,6 +182,7 @@ SECTIONS
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -191,7 +190,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdw b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdw
index 18a0e20..fffe393 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xdw
@@ -77,12 +77,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.*)
@@ -112,8 +110,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)) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xn b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xn
index c3edac9..117eac0 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xn
@@ -74,12 +74,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.*)
@@ -109,8 +107,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)) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xr b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xr
index 2b12663..46651ea 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xr
@@ -72,8 +72,6 @@ SECTIONS
{
KEEP (*(SORT_NONE(.init)))
}
- .plt 0 : { *(.plt) }
- .iplt 0 : { *(.iplt) }
.text 0 :
{
*(.text .stub)
@@ -98,8 +96,10 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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 0 : { *(.plt) }
+ .iplt 0 : { *(.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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -118,12 +118,12 @@ SECTIONS
}
.jcr 0 : { KEEP (*(.jcr)) }
.dynamic 0 : { *(.dynamic) }
+ .got.plt 0 : { *(.got.plt) }
.data 0 :
{
*(.data)
}
.data1 0 : { *(.data1) }
- .got.plt 0 : { *(.got.plt) }
.got 0 : { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
@@ -172,7 +172,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xs b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xs
index 1370f41..771ecc4 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xs
@@ -69,12 +69,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.*)
@@ -99,8 +97,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)) }
@@ -122,15 +122,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 :
{
@@ -165,6 +163,7 @@ SECTIONS
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -172,7 +171,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsc b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsc
index 1996c24..ab72099 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsc
@@ -69,12 +69,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.*)
@@ -99,8 +97,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)) }
@@ -122,15 +122,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 :
{
@@ -165,6 +163,7 @@ SECTIONS
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
. = DATA_SEGMENT_RELRO_END (0, .);
+ .got.plt : { *(.got.plt) }
.data :
{
_fdata = . ;
@@ -172,7 +171,6 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- .got.plt : { *(.got.plt) }
. = .;
. = .;
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsw b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsw
index 7553686..bd0f10d 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xsw
@@ -68,12 +68,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.*)
@@ -98,8 +96,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)) }
@@ -121,15 +121,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 :
{
@@ -208,6 +206,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -236,7 +235,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xu b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xu
index 4aa968b..bdf0d6f 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xu
@@ -72,8 +72,6 @@ SECTIONS
{
KEEP (*(SORT_NONE(.init)))
}
- .plt 0 : { *(.plt) }
- .iplt 0 : { *(.iplt) }
.text 0 :
{
*(.text .stub)
@@ -98,8 +96,10 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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 0 : { *(.plt) }
+ .iplt 0 : { *(.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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -118,13 +118,13 @@ SECTIONS
}
.jcr 0 : { KEEP (*(.jcr)) }
.dynamic 0 : { *(.dynamic) }
+ .got.plt 0 : { *(.got.plt) }
.data 0 :
{
*(.data)
SORT(CONSTRUCTORS)
}
.data1 0 : { *(.data1) }
- .got.plt 0 : { *(.got.plt) }
.got 0 : { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xw b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xw
index 4c6a854..b92d852 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmip.xw
@@ -77,12 +77,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.*)
@@ -112,8 +110,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)) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.x b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.x
index 7c9ef00..55d8e0d 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.x
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.x
@@ -81,7 +81,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -111,8 +111,8 @@ 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. */
+ /* 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)) }
@@ -137,8 +137,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 = .);
@@ -146,8 +145,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 :
@@ -225,6 +223,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -253,7 +252,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xbn b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xbn
index 19c4a18..b1f9087 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xbn
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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. */
. = .;
/* 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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -250,7 +249,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xc b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xc
index 1b2b9a7..a1638b8 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xc
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xd b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xd
index 925d286..01fbee8 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xd
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdc b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdc
index f9f36dd..071e6b6 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdc
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdw b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdw
index 79beb83..6f2a2ed 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xdw
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xn b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xn
index 4c8ff53..d5fe360 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xn
@@ -80,7 +80,7 @@ SECTIONS
.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 +110,8 @@ 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. */
+ /* 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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xr b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xr
index 43a0712..8340d74 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xr
@@ -99,8 +99,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xs b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xs
index e5a702b..9ebc371 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xs
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,8 +100,8 @@ 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. */
+ /* 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)) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsc b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsc
index f51cd29..b26e9cd 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsc
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,8 +100,8 @@ 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. */
+ /* 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)) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsw b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsw
index acd77b1..73cddbc 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xsw
@@ -74,7 +74,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -99,8 +99,8 @@ 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. */
+ /* 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)) }
@@ -122,15 +122,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 :
{
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xu b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xu
index 60d9760..cfe9fcb 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xu
@@ -99,8 +99,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -174,7 +174,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xw b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xw
index 1302c96..76a95fe 100644
--- a/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf32ltsmipn32.xw
@@ -83,7 +83,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -113,8 +113,8 @@ 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. */
+ /* 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)) }
@@ -139,8 +139,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 = .);
@@ -148,8 +147,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 :
@@ -227,6 +225,7 @@ SECTIONS
. = ALIGN(32 / 8);
}
. = ALIGN(32 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -255,7 +254,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.x b/mipsel-linux-android/lib/ldscripts/elf64btsmip.x
index f0101a9..2d469cd 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.x
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.x
@@ -80,7 +80,7 @@ SECTIONS
.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,9 +110,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xbn b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xbn
index 0e6b250..60ebe5d 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xbn
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,8 +109,8 @@ 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. */
+ /* 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. */
. = .;
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -222,6 +220,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -249,7 +248,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xc b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xc
index 4109c1a..117a43b 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xc
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xd b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xd
index 6aa6494..7a833af 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xd
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,9 +109,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdc b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdc
index b95e092..aac84f3 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdc
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdw b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdw
index d56ff8e..440d77c 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xdw
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xn b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xn
index edef658..7fe02cc 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xn
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,9 +109,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xr b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xr
index afe1f95..9bf491a 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xr
@@ -98,8 +98,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -172,7 +172,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xs b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xs
index 8c3996b..30bc562 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xs
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,9 +100,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsc b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsc
index 3a45706..f09b2fd 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsc
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,9 +100,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsw b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsw
index f507859..3b219ca 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xsw
@@ -74,7 +74,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -99,9 +99,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -122,15 +122,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 :
{
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xu b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xu
index 93793f5..53803cd 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xu
@@ -98,8 +98,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xw b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xw
index 9ce395d..3da5347 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64btsmip.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf64btsmip.xw
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.x b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.x
index a59f71c..ee27fd0 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.x
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.x
@@ -80,7 +80,7 @@ SECTIONS
.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,9 +110,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -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 :
@@ -224,6 +222,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -252,7 +251,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xbn b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xbn
index 2e094e3..3db7f56 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xbn
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xbn
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,8 +109,8 @@ 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. */
+ /* 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. */
. = .;
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -222,6 +220,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -249,7 +248,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xc b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xc
index 36e3c6e..1047e03 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xc
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xc
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xd b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xd
index 0c05bb0..8dd98de 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xd
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xd
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,9 +109,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdc b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdc
index e6f0b33..5f1ada7 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdc
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdc
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdw b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdw
index 3987955..63b4a0e 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdw
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xdw
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xn b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xn
index 4e21f95..de12b00 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xn
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xn
@@ -79,7 +79,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -109,9 +109,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -135,8 +135,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 = .);
@@ -144,8 +143,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 :
@@ -223,6 +221,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xr b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xr
index 287bfb7..0a5a9e4 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xr
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xr
@@ -98,8 +98,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -172,7 +172,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xs b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xs
index 4176b7e..a03ac25 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xs
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xs
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,9 +100,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsc b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsc
index 6a8b05c..72db9b9 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsc
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsc
@@ -75,7 +75,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -100,9 +100,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -123,15 +123,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 :
{
@@ -210,6 +208,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -238,7 +237,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsw b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsw
index b6e4dda..694d0ca 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsw
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xsw
@@ -74,7 +74,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -99,9 +99,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -122,15 +122,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 :
{
@@ -209,6 +207,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -237,7 +236,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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xu b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xu
index 297326b..9172f14 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xu
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xu
@@ -98,8 +98,8 @@ SECTIONS
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges 0 : 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. */
+ /* 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. */
/* Exception handling */
.eh_frame 0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -173,7 +173,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.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) }
diff --git a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xw b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xw
index c8a00f8..0419c03 100644
--- a/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xw
+++ b/mipsel-linux-android/lib/ldscripts/elf64ltsmip.xw
@@ -82,7 +82,7 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.text.unlikely .text.*_unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
@@ -112,9 +112,9 @@ 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. */
- . = ALIGN (CONSTANT (MAXPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+ /* 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)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
@@ -138,8 +138,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 = .);
@@ -147,8 +146,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 :
@@ -226,6 +224,7 @@ SECTIONS
. = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
+ . = SEGMENT_START("ldata-segment", .);
. = ALIGN(64 / 8);
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
@@ -254,7 +253,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) }
diff --git a/mipsel-linux-android/lib/libatomic.a b/mipsel-linux-android/lib/libatomic.a
index 091892b..b2187ab 100644
--- a/mipsel-linux-android/lib/libatomic.a
+++ b/mipsel-linux-android/lib/libatomic.a
Binary files differ
diff --git a/mipsel-linux-android/lib/libgomp.a b/mipsel-linux-android/lib/libgomp.a
index 5f36d49..87d7a5b 100644
--- a/mipsel-linux-android/lib/libgomp.a
+++ b/mipsel-linux-android/lib/libgomp.a
Binary files differ
diff --git a/mipsel-linux-android/lib/mips-r2/libatomic.a b/mipsel-linux-android/lib/mips-r2/libatomic.a
index 9d82b10..05adf55 100644
--- a/mipsel-linux-android/lib/mips-r2/libatomic.a
+++ b/mipsel-linux-android/lib/mips-r2/libatomic.a
Binary files differ
diff --git a/mipsel-linux-android/lib/mips-r2/libgomp.a b/mipsel-linux-android/lib/mips-r2/libgomp.a
index 35b9fe4..4b6e054 100644
--- a/mipsel-linux-android/lib/mips-r2/libgomp.a
+++ b/mipsel-linux-android/lib/mips-r2/libgomp.a
Binary files differ