From 71415be57c79a33a2b9847a13db2372c8708c294 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 18 Jun 1996 22:55:30 +0000 Subject: [PATCH] * 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. --- ld/.Sanitize | 28 +++++++++++++++ ld/emulparams/.Sanitize | 8 +++++ ld/emulparams/h8300s.sh | 5 +++ ld/scripttempl/.Sanitize | 8 +++++ ld/scripttempl/h8300s.sc | 76 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 125 insertions(+) create mode 100644 ld/emulparams/h8300s.sh create mode 100644 ld/scripttempl/h8300s.sc diff --git a/ld/.Sanitize b/ld/.Sanitize index 3d6589cbde9..c63a6f438be 100644 --- a/ld/.Sanitize +++ b/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 diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 68dee1918f2..d250a1f6097 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -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 diff --git a/ld/emulparams/h8300s.sh b/ld/emulparams/h8300s.sh new file mode 100644 index 00000000000..e27b4f523f1 --- /dev/null +++ b/ld/emulparams/h8300s.sh @@ -0,0 +1,5 @@ +SCRIPT_NAME=h8300s +OUTPUT_FORMAT="coff-h8300" +TEXT_START_ADDR=0x8000 +TARGET_PAGE_SIZE=128 +ARCH=h8300 diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index ed8c0038f53..30fd79c1c46 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -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 diff --git a/ld/scripttempl/h8300s.sc b/ld/scripttempl/h8300s.sc new file mode 100644 index 00000000000..b43abdf55d9 --- /dev/null +++ b/ld/scripttempl/h8300s.sc @@ -0,0 +1,76 @@ +cat < 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 -- 2.30.2