Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | # These are substituted in as variables in order to get '}' in a shell |
2 | # conditional expansion. | |
3 | INIT='.init : { *(.init) }' | |
4 | FINI='.fini : { *(.fini) }' | |
5 | cat <<EOF | |
6 | OUTPUT_FORMAT("${OUTPUT_FORMAT}") | |
7 | OUTPUT_ARCH(${ARCH}) | |
8 | ENTRY(__start) | |
9 | ${RELOCATING+${LIB_SEARCH_DIRS}} | |
10 | ||
11 | SECTIONS | |
12 | { | |
13 | .text ${RELOCATING+ (0x20007 + SIZEOF_HEADERS) &~ 7} : | |
14 | { | |
15 | ${RELOCATING+ __.text.start = .}; | |
16 | ${RELOCATING+ __.init.start = .}; | |
17 | ${RELOCATING+ *(.init)} | |
18 | ${RELOCATING+ __.init.end = .}; | |
19 | *(.text) | |
20 | ${RELOCATING+ __.tdesc_start = .}; | |
21 | ${RELOCATING+ *(.tdesc)} | |
22 | ${RELOCATING+ __.text_end = .} ; | |
23 | ${RELOCATING+ __.initp.start = .}; | |
24 | ${RELOCATING+ __.initp.end = .}; | |
25 | ${RELOCATING+ __.fini_start = .}; | |
26 | ${RELOCATING+ *(.fini) } | |
27 | ${RELOCATING+ __.fini_end = .}; | |
28 | ${RELOCATING+_etext = .}; | |
29 | } | |
30 | .data ${RELOCATING+ NEXT (0x400000) + ((SIZEOF(.text) + ADDR(.text)) % 0x2000)} : | |
31 | { | |
32 | *(.data) | |
33 | ${RELOCATING+_edata = .}; | |
34 | } | |
35 | .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : | |
36 | { | |
37 | *(.bss) | |
38 | *(COMMON) | |
39 | ${RELOCATING+ _end = .}; | |
40 | ${RELOCATING+ __end = .}; | |
41 | } | |
42 | ${RELOCATING- ${INIT}} | |
43 | ${RELOCATING- ${FINI}} | |
44 | .comment 0 ${RELOCATING+(NOLOAD)} : | |
45 | { | |
46 | *(.comment) | |
47 | } | |
48 | } | |
49 | EOF |