Browse Source
* emulpararms/h8300s.sh: New file for H8/S.
* Makefile.in (ALL_EMULATIONS): Add H8/S.
(e_h8300s.c): Add dependencies.
* configure.tgt: Add H8/S to targ_extra_emuls.
H8/S linker stuff. Sanitized until status of this code is known.
gdb-4_18-branch
5 changed files with 125 additions and 0 deletions
@ -0,0 +1,5 @@ |
|||
SCRIPT_NAME=h8300s |
|||
OUTPUT_FORMAT="coff-h8300" |
|||
TEXT_START_ADDR=0x8000 |
|||
TARGET_PAGE_SIZE=128 |
|||
ARCH=h8300 |
|||
@ -0,0 +1,76 @@ |
|||
cat <<EOF |
|||
OUTPUT_FORMAT("${OUTPUT_FORMAT}") |
|||
OUTPUT_ARCH(h8300s) |
|||
ENTRY("_start") |
|||
|
|||
/* The memory size is 256KB to coincide with the simulator. |
|||
Don't change either without considering the other. */ |
|||
|
|||
MEMORY |
|||
{ |
|||
/* 0xc4 is a magic entry. We should have the linker just |
|||
skip over it one day... */ |
|||
vectors : o = 0x0000, l = 0xc4 |
|||
magicvectors : o = 0xc4, l = 0x3c |
|||
/* We still only use 256k as the main ram size. */ |
|||
ram : o = 0x0100, l = 0x3fefc |
|||
/* The stack starts at the top of main ram. */ |
|||
topram : o = 0x3fffc, l = 0x4 |
|||
/* This holds variables in the "tiny" sections. */ |
|||
tiny : o = 0xff8000, l = 7f00 |
|||
/* At the very top of the address space is the 8-bit area. */ |
|||
eight : o = 0xffff00, l = 0x100 |
|||
} |
|||
|
|||
SECTIONS |
|||
{ |
|||
.vectors : { |
|||
/* Use something like this to place a specific function's address |
|||
into the vector table. |
|||
|
|||
LONG(ABSOLUTE(_foobar)) */ |
|||
|
|||
*(.vectors) |
|||
} ${RELOCATING+ > vectors} |
|||
.text : { |
|||
*(.rodata) |
|||
*(.text) |
|||
*(.strings) |
|||
${RELOCATING+ _etext = . ; } |
|||
} ${RELOCATING+ > ram} |
|||
.tors : { |
|||
___ctors = . ; |
|||
*(.ctors) |
|||
___ctors_end = . ; |
|||
___dtors = . ; |
|||
*(.dtors) |
|||
___dtors_end = . ; |
|||
} ${RELOCATING+ > ram} |
|||
.data : { |
|||
*(.data) |
|||
${RELOCATING+ _edata = . ; } |
|||
} ${RELOCATING+ > ram} |
|||
.bss : { |
|||
${RELOCATING+ _bss_start = . ;} |
|||
*(.bss) |
|||
*(COMMON) |
|||
${RELOCATING+ _end = . ; } |
|||
} ${RELOCATING+ >ram} |
|||
.stack : { |
|||
${RELOCATING+ _stack = . ; } |
|||
*(.stack) |
|||
} ${RELOCATING+ > topram} |
|||
.tiny : { |
|||
*(.tiny) |
|||
} ${RELOCATING+ > tiny} |
|||
.eight : { |
|||
*(.eight) |
|||
} ${RELOCATING+ > eight} |
|||
.stab 0 ${RELOCATING+(NOLOAD)} : { |
|||
[ .stab ] |
|||
} |
|||
.stabstr 0 ${RELOCATING+(NOLOAD)} : { |
|||
[ .stabstr ] |
|||
} |
|||
} |
|||
EOF |
|||
Loading…
Reference in new issue