Rev 3157 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4342 | svoboda | 1 | /* |
3004 | svoboda | 2 | * The difference from _link.ld.in for regular statically-linked apps |
3 | * is the base address and the special interp section. |
||
2987 | svoboda | 4 | */ |
4342 | svoboda | 5 | STARTUP(LIBC_PREFIX/arch/UARCH/src/entry.o) |
2928 | svoboda | 6 | ENTRY(__entry) |
7 | |||
8 | PHDRS { |
||
3004 | svoboda | 9 | interp PT_INTERP; |
10 | text PT_LOAD FILEHDR PHDRS FLAGS(5); |
||
2928 | svoboda | 11 | data PT_LOAD FLAGS(6); |
12 | } |
||
13 | |||
14 | SECTIONS { |
||
3004 | svoboda | 15 | .interp : { |
16 | *(.interp); |
||
3102 | svoboda | 17 | } :interp |
3004 | svoboda | 18 | |
2959 | svoboda | 19 | . = 0x70001000; |
2928 | svoboda | 20 | |
21 | .init ALIGN(0x1000) : SUBALIGN(0x1000) { |
||
22 | *(.init); |
||
23 | } :text |
||
24 | .text : { |
||
25 | *(.text); |
||
26 | *(.rodata*); |
||
27 | } :text |
||
28 | |||
29 | .data ALIGN(0x1000) : SUBALIGN(0x1000) { |
||
30 | *(.data); |
||
31 | } :data |
||
32 | .tdata : { |
||
33 | _tdata_start = .; |
||
34 | *(.tdata); |
||
35 | _tdata_end = .; |
||
36 | } :data |
||
37 | .tbss : { |
||
38 | _tbss_start = .; |
||
39 | *(.tbss); |
||
40 | _tbss_end = .; |
||
41 | } :data |
||
42 | _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
||
43 | .bss : { |
||
44 | *(COMMON); |
||
45 | *(.bss); |
||
46 | } :data |
||
47 | |||
48 | . = ALIGN(0x1000); |
||
49 | _heap = .; |
||
50 | |||
51 | /DISCARD/ : { |
||
52 | *(*); |
||
53 | } |
||
54 | |||
55 | } |