misc cleanup
[nestedvm.git] / src / org / ibex / nestedvm / linker.ld
1 ENTRY(_start)
2 GROUP(-lc -lgcc)
3
4 __DYNAMIC  =  0;
5
6 SECTIONS {
7   . = 0x10000;
8   .text : {
9     KEEP(*(.init))
10     KEEP(*(.fini))
11     KEEP(*(.text))
12     *(.text.*) 
13     *(.gnu.linkonce.t*)
14   }
15
16   _etext = .;
17
18   .ctors :
19   {
20     KEEP (*crtbegin.o(.ctors))
21     KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
22     KEEP (*(SORT(.ctors.*)))
23     KEEP (*(.ctors))
24   }
25   
26   .dtors :
27   {
28     KEEP (*crtbegin.o(.dtors))
29     KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
30     KEEP (*(SORT(.dtors.*)))
31     KEEP (*(.dtors))
32   }
33
34   . = ALIGN(4k);
35
36   .rodata : {
37     *(.rodata*) *(.gnu.linkonce.r*)
38     *(.gcc_except_table)
39     KEEP(*(.eh_frame)) KEEP(*(.jcr))
40   }
41
42   .data : {
43     *(.data*) *(.gnu.linkonce.d*)
44   }
45
46   . = ALIGN(16);
47    _gp = . + 0x8000;
48   .sdata : {
49     *(.rosdata*) *(.sdata*) *(.gnu.linkonce.s) *(.gnu.linkonce.s.*)
50   }
51   .sbss : {
52     *(.sbss*) *(.scommon*) *(.gnu.linkonce.sb*)
53   }
54
55   .bss : {
56     *(.bss*) *(.gnu.linkonce.b*) *(COMMON) 
57   }
58
59   _end = .;
60 }