* 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:
parent
934f9fa0ff
commit
d15396dfe5
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue