More gcc lint:
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 9 Sep 1993 18:33:44 +0000 (18:33 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 9 Sep 1993 18:33:44 +0000 (18:33 +0000)
* 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.

20 files changed:
gdb/ChangeLog
gdb/config/m68k/.Sanitize
gdb/config/m68k/m68k-em.mt
gdb/config/m68k/tm-3b1.h
gdb/config/m68k/tm-altos.h
gdb/config/m68k/tm-amix.h
gdb/config/m68k/tm-delta68.h
gdb/config/m68k/tm-dpx2.h
gdb/config/m68k/tm-es1800.h
gdb/config/m68k/tm-hp300bsd.h
gdb/config/m68k/tm-hp300hpux.h
gdb/config/m68k/tm-isi.h
gdb/config/m68k/tm-m68k-em.h
gdb/config/m68k/tm-m68k.h
gdb/config/m68k/tm-news.h
gdb/config/m68k/tm-st2000.h
gdb/config/m68k/tm-sun2.h
gdb/config/m68k/tm-sun3.h
gdb/config/m68k/tm-vx68.h
gdb/configure.in

index 2e42103f45035c4bbc133871655b29ed0e181479..cd41715257d012018f645f1a6f45c59405a3fec0 100644 (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)
index 611fe67cb827843a7b621b26a84d5afdb3c5c05c..9947f75c0eabc92fcf00732310811f3d8c2f99e1 100644 (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
index 177613da1058f0efbf89d051ce7f8752ecbcc9ce..0d0a94602a535fe7c79c0b9c989212a285e29b89 100644 (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
index 4d726d3ebb2098cb8c15b985a7929a6cea0e000d..57c6e00ab2e4c12fdcfc617f24205c897d65ff5a 100644 (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. */
 
index 05ba2f3b28c40b64aa9746c12ecad447e5cd687d..e8092bfb8ceda53c84f97bff141b9a8c1d8a4a59 100644 (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. */
 
index 5d5f8a223eea405e74f18851e0e6e57a3a1aa0f3..f3469dd9cbdbb631db8571f0a52be8012dd461d8 100644 (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. */
 
index f0bef1fbe990faf9f5553e1c5c1bd5338416a022..e7ec0fa6552f7f42e52f09315cebcd5663aa20e1 100644 (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)
index 026723f14e55a4d7d3dd10a3c0adc5b297a580fb..694e05488c8d0fe6d4e61b7047cf9c4211dba400 100644 (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
index bd1dbe349ce0f8c10e8e085bae76d5a0861755cd..d07e26a709386b62b48998e8947ed41aeb5786c2 100644 (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. 
index 900d7fdaaa3aab551b0d83612a2d92880e7f50b9..0e5bf90f44933141fe7393e30a626c24173c9ea3 100644 (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. */
 
index 61e755bc61157cbb15e963fc4f827a4ed667dad7..0f5f23f7cff8f8a39278a4fea16d569e329b8f11 100644 (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. */
 
index e57f3048c8ba79171a02a747763422db34f9ee69..e279080e90b9c049b1e8874ece1a6db33365b58e 100644 (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
index 4dcebaa717b9686535e20390b78f583a100528b4..c4fc5ff1d0d21d186cc88ea97592ac34595a0143 100644 (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
index 29e45ca8afb7b6577aea2bc5ccf8448bca50db30..db7b6a4f62a04e04d3347968a7b532b41d4ec680 100644 (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.  */
index 09fc7c4291d06738b90d491277bc4cd038b53aa2..886cf250227186746360b3a432b4623c6ae69640 100644 (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.  */
index 6a238303853f0adddfac32c3c06fbdd247273a29..7c24a114bf83cdaebd7af946f60b858892eada9f 100644 (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"
index a2d08afc32d7772b4c7234352e59b11f3e9a77b5..5e5c4ba801781378ea896b00a2a36510c5bc1e6e 100644 (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"
index 103abfc7a4ff2435c58013594760132f59f85372..2d0432b3b1b0ce93767dffef12a5a47915ce46c7 100644 (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.  */
 
index e47accffce9d1fb46aa052e3958b9948bc5d911d..9eb6a4bfb231b7b5aa94ff648ef3f0fc03b5c1aa 100644 (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
 
index a61de103362e5e342ab3afc8972352a705c9e8de..75ac07a659754ac59490d697f5d4a1ba0a66fa0e 100644 (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 ;;