done
fi
-if ( echo $* | grep keep\-sh4 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-sh4 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping sh4 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-sh4 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"sh4\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-sh4/,/end-\sanitize\-sh4/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
-
if ( echo $* | grep keep\-vr4320 > /dev/null ) ; then
for i in * ; do
if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
(mips_store_return_value): handle values smaller than MIPS_REGSIZE
(including structs, if gdb ever allows it).
-start-sanitize-sh4
Fri Jun 20 17:58:34 1997 Fred Fish <fnf@cygnus.com>
* sh-tdep.c (sh_skip_prologue): Also recognize fmov insns.
stack push count accordingly.
* sh-tdep.c (IS_FMOV, FPSCR_SZ): New defines
-end-sanitize-sh4
Thu Jun 19 08:18:48 1997 Mark Alexander <marka@cygnus.com>
* utils.c (floatformat_from_doublest): Improve test for infinity.
/* Target-dependent code for Hitachi Super-H, for GDB.
- Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of GDB.
#include "inferior.h" /* for BEFORE_TEXT_END etc. */
#include "gdb_string.h"
-extern int remote_write_size; /* in remote.c */
-
/* A set of original names, to be used when restoring back to generic
registers from a specific set. */
{ sh_reg_names, bfd_mach_sh },
{ sh3_reg_names, bfd_mach_sh3 },
{ sh3e_reg_names, bfd_mach_sh3e },
- /* start-sanitize-sh4 */
{ sh3e_reg_names, bfd_mach_sh4 },
- /* end-sanitize-sh4 */
{ NULL, 0 }
};
#define IS_MOV_R3(x) (((x) & 0xff00) == 0x1a00)
#define IS_SHLL_R3(x) ((x) == 0x4300)
#define IS_ADD_R3SP(x) ((x) == 0x3f3c)
-/* start-sanitize-sh4 */
#define IS_FMOV(x) (((x) & 0xf00f) == 0xf00b)
#define FPSCR_SZ (1 << 20)
-/* end-sanitize-sh4 */
/* Skip any prologue before the guts of a function */
w = read_memory_integer (start_pc, 2);
while (IS_STS (w)
- /* start-sanitize-sh4 */
|| IS_FMOV (w)
- /* end-sanitize-sh4 */
|| IS_PUSH (w)
|| IS_MOV_SP_FP (w)
|| IS_MOV_R3 (w)
depth -= ((insn & 0xff) ^ 0x80) - 0x80;
insn = read_memory_integer (pc, 2);
}
- /* start-sanitize-sh4 */
else if (IS_FMOV (insn))
{
pc += 2;
depth += 4;
}
}
- /* end-sanitize-sh4 */
else
break;
}
cpu = target_architecture->mach;
else
cpu = 0;
- /* start-sanitize-sh4 */
/* FIXME: sh4 has more registers */
if (cpu == bfd_mach_sh4)
cpu = bfd_mach_sh3;
- /* end-sanitize-sh4 */
printf_filtered ("PC=%08x SR=%08x PR=%08x MACH=%08x MACHL=%08x\n",
read_register (PC_REGNUM),