aboutsummaryrefslogtreecommitdiffstats
path: root/sparc.ld
diff options
context:
space:
mode:
Diffstat (limited to 'sparc.ld')
-rw-r--r--sparc.ld21
1 files changed, 20 insertions, 1 deletions
diff --git a/sparc.ld b/sparc.ld
index 26ab415..31321be 100644
--- a/sparc.ld
+++ b/sparc.ld
@@ -1,7 +1,6 @@
OUTPUT_FORMAT("elf32-sparc", "elf32-sparc",
"elf32-sparc")
OUTPUT_ARCH(sparc)
-SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/alpha-unknown-linux-gnu/lib);
ENTRY(_start)
SECTIONS
{
@@ -66,6 +65,26 @@ SECTIONS
.data1 : { *(.data1) }
.tdata : { *(.tdata) }
.tbss : { *(.tbss) }
+ .preinit_array :
+ {
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP (*(.preinit_array))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+ }
+ .init_array :
+ {
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array))
+ PROVIDE_HIDDEN (__init_array_end = .);
+ }
+ .fini_array :
+ {
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP (*(.fini_array))
+ KEEP (*(SORT(.fini_array.*)))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+ }
.ctors :
{
*(.ctors)