]>
Commit | Line | Data |
---|---|---|
63982998 ILT |
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) }' | |
9edc5b2e | 5 | cat <<EOF |
63982998 | 6 | OUTPUT_FORMAT("${OUTPUT_FORMAT}") |
9edc5b2e ILT |
7 | OUTPUT_ARCH(${ARCH}) |
8 | ENTRY(__start) | |
9 | ${RELOCATING+${LIB_SEARCH_DIRS}} | |
10 | ||
11 | SECTIONS | |
12 | { | |
63982998 | 13 | .text ${RELOCATING+ (0x20007 + SIZEOF_HEADERS) &~ 7} : |
9edc5b2e | 14 | { |
9edc5b2e ILT |
15 | ${RELOCATING+ __.text.start = .}; |
16 | ${RELOCATING+ __.init.start = .}; | |
63982998 | 17 | ${RELOCATING+ *(.init)} |
9edc5b2e ILT |
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 =.}; | |
63982998 ILT |
25 | ${RELOCATING+ __.fini_start = .}; |
26 | ${RELOCATING+ *(.fini) } | |
27 | ${RELOCATING+ __.fini_end = .}; | |
9edc5b2e ILT |
28 | ${RELOCATING+_etext =.}; |
29 | } | |
63982998 | 30 | .data ${RELOCATING+ NEXT (0x400000) + ((SIZEOF(.text) + ADDR(.text)) % 0x200)} : |
9edc5b2e ILT |
31 | { |
32 | *(.data) | |
9edc5b2e ILT |
33 | ${RELOCATING+_edata = .}; |
34 | } | |
35 | .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : | |
36 | { | |
37 | *(.bss) | |
38 | *(COMMON) | |
39 | ${RELOCATING+ _end = .}; | |
40 | ${RELOCATING+ __end = .}; | |
63982998 ILT |
41 | } |
42 | ${RELOCATING- ${INIT}} | |
43 | ${RELOCATING- ${FINI}} | |
44 | .comment 0 ${RELOCATING+(NOLOAD)} : | |
45 | { | |
46 | *(.comment) | |
47 | } | |
9edc5b2e ILT |
48 | } |
49 | EOF |