mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-29 13:04:46 +08:00
More gcc lint:
* exec.c (ignore): Return 0. * stack.c (return_command): Fetch lazy value directly, not via VALUE_CONTENTS, to avoid "value computed is not used". * inflow.c (new_tty): Move osigttou inside #if. * remote.c (remote_fetch_registers): If remote reply is short, just note that fact and keep going (reading extra registers as all bits 0). (remote_store_registers): Send number of registers that were found by remote_fetch_registers. * m68k-tdep.c, config/m68k/tm-m68k.h, config/m68k/tm-*.h: Remove HAVE_68881. Define CANNOT_STORE_REGISTER if ptrace() can't write floating registers. * config/m68k/{tm-m68k-nofp.h,m68k-nofp.mt,tm-m68k-fp.h,m68k-fp.mt}: Remove, replaced by {tm-m68k-em.h,m68k-em.mt}. * Makefile.in, configure.in: Change accordingly.
This commit is contained in:
parent
5c303f64ca
commit
f46ffb9ebd
@ -1,8 +1,31 @@
|
||||
Thu Sep 9 10:18:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* remote-udi.c (udi_wait, case UDIStdinNeeded): Use a loop calling
|
||||
getchar() (terminated only on '\n') instead of scanf. Send the
|
||||
'\n' which terminates it to the remote system.
|
||||
|
||||
More gcc lint:
|
||||
* exec.c (ignore): Return 0.
|
||||
* stack.c (return_command): Fetch lazy value directly, not via
|
||||
VALUE_CONTENTS, to avoid "value computed is not used".
|
||||
* inflow.c (new_tty): Move osigttou inside #if.
|
||||
|
||||
* remote.c (remote_fetch_registers): If remote reply is short, just
|
||||
note that fact and keep going (reading extra registers as all bits 0).
|
||||
(remote_store_registers): Send number of registers that were found
|
||||
by remote_fetch_registers.
|
||||
* m68k-tdep.c, config/m68k/tm-m68k.h, config/m68k/tm-*.h: Remove
|
||||
HAVE_68881. Define CANNOT_STORE_REGISTER if ptrace() can't write
|
||||
floating registers.
|
||||
* config/m68k/{tm-m68k-nofp.h,m68k-nofp.mt,tm-m68k-fp.h,m68k-fp.mt}:
|
||||
Remove, replaced by {tm-m68k-em.h,m68k-em.mt}.
|
||||
* Makefile.in, configure.in: Change accordingly.
|
||||
|
||||
Thu Sep 9 04:59:03 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* mipsread.c (cross_ref): Allow SGI extended symbol types as cross
|
||||
reference targets.
|
||||
* symmisc.c (print_symbol): Use TYP_TAG_NAME not TYPE_NAME to avoid
|
||||
* symmisc.c (print_symbol): Use TYPE_TAG_NAME not TYPE_NAME to avoid
|
||||
printing of identities.
|
||||
|
||||
Wed Sep 8 19:18:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
@ -40,8 +40,7 @@ hp300hpux.mh
|
||||
hp300hpux.mt
|
||||
isi.mh
|
||||
isi.mt
|
||||
m68k-fp.mt
|
||||
m68k-nofp.mt
|
||||
m68k-em.mt
|
||||
monitor.mt
|
||||
news.mh
|
||||
news.mt
|
||||
@ -67,8 +66,7 @@ sun3os4.mh
|
||||
sun3os4.mt
|
||||
tm-3b1.h
|
||||
tm-delta68.h
|
||||
tm-m68k-fp.h
|
||||
tm-m68k-nofp.h
|
||||
tm-m68k-em.h
|
||||
tm-m68k.h
|
||||
tm-altos.h
|
||||
tm-amix.h
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Target: Motorola 68xxx with floating point
|
||||
TDEPFILES= exec.o m68k-pinsn.o m68k-tdep.o
|
||||
TM_FILE= tm-m68k-fp.h
|
||||
TM_FILE= tm-m68k-em.h
|
||||
|
@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* The child target can't deal with floating registers. */
|
||||
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM)
|
||||
|
||||
/* Define BPT_VECTOR if it is different than the default.
|
||||
This is the vector number used by traps to indicate a breakpoint. */
|
||||
|
||||
|
@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* The child target can't deal with floating registers. */
|
||||
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM)
|
||||
|
||||
/* Define BPT_VECTOR if it is different than the default.
|
||||
This is the vector number used by traps to indicate a breakpoint. */
|
||||
|
||||
|
@ -18,11 +18,6 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* All Amiga's (so far) running UNIX have come standard with the floating
|
||||
point coprocessor. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Define BPT_VECTOR if it is different than the default.
|
||||
This is the vector number used by traps to indicate a breakpoint. */
|
||||
|
||||
|
@ -32,8 +32,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define DECR_PC_AFTER_BREAK 0
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Not sure what happens if we try to store this register, but
|
||||
phdm@info.ucl.ac.be says we need this define. */
|
||||
#define CANNOT_STORE_REGISTER(regno) (regno == FPI_REGNUM)
|
||||
|
@ -22,8 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define BPT_VECTOR 0xe
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Need to get function ends by adding this to epilogue address from .bf
|
||||
record, not using x_fsize field. */
|
||||
#define FUNCTION_EPILOGUE_SIZE 4
|
||||
|
@ -24,8 +24,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define DEFAULT_PROMPT "(esgdb) "
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
#include "m68k/tm-m68k.h"
|
||||
|
||||
/* Longjmp stuff borrowed from sun3 configuration. Don't know if correct.
|
||||
|
@ -21,8 +21,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
including Utah, Mt. Xinu or Berkeley variants. This is NOT for HP-UX.
|
||||
Problems to hpbsd-bugs@cs.utah.edu. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Define BPT_VECTOR if it is different than the default.
|
||||
This is the vector number used by traps to indicate a breakpoint. */
|
||||
|
||||
|
@ -17,8 +17,6 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Define BPT_VECTOR if it is different than the default.
|
||||
This is the vector number used by traps to indicate a breakpoint. */
|
||||
|
||||
|
@ -20,8 +20,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
/* This has not been tested on ISI's running BSD 4.2, but it will probably
|
||||
work. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Data segment starts at etext rounded up to DATAROUND in {N,Z}MAGIC files */
|
||||
|
||||
#define DATAROUND 0x20000
|
||||
|
@ -17,8 +17,6 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
#include "m68k/tm-m68k.h"
|
||||
|
||||
/* Longjmp info comes from the Sun-3 machine description. Might as well
|
||||
|
@ -17,12 +17,9 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Generic 68000 stuff, to be included by other tm-*.h files.
|
||||
Define HAVE_68881 if that is the case. */
|
||||
/* Generic 68000 stuff, to be included by other tm-*.h files. */
|
||||
|
||||
#if defined (HAVE_68881)
|
||||
#define IEEE_FLOAT 1
|
||||
#endif
|
||||
|
||||
/* Define the bit, byte, and word ordering of the machine. */
|
||||
#define TARGET_BYTE_ORDER BIG_ENDIAN
|
||||
@ -91,28 +88,33 @@ read_memory_integer (read_register (SP_REGNUM), 4)
|
||||
|
||||
#define REGISTER_TYPE long
|
||||
|
||||
#if defined (HAVE_68881)
|
||||
# if defined (GDB_TARGET_IS_SUN3)
|
||||
/* Sun3 status includes fpflags, which shows whether the FPU has been used
|
||||
by the process, and whether the FPU was done with an instruction or
|
||||
was interrupted in the middle of a long instruction. See
|
||||
<machine/reg.h>. */
|
||||
/* a&d, pc,sr, fp, fpstat, fpflags */
|
||||
# define NUM_REGS 31
|
||||
# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4 + 4)
|
||||
# else /* Not sun3. */
|
||||
# define NUM_REGS 29
|
||||
# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4)
|
||||
# endif /* Not sun3. */
|
||||
#else /* No 68881. */
|
||||
# define NUM_REGS 18
|
||||
# define REGISTER_BYTES (16*4 + 8)
|
||||
#endif /* No 68881. */
|
||||
#define REGISTER_BYTES_SUN3 (16*4 + 8 + 8*12 + 3*4 + 4)
|
||||
#define REGISTER_BYTES_FP (16*4 + 8 + 8*12 + 3*4)
|
||||
#define REGISTER_BYTES_NOFP (16*4 + 8)
|
||||
|
||||
#if defined (GDB_TARGET_IS_SUN3)
|
||||
/* Sun3 status includes fpflags, which shows whether the FPU has been used
|
||||
by the process, and whether the FPU was done with an instruction or
|
||||
was interrupted in the middle of a long instruction. See
|
||||
<machine/reg.h>. */
|
||||
/* a&d, pc,sr, fp, fpstat, fpflags */
|
||||
# define NUM_REGS 31
|
||||
# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4 + 4)
|
||||
# define REGISTER_BYTES_OK(b) \
|
||||
((b) == REGISTER_BYTES_SUN3 \
|
||||
|| (b) == REGISTER_BYTES_FP \
|
||||
|| (b) == REGISTER_BYTES_NOFP)
|
||||
#else /* Not sun3. */
|
||||
# define NUM_REGS 29
|
||||
# define REGISTER_BYTES_OK(b) \
|
||||
((b) == REGISTER_BYTES_FP \
|
||||
|| (b) == REGISTER_BYTES_NOFP)
|
||||
# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4)
|
||||
#endif /* Not sun3. */
|
||||
|
||||
/* Index within `registers' of the first byte of the space for
|
||||
register N. */
|
||||
|
||||
#if defined (HAVE_68881)
|
||||
#define REGISTER_BYTE(N) \
|
||||
((N) >= FPC_REGNUM ? (((N) - FPC_REGNUM) * 4) + 168 \
|
||||
: (N) >= FP0_REGNUM ? (((N) - FP0_REGNUM) * 12) + 72 \
|
||||
@ -181,52 +183,6 @@ extern const struct ext_format ext_format_68881;
|
||||
(N) == PC_REGNUM || (N) == FP_REGNUM || (N) == SP_REGNUM ? \
|
||||
lookup_pointer_type (builtin_type_void) : builtin_type_int)
|
||||
|
||||
#else /* no 68881. */
|
||||
/* Index within `registers' of the first byte of the space for
|
||||
register N. */
|
||||
|
||||
#define REGISTER_BYTE(N) ((N) * 4)
|
||||
|
||||
/* Number of bytes of storage in the actual machine representation
|
||||
for register N. On the 68000, all regs are 4 bytes. */
|
||||
|
||||
#define REGISTER_RAW_SIZE(N) 4
|
||||
|
||||
/* Number of bytes of storage in the program's representation
|
||||
for register N. On the 68000, all regs are 4 bytes. */
|
||||
|
||||
#define REGISTER_VIRTUAL_SIZE(N) 4
|
||||
|
||||
/* Largest value REGISTER_RAW_SIZE can have. */
|
||||
|
||||
#define MAX_REGISTER_RAW_SIZE 4
|
||||
|
||||
/* Largest value REGISTER_VIRTUAL_SIZE can have. */
|
||||
|
||||
#define MAX_REGISTER_VIRTUAL_SIZE 4
|
||||
|
||||
/* Nonzero if register N requires conversion
|
||||
from raw format to virtual format. */
|
||||
|
||||
#define REGISTER_CONVERTIBLE(N) 0
|
||||
|
||||
/* Convert data from raw format for register REGNUM
|
||||
to virtual format for register REGNUM. */
|
||||
|
||||
#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) memcpy ((TO), (FROM), 4);
|
||||
|
||||
/* Convert data from virtual format for register REGNUM
|
||||
to raw format for register REGNUM. */
|
||||
|
||||
#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) memcpy ((TO), (FROM), 4);
|
||||
|
||||
/* Return the GDB type object for the "standard" data type
|
||||
of data in register N. */
|
||||
|
||||
#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
|
||||
|
||||
#endif /* No 68881. */
|
||||
|
||||
/* Initializer for an array of names of registers.
|
||||
Entries beyond the first NUM_REGS are ignored. */
|
||||
|
||||
@ -249,12 +205,10 @@ extern const struct ext_format ext_format_68881;
|
||||
#define SP_REGNUM 15 /* Contains address of top of stack */
|
||||
#define PS_REGNUM 16 /* Contains processor status */
|
||||
#define PC_REGNUM 17 /* Contains program counter */
|
||||
#if defined (HAVE_68881)
|
||||
#define FP0_REGNUM 18 /* Floating point register 0 */
|
||||
#define FPC_REGNUM 26 /* 68881 control register */
|
||||
#define FPS_REGNUM 27 /* 68881 status register */
|
||||
#define FPI_REGNUM 28 /* 68881 iaddr register */
|
||||
#endif /* 68881. */
|
||||
|
||||
/* Store the address of the place in which to copy the structure the
|
||||
subroutine will return. This is called from call_function. */
|
||||
@ -373,15 +327,18 @@ extern const struct ext_format ext_format_68881;
|
||||
/* The CALL_DUMMY macro is the sequence of instructions, as disassembled
|
||||
by gdb itself:
|
||||
|
||||
These instructions exist only so that m68k_find_saved_regs can parse
|
||||
them as a "prologue"; they are never executed.
|
||||
|
||||
fmovemx fp0-fp7,sp@- 0xf227 0xe0ff
|
||||
moveml d0-a5,sp@- 0x48e7 0xfffc
|
||||
clrw sp@- 0x4267
|
||||
movew ccr,sp@- 0x42e7
|
||||
|
||||
/..* The arguments are pushed at this point by GDB;
|
||||
no code is needed in the dummy for this.
|
||||
The CALL_DUMMY_START_OFFSET gives the position of
|
||||
the following jsr instruction. *../
|
||||
The arguments are pushed at this point by GDB; no code is needed in
|
||||
the dummy for this. The CALL_DUMMY_START_OFFSET gives the position
|
||||
of the following jsr instruction. That is where we start
|
||||
executing.
|
||||
|
||||
jsr @#0x32323232 0x4eb9 0x3232 0x3232
|
||||
addal #0x69696969,sp 0xdffc 0x6969 0x6969
|
||||
@ -389,28 +346,20 @@ extern const struct ext_format ext_format_68881;
|
||||
nop 0x4e71
|
||||
|
||||
Note this is CALL_DUMMY_LENGTH bytes (28 for the above example).
|
||||
We actually start executing at the jsr, since the pushing of the
|
||||
registers is done by PUSH_DUMMY_FRAME. If this were real code,
|
||||
the arguments for the function called by the jsr would be pushed
|
||||
between the moveml and the jsr, and we could allow it to execute through.
|
||||
But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is
|
||||
done, and we cannot allow the moveml to push the registers again lest
|
||||
they be taken for the arguments. */
|
||||
|
||||
#if defined (HAVE_68881)
|
||||
The dummy frame always saves the floating-point registers, whether they
|
||||
actually exist on this target or not. */
|
||||
|
||||
/* FIXME: Wrong to hardwire this as BPT_VECTOR when sometimes it
|
||||
should be REMOTE_BPT_VECTOR. We should be using
|
||||
target_insert_breakpoint (but then I think we need
|
||||
target_remove_breakpoint somewhere--easiest way to make this happen
|
||||
is to make this breakpoint a real breakpoint.c type breakpoint). */
|
||||
|
||||
#define CALL_DUMMY {0xf227e0ff, 0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, (0x4e404e71 | (BPT_VECTOR << 16))}
|
||||
#define CALL_DUMMY_LENGTH 28 /* Size of CALL_DUMMY */
|
||||
#define CALL_DUMMY_START_OFFSET 12 /* Offset to jsr instruction*/
|
||||
|
||||
#else
|
||||
|
||||
#define CALL_DUMMY {0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, (0x4e404e71 | (BPT_VECTOR << 16))}
|
||||
#define CALL_DUMMY_LENGTH 24 /* Size of CALL_DUMMY */
|
||||
#define CALL_DUMMY_START_OFFSET 8 /* Offset to jsr instruction*/
|
||||
|
||||
#endif /* HAVE_68881 */
|
||||
|
||||
/* Insert the specified number of args and function address
|
||||
into a call sequence of the above form stored at DUMMYNAME.
|
||||
We use the BFD routines to store a big-endian value of known size. */
|
||||
|
@ -18,17 +18,14 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* See following cpu type determination macro to get the machine type.
|
||||
|
||||
|
||||
Here is an m-news.h file for gdb. It supports the 68881 registers.
|
||||
by hikichi@srava.sra.junet
|
||||
|
||||
* Support Sun assembly format instead of Motorola one.
|
||||
|
||||
* Ptrace for handling floating register has a bug(before NEWS OS version 2.2),
|
||||
* After NEWS OS version 3.2, some of ptrace's bug is fixed.
|
||||
But we cannot change the floating register(see adb(1) in OS 3.2) yet. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Extract from an array REGBUF containing the (raw) register state
|
||||
a function return value of type TYPE, and copy that, in virtual format,
|
||||
into VALBUF. */
|
||||
|
@ -17,6 +17,4 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define HAVE_68881 /* GDB won't compile without this */
|
||||
|
||||
#include "m68k/tm-m68k.h"
|
||||
|
@ -17,4 +17,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* The child target can't deal with floating registers. */
|
||||
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM)
|
||||
|
||||
#include "m68k/tm-m68k.h"
|
||||
|
@ -17,8 +17,6 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* Let native-versus-cross support code know we are targeting sun3,
|
||||
and modify registers to include sun3 fpustate register. */
|
||||
|
||||
|
@ -22,8 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define DEFAULT_PROMPT "(vxgdb) "
|
||||
|
||||
#define HAVE_68881
|
||||
|
||||
/* We have more complex, useful breakpoints on the target. */
|
||||
#define DECR_PC_AFTER_BREAK 0
|
||||
|
||||
|
@ -202,9 +202,6 @@ i960-*-elf) gdb_target=nindy960 ;;
|
||||
i960-*-nindy) gdb_target=nindy960 ;;
|
||||
i960-*-vxworks) gdb_target=vxworks960 ;;
|
||||
|
||||
m68000-*-aout) gdb_target=m68k-nofp ;;
|
||||
m68000-*-coff) gdb_target=m68k-nofp ;;
|
||||
m68000-*-elf) gdb_target=m68k-nofp ;;
|
||||
m68000-*-sunos3*) gdb_target=sun2os3 ;;
|
||||
m68000-*-sunos4*) gdb_target=sun2os4 ;;
|
||||
|
||||
@ -226,9 +223,9 @@ m68*-rom68k-*) gdb_target=monitor ;;
|
||||
m68*-*bug-*) gdb_target=monitor ;;
|
||||
m68*-monitor-*) gdb_target=monitor ;;
|
||||
|
||||
m68*-*-aout) gdb_target=m68k-fp ;;
|
||||
m68*-*-coff) gdb_target=m68k-fp ;;
|
||||
m68*-*-elf) gdb_target=m68k-fp ;;
|
||||
m68*-*-aout) gdb_target=m68k-em ;;
|
||||
m68*-*-coff) gdb_target=m68k-em ;;
|
||||
m68*-*-elf) gdb_target=m68k-em ;;
|
||||
m68*-*-os68k) gdb_target=os68k ;;
|
||||
m68*-*-sunos3*) gdb_target=sun3os3 ;;
|
||||
m68*-*-sunos4*) gdb_target=sun3os4 ;;
|
||||
|
Loading…
Reference in New Issue
Block a user