aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl/elfm68hc12.sc
diff options
context:
space:
mode:
Diffstat (limited to 'ld/scripttempl/elfm68hc12.sc')
-rw-r--r--ld/scripttempl/elfm68hc12.sc12
1 files changed, 12 insertions, 0 deletions
diff --git a/ld/scripttempl/elfm68hc12.sc b/ld/scripttempl/elfm68hc12.sc
index a0bc4e0..2b25e77 100644
--- a/ld/scripttempl/elfm68hc12.sc
+++ b/ld/scripttempl/elfm68hc12.sc
@@ -165,6 +165,10 @@ BSS_DATA_RELOC="
.scommon 0 : { *(.scommon) }
"
+SOFT_REGS_RELOC="
+ .softregs 0 : { *(.softregs) }
+"
+
cat <<EOF
${RELOCATING+/* Linker script for 68HC12 executable (PROM). */}
${RELOCATING-/* Linker script for 68HC12 object file (ld -r). */}
@@ -393,10 +397,12 @@ SECTIONS
/* Relocation for some bss and data sections. */
${RELOCATING-${BSS_DATA_RELOC}}
+ ${RELOCATING-${SOFT_REGS_RELOC}}
.bss ${RELOCATING-0} :
{
${RELOCATING+__bss_start = .;}
+ ${RELOCATING+*(.softregs)}
${RELOCATING+*(.sbss)}
${RELOCATING+*(.scommon)}
@@ -410,6 +416,12 @@ SECTIONS
${RELOCATING+__bss_size = SIZEOF(.bss);}
${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));}
+ .eeprom ${RELOCATING-0} :
+ {
+ *(.eeprom)
+ *(.eeprom.*)
+ } ${RELOCATING+ > ${EEPROM_MEMORY}}
+
${RELOCATING+${VECTORS}}
/* Stabs debugging sections. */