X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fmips%2Flinker.ld;h=5b8ab8be69314f4a0117fc2e2a4012644e32dbd1;hb=fa49b56b41be191e83bcf8222381fee2c4e0355b;hp=cc6b351c0ded4c743ab56e90461fc35eda5b8212;hpb=a0aa07add21c04f69d6ea5475f45e3e814eb4b4d;p=org.ibex.core.git diff --git a/src/org/xwt/mips/linker.ld b/src/org/xwt/mips/linker.ld index cc6b351..5b8ab8b 100644 --- a/src/org/xwt/mips/linker.ld +++ b/src/org/xwt/mips/linker.ld @@ -1,7 +1,4 @@ -SEARCH_DIR(build) ENTRY(_start) -STARTUP(org/xwt/imp/crt0.c.o) -INPUT(org/xwt/imp/syscalls.c.o) GROUP(-lc -lgcc) __DYNAMIC = 0; @@ -9,14 +6,36 @@ SECTIONS { . = 0x10000; .text : { *(.init) - *(.text) *(.rodata) *(.rodata.*) *(.eh_frame) + *(.text) *(.text.*) *(.fini) } + .ctors : + { + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } + + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } + . = ALIGN(4k); + + .rodata : { + *(.rodata) *(.rodata.*) *(.eh_frame) *(.jcr) + } + .data : { *(.data) } + . = ALIGN(16); PROVIDE(_gp = . + 0x8000); .sdata : {