-# Copyright (C) 2014-2016 Free Software Foundation, Inc.
-#
+# Copyright (C) 2014-2020 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.
cat <<EOF
-/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2020 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
-${RELOCATING+ENTRY ("_start")}
+EOF
+
+test -n "${RELOCATING}" && cat <<EOF
+ENTRY ("_start")
MEMORY
{
- vectarea : o =0xc00000, l = 0x0300
-
+ vectarea : o =0xc00000, l = 0x0300
+
introm : o = 0xc00300, l = 0x16000
/* The stack starts at the top of main ram. */
-
+
dram : o = 0x8000 , l = 0xffff
/* At the very top of the address space is the 8-bit area. */
-
- ldata : o =0x4000 ,l = 0x0200
+
+ ldata : o =0x4000 ,l = 0x0200
}
+EOF
+
+cat <<EOF
SECTIONS
{
/*.vects :
- {
- *(.vects)
- } ${RELOCATING+ > vectarea} */
+ {
+ *(.vects)
+ } ${RELOCATING+ > vectarea} */
.init :
- {
- *(.init)
- } ${RELOCATING+ >introm}
-
+ {
+ KEEP (*(SORT_NONE(.init)))
+ ${RELOCATING+KEEP (*(SORT_NONE(.fini)))}
+ } ${RELOCATING+ >introm}
+
.text :
{
- *(.rodata)
- *(.text.*)
+ ${RELOCATING+*(.rodata)}
+ ${RELOCATING+*(.text.*)}
*(.text)
- ${RELOCATING+ _etext = . ; }
+ ${RELOCATING+ _etext = . ; }
} ${RELOCATING+ > introm}
.data :
{
*(.data)
- *(.data.*)
-
+ ${RELOCATING+*(.data.*)}
+
${RELOCATING+ _edata = . ; }
} ${RELOCATING+ > dram}
{
${RELOCATING+ _bss_start = . ;}
*(.bss)
- *(COMMON)
+ ${RELOCATING+*(COMMON)}
${RELOCATING+ _end = . ; }
} ${RELOCATING+ > dram}
- .ldata :
- {
- *(.ldata)
- } ${RELOCATING+ > ldata}
-
-
- .vects :
- {
- *(.vects)
- } ${RELOCATING+ > vectarea}
-
+.ldata :
+ {
+ *(.ldata)
+ } ${RELOCATING+ > ldata}
+.vects :
+ {
+ *(.vects)
+ } ${RELOCATING+ > vectarea}
}
EOF