diff options
Diffstat (limited to 'libgloss/mips/lsi.ld')
-rw-r--r-- | libgloss/mips/lsi.ld | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/libgloss/mips/lsi.ld b/libgloss/mips/lsi.ld index 839382527..c567157cf 100644 --- a/libgloss/mips/lsi.ld +++ b/libgloss/mips/lsi.ld @@ -2,7 +2,6 @@ workspace. */ ENTRY(_start) -STARTUP(crt0.o) OUTPUT_ARCH("mips:4000") OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips") GROUP(-lc -llsi -lgcc) @@ -24,8 +23,6 @@ PROVIDE (__stack = 0); * We have to initalize them twice, so we multiple object file * formats, as some prepend an underscore. */ -PROVIDE (hardware_exit_hook = 0); -PROVIDE (hardware_hazard_hook = 0); PROVIDE (hardware_init_hook = 0); PROVIDE (software_init_hook = 0); @@ -34,23 +31,19 @@ SECTIONS . = 0xA0020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -88,13 +81,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -109,22 +102,18 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } edata = .; _edata = .; _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } end = .; |