]> git.proxmox.com Git - qemu.git/blob - tests/xtensa/linker.ld
vga: optimize ppm_save() divisions
[qemu.git] / tests / xtensa / linker.ld
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);