* emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
* emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
(EEPROM_START_ADDR): Define.
(EEPROM_MEMORY): Define.
* emulparams/m68hc12elf.sh: Likewise.
* scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
section to put soft registers in .page0.
* scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
+2002-06-29 Stephane Carrez <stcarrez@nerim.fr>
+
+ * emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
+ (EEPROM_START_ADDR): Define.
+ (EEPROM_MEMORY): Define.
+ * emulparams/m68hc12elf.sh: Likewise.
+ * scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
+ section to put soft registers in .page0.
+ * scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
+
2002-06-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
* emulparams/hppa64linux.sh (OTHER_GOT_RELOC_SECTIONS): Add rela.opd
ROM_SIZE=0x8000
RAM_START_ADDR=0x01100
RAM_SIZE=0x6F00
+EEPROM_START_ADDR=0xb600
+EEPROM_SIZE=512
TEXT_MEMORY=text
DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
ARCH=m68hc11
MAXPAGESIZE=32
EMBEDDED=yes
OUTPUT_FORMAT="elf32-m68hc11"
TEXT_MEMORY=text
DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
ARCH=m68hc11
MAXPAGESIZE=32
GENERIC_BOARD=yes
ROM_SIZE=0x8000
RAM_START_ADDR=0x01100
RAM_SIZE=0x6F00
+EEPROM_START_ADDR=0x0800
+EEPROM_SIZE=2048
TEXT_MEMORY=text
DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
ARCH=m68hc12
MAXPAGESIZE=32
EMBEDDED=yes
OUTPUT_FORMAT="elf32-m68hc12"
TEXT_MEMORY=text
DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
ARCH=m68hc12
MAXPAGESIZE=32
GENERIC_BOARD=yes
page0 (rwx) : ORIGIN = 0x0, LENGTH = 256
text (rx) : ORIGIN = ${ROM_START_ADDR}, LENGTH = ${ROM_SIZE}
data : ORIGIN = ${RAM_START_ADDR}, LENGTH = ${RAM_SIZE}
+ eeprom : ORIGIN = ${EEPROM_START_ADDR}, LENGTH = ${EEPROM_SIZE}
}
/* Setup the stack on the top of the data memory bank. */
.scommon 0 : { *(.scommon) }
"
+SOFT_REGS_RELOC="
+ .softregs 0 : { *(.softregs) }
+"
+
cat <<EOF
${RELOCATING+/* Linker script for 68HC11 executable (PROM). */}
${RELOCATING-/* Linker script for 68HC11 object file (ld -r). */}
.page0 :
{
*(.page0)
+ ${RELOCATING+*(.softregs)}
} ${RELOCATING+ > page0}
/* Start of text section. */
/* Relocation for some bss and data sections. */
${RELOCATING-${BSS_DATA_RELOC}}
+ ${RELOCATING-${SOFT_REGS_RELOC}}
.bss ${RELOCATING-0} :
{
${RELOCATING+__bss_size = SIZEOF(.bss);}
${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));}
+ .eeprom ${RELOCATING-0} :
+ {
+ *(.eeprom)
+ *(.eeprom.*)
+ } ${RELOCATING+ > ${EEPROM_MEMORY}}
+
${RELOCATING+${VECTORS}}
/* Stabs debugging sections. */
.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). */}
/* 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)}
${RELOCATING+__bss_size = SIZEOF(.bss);}
${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));}
+ .eeprom ${RELOCATING-0} :
+ {
+ *(.eeprom)
+ *(.eeprom.*)
+ } ${RELOCATING+ > ${EEPROM_MEMORY}}
+
${RELOCATING+${VECTORS}}
/* Stabs debugging sections. */