* h8300-dep.c (gdb_print_insn_h8300): Handle the H8/S.

(h8300_command): Likewise.
        (set_machine): Likewise.
        (set_machine_hook): Likewise.
        (_initialize_h8300m): Likewise.

        * config/h8300/tm-h8300.h (h8300smode): Declare.

More sanitized H8/S work.
This commit is contained in:
Jeff Law 1996-06-18 23:29:39 +00:00
parent 934f9fa0ff
commit d15396dfe5
4 changed files with 111 additions and 3 deletions

View File

@ -494,6 +494,33 @@ else
done
fi
h8s_files="ChangeLog h8300-tdep.c"
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

View File

@ -15,6 +15,33 @@
Do-first:
h8s_files="tm-h8300.h"
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
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize

View File

@ -22,6 +22,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* 1 if debugging H8/300H application */
extern int h8300hmode;
/* start-sanitize-h8s */
extern int h8300smode;
/* end-sanitize-h8s */
/* Number of bytes in a word */

View File

@ -121,7 +121,12 @@ gdb_print_insn_h8300 (memaddr, info)
bfd_vma memaddr;
disassemble_info *info;
{
if (h8300hmode)
/* start-sanitize-h8s */
if (h8300smode)
return print_insn_h8300s (memaddr, info);
else
/* end-sanitize-h8s */
if (h8300hmode)
return print_insn_h8300h (memaddr, info);
else
return print_insn_h8300 (memaddr, info);
@ -427,6 +432,9 @@ h8300_command(args, from_tty)
{
extern int h8300hmode;
h8300hmode = 0;
/* start-sanitize-h8s */
h8300smode = 0;
/* end-sanitize-h8s */
}
static void
@ -434,14 +442,31 @@ h8300h_command(args, from_tty)
{
extern int h8300hmode;
h8300hmode = 1;
/* start-sanitize-h8s */
h8300smode = 0;
/* end-sanitize-h8s */
}
/* start-sanitize-h8s */
static void
h8300s_command(args, from_tty)
{
extern int h8300smode;
extern int h8300hmode;
h8300smode = 1;
h8300hmode = 1;
}
/* end-santiize-h8s */
static void
set_machine (args, from_tty)
char *args;
int from_tty;
{
printf_unfiltered ("\"set machine\" must be followed by h8300 or h8300h.\n");
printf_unfiltered ("\"set machine\" must be followed by h8300, h8300h");
/* start-sanitize-h8s */
printf_unfiltered ("or h8300s");
/* end-sanitize-h8s */
help_list (setmemorylist, "set memory ", -1, gdb_stdout);
}
@ -455,7 +480,28 @@ static void
set_machine_hook (filename)
char *filename;
{
h8300hmode = (bfd_get_mach (exec_bfd) == bfd_mach_h8300h);
/* start-sanitize-h8s */
if (bfd_get_mach (exec_bfd) == bfd_mach_h8300s)
{
h8300smode = 1;
h8300hmode = 1;
}
else
/* end-sanitize-h8s */
if (bfd_get_mach (exec_bfd) == bfd_mach_h8300h)
{
/* start-sanitize-h8s */
h8300smode = 0;
/* end-sanitize-h8s */
h8300hmode = 1;
}
else
{
/* start-sanitize-h8s */
h8300smode = 0;
/* end-sanitize-h8s */
h8300hmode = 0;
}
}
void
@ -471,6 +517,11 @@ _initialize_h8300m ()
add_cmd ("h8300h", class_support, h8300h_command,
"Set machine to be H8/300H.", &setmemorylist);
/* start-sanitize-h8s */
add_cmd ("h8300s", class_support, h8300s_command,
"Set machine to be H8/300S.", &setmemorylist);
/* end-sanitize-h8s */
/* Add a hook to set the machine type when we're loading a file. */
specify_exec_file_hook(set_machine_hook);