root / tests / xtensa / linker.ld @ 7d890b40
History | View | Annotate | Download (2.2 kB)
1 |
OUTPUT_FORMAT("elf32-xtensa-le") |
---|---|
2 |
ENTRY(_start) |
3 |
|
4 |
__DYNAMIC = 0; |
5 |
|
6 |
MEMORY { |
7 |
ram : ORIGIN = 0xd0000000, LENGTH = 0x08000000 /* 128M */ |
8 |
rom : ORIGIN = 0xfe000000, LENGTH = 0x00001000 /* 4k */ |
9 |
} |
10 |
|
11 |
SECTIONS |
12 |
{ |
13 |
.init : |
14 |
{ |
15 |
*(.init) |
16 |
*(.init.*) |
17 |
} > rom |
18 |
|
19 |
.vector : |
20 |
{ |
21 |
. = 0x00000000; |
22 |
*(.vector.window_overflow_4) |
23 |
*(.vector.window_overflow_4.*) |
24 |
. = 0x00000040; |
25 |
*(.vector.window_underflow_4) |
26 |
*(.vector.window_underflow_4.*) |
27 |
. = 0x00000080; |
28 |
*(.vector.window_overflow_8) |
29 |
*(.vector.window_overflow_8.*) |
30 |
. = 0x000000c0; |
31 |
*(.vector.window_underflow_8) |
32 |
*(.vector.window_underflow_8.*) |
33 |
. = 0x00000100; |
34 |
*(.vector.window_overflow_12) |
35 |
*(.vector.window_overflow_12.*) |
36 |
. = 0x00000140; |
37 |
*(.vector.window_underflow_12) |
38 |
*(.vector.window_underflow_12.*) |
39 |
|
40 |
. = 0x00000180; |
41 |
*(.vector.level2) |
42 |
*(.vector.level2.*) |
43 |
. = 0x000001c0; |
44 |
*(.vector.level3) |
45 |
*(.vector.level3.*) |
46 |
. = 0x00000200; |
47 |
*(.vector.level4) |
48 |
*(.vector.level4.*) |
49 |
. = 0x00000240; |
50 |
*(.vector.level5) |
51 |
*(.vector.level5.*) |
52 |
. = 0x00000280; |
53 |
*(.vector.level6) |
54 |
*(.vector.level6.*) |
55 |
. = 0x000002c0; |
56 |
*(.vector.level7) |
57 |
*(.vector.level7.*) |
58 |
|
59 |
. = 0x00000300; |
60 |
*(.vector.kernel) |
61 |
*(.vector.kernel.*) |
62 |
. = 0x00000340; |
63 |
*(.vector.user) |
64 |
*(.vector.user.*) |
65 |
. = 0x000003c0; |
66 |
*(.vector.double) |
67 |
*(.vector.double.*) |
68 |
} > ram |
69 |
|
70 |
.text : |
71 |
{ |
72 |
_ftext = .; |
73 |
*(.text .stub .text.* .gnu.linkonce.t.* .literal .literal.*) |
74 |
_etext = .; |
75 |
} > ram |
76 |
|
77 |
.rodata : |
78 |
{ |
79 |
. = ALIGN(4); |
80 |
_frodata = .; |
81 |
*(.rodata .rodata.* .gnu.linkonce.r.*) |
82 |
*(.rodata1) |
83 |
_erodata = .; |
84 |
} > ram |
85 |
|
86 |
.data : |
87 |
{ |
88 |
. = ALIGN(4); |
89 |
_fdata = .; |
90 |
*(.data .data.* .gnu.linkonce.d.*) |
91 |
*(.data1) |
92 |
_gp = ALIGN(16); |
93 |
*(.sdata .sdata.* .gnu.linkonce.s.*) |
94 |
_edata = .; |
95 |
} > ram |
96 |
|
97 |
.bss : |
98 |
{ |
99 |
. = ALIGN(4); |
100 |
_fbss = .; |
101 |
*(.dynsbss) |
102 |
*(.sbss .sbss.* .gnu.linkonce.sb.*) |
103 |
*(.scommon) |
104 |
*(.dynbss) |
105 |
*(.bss .bss.* .gnu.linkonce.b.*) |
106 |
*(COMMON) |
107 |
_ebss = .; |
108 |
_end = .; |
109 |
} > ram |
110 |
} |
111 |
|
112 |
PROVIDE(_fstack = ORIGIN(ram) + LENGTH(ram) - 4); |