| # Copyright (C) 2014-2016 Free Software Foundation, Inc. |
| # |
| # Copying and distribution of this file, with or without modification, |
| # are permitted in any medium without royalty provided the copyright |
| # notice and this notice are preserved. |
| |
| # These are substituted in as variables in order to get '}' in a shell |
| # conditional expansion. |
| INIT='.init : { *(.init) }' |
| FINI='.fini : { *(.fini) }' |
| |
| cat <<EOF |
| /* Copyright (C) 2014-2016 Free Software Foundation, Inc. |
| |
| Copying and distribution of this script, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. */ |
| |
| OUTPUT_FORMAT("${OUTPUT_FORMAT}") |
| OUTPUT_ARCH(${ARCH}) |
| ${RELOCATING+ENTRY (__start)} |
| ${RELOCATING+${LIB_SEARCH_DIRS}} |
| |
| SECTIONS |
| { |
| .text ${RELOCATING+ (0x20007 + SIZEOF_HEADERS) &~ 7} : |
| { |
| ${RELOCATING+ __.text.start = .}; |
| ${RELOCATING+ __.init.start = .}; |
| ${RELOCATING+ *(.init)} |
| ${RELOCATING+ __.init.end = .}; |
| *(.text) |
| ${RELOCATING+ __.tdesc_start = .}; |
| ${RELOCATING+ *(.tdesc)} |
| ${RELOCATING+ __.text_end = .} ; |
| ${RELOCATING+ __.initp.start = .}; |
| ${RELOCATING+ __.initp.end = .}; |
| ${RELOCATING+ __.fini_start = .}; |
| ${RELOCATING+ *(.fini) } |
| ${RELOCATING+ __.fini_end = .}; |
| ${RELOCATING+_etext = .}; |
| } |
| .data ${RELOCATING+ NEXT (0x400000) + ((SIZEOF(.text) + ADDR(.text)) % 0x2000)} : |
| { |
| *(.data) |
| ${RELOCATING+_edata = .}; |
| } |
| .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : |
| { |
| *(.bss) |
| *(COMMON) |
| ${RELOCATING+ _end = .}; |
| ${RELOCATING+ __end = .}; |
| } |
| ${RELOCATING- ${INIT}} |
| ${RELOCATING- ${FINI}} |
| .comment 0 ${RELOCATING+(NOLOAD)} : |
| { |
| *(.comment) |
| } |
| } |
| EOF |