* scripttempl/h8300s.sc: New file for H8/S.
* 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.
This commit is contained in:
parent
2459179f7a
commit
71415be57c
28
ld/.Sanitize
28
ld/.Sanitize
|
@ -114,6 +114,34 @@ else
|
|||
done
|
||||
fi
|
||||
|
||||
h8s_files="ChangeLog Makefile.in configure.tgt"
|
||||
if ( echo $* | grep keep\-h8s > /dev/null ) ; then
|
||||
for i in $h8s_files ; do
|
||||
if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Keeping h8s stuff in $i
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
for i in $h8s_files ; do
|
||||
if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Removing traces of \"h8s\" from $i...
|
||||
fi
|
||||
cp $i new
|
||||
sed '/start\-sanitize\-h8s/,/end-\sanitize\-h8s/d' < $i > new
|
||||
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Caching $i in .Recover...
|
||||
fi
|
||||
mv $i .Recover
|
||||
fi
|
||||
mv new $i
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for i in * ; do
|
||||
if test ! -d $i && (grep sanitize $i > /dev/null) ; then
|
||||
echo '***' Some mentions of Sanitize are still left in $i! 1>&2
|
||||
|
|
|
@ -23,6 +23,14 @@ else
|
|||
lose_these_too="${arc_files} ${lose_these_too}"
|
||||
fi
|
||||
|
||||
h8s_files="h8300s.sh"
|
||||
|
||||
if ( echo $* | grep keep\-h8s > /dev/null ) ; then
|
||||
keep_these_too="${h8s_files} ${keep_these_too}"
|
||||
else
|
||||
lose_these_too="${h8s_files} ${lose_these_too}"
|
||||
fi
|
||||
|
||||
# All files listed between the "Things-to-keep:" line and the
|
||||
# "Do-last:" line will be kept. All other files will be removed.
|
||||
# Directories listed in this section will have their own Sanitize
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
SCRIPT_NAME=h8300s
|
||||
OUTPUT_FORMAT="coff-h8300"
|
||||
TEXT_START_ADDR=0x8000
|
||||
TARGET_PAGE_SIZE=128
|
||||
ARCH=h8300
|
|
@ -15,6 +15,14 @@
|
|||
|
||||
Do-first:
|
||||
|
||||
h8s_files="h8300s.sc"
|
||||
|
||||
if ( echo $* | grep keep\-h8s > /dev/null ) ; then
|
||||
keep_these_too="${h8s_files} ${keep_these_too}"
|
||||
else
|
||||
lose_these_too="${h8s_files} ${lose_these_too}"
|
||||
fi
|
||||
|
||||
# All files listed between the "Things-to-keep:" line and the
|
||||
# "Do-last:" line will be kept. All other files will be removed.
|
||||
# Directories listed in this section will have their own Sanitize
|
||||
|
|
|
@ -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