Statistics
| Branch: | Revision:

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);