e949e6a6 |
1 | /* |
2 | ----------------------------------------------------------------------------- |
3 | This code is licensed to you under the terms of the GNU GPL, version 2 or, |
4 | at your option, any later version. See the LICENSE.txt file for the text of |
5 | the license. |
6 | ----------------------------------------------------------------------------- |
7 | Linker script for the ARM binary |
8 | ----------------------------------------------------------------------------- |
9 | */ |
15c4dc5a |
10 | INCLUDE ../common/ldscript.common |
11 | |
98bf65a6 |
12 | PHDRS |
13 | { |
e335ca28 |
14 | text PT_LOAD FLAGS(5); |
98bf65a6 |
15 | data PT_LOAD; |
16 | bss PT_LOAD; |
17 | } |
18 | |
15c4dc5a |
19 | ENTRY(Vector) |
20 | SECTIONS |
21 | { |
98bf65a6 |
22 | .start : { |
23 | *(.startos) |
24 | } >osimage :text |
25 | |
26 | .text : { |
0fa01ec7 |
27 | KEEP(*(stage1_image)) |
15c4dc5a |
28 | *(.text) |
29 | *(.text.*) |
30 | *(.eh_frame) |
31 | *(.glue_7) |
32 | *(.glue_7t) |
98bf65a6 |
33 | } >osimage :text |
34 | |
35 | .rodata : { |
36 | *(.rodata) |
cc7580be |
37 | *(.rodata.*) |
fb228974 |
38 | *(fpga_all_bit.data) |
9af48358 |
39 | KEEP(*(.version_information)) |
0fa01ec7 |
40 | . = ALIGN(8); |
98bf65a6 |
41 | } >osimage :text |
42 | |
15c4dc5a |
43 | .data : { |
0fa01ec7 |
44 | KEEP(*(compressed_data)) |
15c4dc5a |
45 | *(.data) |
46 | *(.data.*) |
6c1e2d95 |
47 | *(.ramfunc) |
98bf65a6 |
48 | . = ALIGN(4); |
49 | } >ram AT>osimage :data |
50 | |
51 | __data_src_start__ = LOADADDR(.data); |
52 | __data_start__ = ADDR(.data); |
53 | __data_end__ = __data_start__ + SIZEOF(.data); |
e6153040 |
54 | __os_size__ = SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.rodata); |
15c4dc5a |
55 | |
56 | .bss : { |
57 | __bss_start__ = .; |
58 | *(.bss) |
59 | *(.bss.*) |
98bf65a6 |
60 | . = ALIGN(4); |
61 | __bss_end__ = .; |
9b87d273 |
62 | } >ram AT>ram :bss |
15c4dc5a |
63 | |
98bf65a6 |
64 | .commonarea (NOLOAD) : { |
65 | *(.commonarea) |
66 | } >commonarea :NONE |
15c4dc5a |
67 | } |