Rev 3102 | Rev 3157 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3102 | Rev 3129 | ||
---|---|---|---|
1 | /* |
- | |
2 | * The only difference from _link.ld.in for regular statically-linked apps |
- | |
3 | * is the base address. |
- | |
4 | */ |
- | |
5 | STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o) |
1 | STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o) |
6 | ENTRY(__entry) |
2 | ENTRY(__entry) |
7 | 3 | ||
8 | PHDRS { |
4 | PHDRS { |
9 | interp PT_INTERP; |
5 | interp PT_INTERP; |
10 | text PT_LOAD FLAGS(5); |
6 | text PT_LOAD FLAGS(5); |
11 | data PT_LOAD FLAGS(6); |
7 | data PT_LOAD FLAGS(6); |
12 | } |
8 | } |
13 | 9 | ||
14 | SECTIONS { |
10 | SECTIONS { |
15 | .interp : { |
11 | .interp : { |
16 | *(.interp); |
12 | *(.interp); |
17 | } : interp |
13 | } : interp |
18 | 14 | ||
19 | /* . = 0x0000700000001000;*/ |
15 | /* . = 0x0000700000001000;*/ |
20 | . = 0x70001000; |
16 | . = 0x70001000; |
21 | 17 | ||
22 | .init ALIGN(0x1000) : SUBALIGN(0x1000) { |
18 | .init ALIGN(0x1000) : SUBALIGN(0x1000) { |
23 | *(.init); |
19 | *(.init); |
24 | } :text |
20 | } :text |
25 | .text : { |
21 | .text : { |
26 | *(.text); |
22 | *(.text); |
27 | *(.rodata*); |
23 | *(.rodata*); |
28 | } :text |
24 | } :text |
29 | 25 | ||
30 | .data ALIGN(0x1000) : SUBALIGN(0x1000) { |
26 | .data ALIGN(0x1000) : SUBALIGN(0x1000) { |
31 | *(.data); |
27 | *(.data); |
32 | } :data |
28 | } :data |
33 | .tdata : { |
29 | .tdata : { |
34 | _tdata_start = .; |
30 | _tdata_start = .; |
35 | *(.tdata); |
31 | *(.tdata); |
36 | _tdata_end = .; |
32 | _tdata_end = .; |
37 | } :data |
33 | } :data |
38 | .tbss : { |
34 | .tbss : { |
39 | _tbss_start = .; |
35 | _tbss_start = .; |
40 | *(.tbss); |
36 | *(.tbss); |
41 | _tbss_end = .; |
37 | _tbss_end = .; |
42 | } :data |
38 | } :data |
43 | _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
39 | _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
44 | .bss : { |
40 | .bss : { |
45 | *(COMMON); |
41 | *(COMMON); |
46 | *(.bss); |
42 | *(.bss); |
47 | } :data |
43 | } :data |
48 | 44 | ||
49 | . = ALIGN(0x1000); |
45 | . = ALIGN(0x1000); |
50 | _heap = .; |
46 | _heap = .; |
51 | 47 | ||
52 | /DISCARD/ : { |
48 | /DISCARD/ : { |
53 | *(*); |
49 | *(*); |
54 | } |
50 | } |
55 | 51 | ||
56 | } |
52 | } |
57 | 53 |