aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl/m88kbcs.sc
diff options
context:
space:
mode:
Diffstat (limited to 'ld/scripttempl/m88kbcs.sc')
-rw-r--r--ld/scripttempl/m88kbcs.sc49
1 files changed, 49 insertions, 0 deletions
diff --git a/ld/scripttempl/m88kbcs.sc b/ld/scripttempl/m88kbcs.sc
new file mode 100644
index 0000000..f52b14d
--- /dev/null
+++ b/ld/scripttempl/m88kbcs.sc
@@ -0,0 +1,49 @@
+# These are substituted in as variables in order to get '}' in a shell
+# conditional expansion.
+INIT='.init : { *(.init) }'
+FINI='.fini : { *(.fini) }'
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+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