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:
Jim Kingdon 1993-09-09 18:33:44 +00:00
parent 5c303f64ca
commit f46ffb9ebd
20 changed files with 80 additions and 132 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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)

View File

@ -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

View File

@ -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.

View File

@ -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. */

View File

@ -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. */

View File

@ -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

View File

@ -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

View File

@ -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. */

View File

@ -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. */

View File

@ -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"

View File

@ -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"

View File

@ -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. */

View File

@ -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

View File

@ -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 ;;