summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog22
-rw-r--r--gdb/configure.in38
-rw-r--r--gdb/tm-68k-noun.h67
-rw-r--r--gdb/tm-68k-un.h26
-rw-r--r--gdb/tm-es1800.h7
-rw-r--r--gdb/tm-sparc.h8
-rw-r--r--gdb/tm-spc-noun.h52
-rw-r--r--gdb/tm-spc-un.h26
-rw-r--r--gdb/tm-sun2.h7
-rw-r--r--gdb/tm-sun3.h5
-rw-r--r--gdb/tm-sunos.h9
-rw-r--r--gdb/tm-vx68.h9
12 files changed, 241 insertions, 35 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f13f8a6dd75..f9c280db164 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,25 @@
+Wed Sep 2 00:10:43 1992 John Gilmore (gnu@cygnus.com)
+
+ * configure.in (*-*-sunos*): Use trailing * to match all
+ sub-variants of SunOS, e.g. sunos4* to match sunos4.1.1.
+ (sparc-*-sunos3): Remove host & target. Sunos3 never shipped
+ in production on Sun-4.
+ ({a29k,i[34]86,i960}-*-elf): Add targets, equivalent to coff.
+ (m68k-*-{aout,coff,elf}): Add targets, w/new config and tm files.
+ (sparc-*-{aout,coff,elf}): Add targets, w/new config and tm files.
+
+ * config/m68k-un.mt, config/m68k-noun.mt, config/sparc-un.mt,
+ config/sparc-noun.mt: New target configs for embedded.
+ * config/sun4os3.{mh,mt}: Remove, never existed in production.
+
+ * tm-68k-un.h, tm-68k-noun.h, tm-spc-un.h, tm-spc-noun.h: New
+ target definitions for embedded with and without underlines on
+ identifiers. FIXME -- this ought to be known by BFD instead.
+
+ * tm-sparc.h, tm-sun2.h, tm-sun3.h: Delete NAMES_HAVE_UNDERSCORE:
+ not a parameter of the CPU, but of the development environment.
+ * tm-es1800.h, tm-sunos.h, tm-vx68.h: Add NAMES_HAVE_UNDERSCORE.
+
Tue Sep 1 17:31:45 1992 John Gilmore (gnu@cygnus.com)
* breakpoint.c (breakpoint_re_set): Avoid setting source symtab
diff --git a/gdb/configure.in b/gdb/configure.in
index b9bbe2d0d20..8c68e72ed8c 100644
--- a/gdb/configure.in
+++ b/gdb/configure.in
@@ -32,8 +32,8 @@ i[34]86-*-sysv*) gdb_host=i386v ;;
i860-*-*) gdb_host=stratus ;;
-m68000-sun-sunos3) gdb_host=sun2os3 ;;
-m68000-sun-sunos4) gdb_host=sun2os4 ;;
+m68000-sun-sunos3*) gdb_host=sun2os3 ;;
+m68000-sun-sunos4*) gdb_host=sun2os4 ;;
m68030-sony-*) gdb_host=news1000 ;;
@@ -52,8 +52,8 @@ m68k-isi-*) gdb_host=isi ;;
m68k-sony-*) gdb_host=news ;;
-m68k-sun-sunos3) gdb_host=sun3os3 ;;
-m68k-sun-sunos4) gdb_host=sun3os4 ;;
+m68k-sun-sunos3*) gdb_host=sun3os3 ;;
+m68k-sun-sunos4*) gdb_host=sun3os4 ;;
m68k-sun-*) gdb_host=sun3 ;;
m88k-motorola-*) gdb_host=delta88 ;;
@@ -81,8 +81,7 @@ romp-*-*) gdb_host=rtbsd ;;
rs6000-*-*) gdb_host=rs6000 ;;
sparc-*-solaris2*) gdb_host=sun4sol2 ;;
-sparc-*-sunos3) gdb_host=sun4os3 ;;
-sparc-*-sunos4) gdb_host=sun4os4 ;;
+sparc-*-sunos4*) gdb_host=sun4os4 ;;
sparc-*-*) gdb_host=sun4 ;;
tahoe-*-*) gdb_host=tahoe ;;
@@ -107,6 +106,7 @@ case "${target}" in
a29k-*-aout) gdb_target=a29k ;;
a29k-*-coff) gdb_target=a29k ;;
+a29k-*-elf) gdb_target=a29k ;;
a29k-*-ebmon) gdb_target=a29k ;;
a29k-*-kern) gdb_target=a29k-kern ;;
a29k-*-none) gdb_target=a29k ;;
@@ -125,25 +125,30 @@ hppa*-*-hpux) gdb_target=hppahpux ;;
i[34]86-sequent-*) gdb_target=symmetry ;;
i[34]86-ncr-*) gdb_target=ncr3000 ;;
+
+i[34]86-*-aout) gdb_target=i386aout ;;
+i[34]86-*-coff) gdb_target=i386v ;;
+i[34]86-*-elf) gdb_target=i386v ;;
+
i[34]86-*-sunos*) gdb_target=sun386 ;;
i[34]86-*-sysv4*) gdb_target=i386v4 ;;
i[34]86-*-scosysv3*) gdb_target=i386v ;;
i[34]86-*-sysv*) gdb_target=i386v ;;
-i[34]86-*-coff) gdb_target=i386v ;;
-i[34]86-*-aout) gdb_target=i386aout ;;
i[34]86-*-linux) gdb_target=linux ;;
i860-*-*) gdb_target=stratus ;;
i960-*-bout) gdb_target=vxworks960 ;;
i960-*-coff) gdb_target=nindy960 ;;
+i960-*-elf) gdb_target=nindy960 ;;
+
i960-*-nindy) gdb_target=nindy960 ;;
i960-*-vxworks) gdb_target=vxworks960 ;;
m68000-ericsson-*) gdb_target=es1800 ;;
-m68000-*-sunos3) gdb_target=sun2os3 ;;
-m68000-*-sunos4) gdb_target=sun2os4 ;;
+m68000-*-sunos3*) gdb_target=sun2os3 ;;
+m68000-*-sunos4*) gdb_target=sun2os4 ;;
m680[01234]0-*-vxworks) gdb_target=vxworks68 ;;
@@ -164,10 +169,14 @@ m68k-isi-*) gdb_target=isi ;;
m68k-netx-*) gdb_target=vxworks68 ;;
m68k-sony-*) gdb_target=news ;;
+m68k-sun-*) gdb_target=sun3 ;;
+
+m68k-*-aout) gdb_target=m68k-un ;;
+m68k-*-coff) gdb_target=m68k-noun ;;
+m68k-*-elf) gdb_target=m68k-noun ;;
m68k-*-sunos3*) gdb_target=sun3os3 ;;
m68k-*-sunos4*) gdb_target=sun3os4 ;;
-m68k-sun-*) gdb_target=sun3 ;;
m68k-*-vxworks*) gdb_target=vxworks68 ;;
@@ -197,9 +206,12 @@ pyramid-*-*) gdb_target=pyramid ;;
rs6000-*-*) gdb_target=rs6000 ;;
+sparc-*-aout) gdb_target=sparc-un ;;
+sparc-*-coff) gdb_target=sparc-noun ;;
+sparc-*-elf) gdb_target=sparc-noun ;;
sparc-*-solaris2*) gdb_target=sun4sol2 ;;
-sparc-*-sunos3) gdb_target=sun4os3 ;;
-sparc-*-sunos4) gdb_target=sun4os4 ;;
+sparc-*-sunos4*) gdb_target=sun4os4 ;;
+sparc-*-vxworks*) gdb_target=sparc-un ;;
sparc-*-*) gdb_target=sun4 ;;
tahoe-*-*) gdb_target=tahoe ;;
diff --git a/gdb/tm-68k-noun.h b/gdb/tm-68k-noun.h
new file mode 100644
index 00000000000..d3e5e62ee12
--- /dev/null
+++ b/gdb/tm-68k-noun.h
@@ -0,0 +1,67 @@
+/* Target machine parameters for an embedded m68k, for GDB, the GNU debugger.
+ This is for object file formats that don't have underlines on symbols.
+ Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "tm-68k.h"
+
+/* Longjmp info comes from the Sun-3 machine description. Might as well
+ guess... */
+
+/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
+ documented in a comment in <machine/setjmp.h>! */
+
+#define JB_ELEMENT_SIZE 4
+
+#define JB_ONSSTACK 0
+#define JB_SIGMASK 1
+#define JB_SP 2
+#define JB_PC 3
+#define JB_PSL 4
+#define JB_D2 5
+#define JB_D3 6
+#define JB_D4 7
+#define JB_D5 8
+#define JB_D6 9
+#define JB_D7 10
+#define JB_A2 11
+#define JB_A3 12
+#define JB_A4 13
+#define JB_A5 14
+#define JB_A6 15
+
+/* Figure out where the longjmp will land. Slurp the args out of the stack.
+ We expect the first arg to be a pointer to the jmp_buf structure from which
+ we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
+ This routine returns true on success */
+
+#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
+
+/* Where is the PC after a call? */
+
+#ifdef __STDC__
+struct frame_info;
+#endif
+
+extern CORE_ADDR sun3_saved_pc_after_call PARAMS ((struct frame_info *));
+
+#undef SAVED_PC_AFTER_CALL
+#define SAVED_PC_AFTER_CALL(frame) \
+ sun3_saved_pc_after_call(frame)
diff --git a/gdb/tm-68k-un.h b/gdb/tm-68k-un.h
new file mode 100644
index 00000000000..36a67eafc37
--- /dev/null
+++ b/gdb/tm-68k-un.h
@@ -0,0 +1,26 @@
+/* Target machine parameters for an embedded m68k, for GDB, the GNU debugger.
+ This is for object file formats that do have underlines on symbols.
+ Copyright 1992 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 this if the C compiler puts an underscore at the front
+ of external names before giving them to the linker. */
+
+#define NAMES_HAVE_UNDERSCORE
+
+#include "tm-68k-noun.h"
diff --git a/gdb/tm-es1800.h b/gdb/tm-es1800.h
index c2f9670c514..7cafe1918b4 100644
--- a/gdb/tm-es1800.h
+++ b/gdb/tm-es1800.h
@@ -2,7 +2,7 @@
The code was originally written by Johan Holmberg TT/SJ Ericsson Telecom
AB and later modified by Johan Henriksson TT/SJ. It was adapted to GDB 4.0
by Jan Norden TX/DK.
- Copyright (C) 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
+ Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
This file is part of GDB.
@@ -27,6 +27,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Kludge... */
#include "tm-sun3.h"
+/* Define this if the C compiler puts an underscore at the front
+ of external names before giving them to the linker. */
+
+#define NAMES_HAVE_UNDERSCORE
+
#undef SAVED_PC_AFTER_CALL
#define SAVED_PC_AFTER_CALL(frame) \
diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h
index a69b53e4032..a8158d07a33 100644
--- a/gdb/tm-sparc.h
+++ b/gdb/tm-sparc.h
@@ -1,4 +1,5 @@
-/* Parameters for SPARC target machines, for GDB, the GNU debugger.
+/* Target machine sub-parameters for SPARC, for GDB, the GNU debugger.
+ This is included by other tm-*.h files to define SPARC cpu-related info.
Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@mcc.com)
@@ -23,11 +24,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Floating point is IEEE compatible. */
#define IEEE_FLOAT
-/* Define this if the C compiler puts an underscore at the front
- of external names before giving them to the linker. */
-
-#define NAMES_HAVE_UNDERSCORE
-
/* When passing a structure to a function, Sun cc passes the address
in a register, not the structure itself. It (under SunOS4) creates
two symbols, so we get a LOC_ARG saying the address is on the stack
diff --git a/gdb/tm-spc-noun.h b/gdb/tm-spc-noun.h
new file mode 100644
index 00000000000..a77ea0a9396
--- /dev/null
+++ b/gdb/tm-spc-noun.h
@@ -0,0 +1,52 @@
+/* Target machine definitions for GDB for an embedded SPARC, that uses
+ a file format where symbols have no leading underscore.
+ Copyright (C) 1989, 1992 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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. */
+
+#include "tm-sparc.h"
+
+/* Arbitrary -- FIXME. */
+
+#undef STACK_END_ADDRESS
+#define STACK_END_ADDRESS 0xf8000000
+
+/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
+ comment in <machine/setjmp.h>! */
+
+#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
+
+#define JB_ONSSTACK 0
+#define JB_SIGMASK 1
+#define JB_SP 2
+#define JB_PC 3
+#define JB_NPC 4
+#define JB_PSR 5
+#define JB_G1 6
+#define JB_O0 7
+#define JB_WBCNT 8
+
+/* Figure out where the longjmp will land. We expect that we have just entered
+ longjmp and haven't yet setup the stack frame, so the args are still in the
+ output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
+ extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
+ This routine returns true on success */
+
+extern int
+get_longjmp_target PARAMS ((CORE_ADDR *));
+
+#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-spc-un.h b/gdb/tm-spc-un.h
new file mode 100644
index 00000000000..60821e9b850
--- /dev/null
+++ b/gdb/tm-spc-un.h
@@ -0,0 +1,26 @@
+/* Target machine definitions for GDB for an embedded SPARC, that
+ uses a file format where symbols have a leading underscore.
+ Copyright (C) 1989, 1992 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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. */
+
+#include "tm-spc-noun.h"
+
+/* The C compiler puts an underscore at the front
+ of external names before giving them to the linker. */
+
+#define NAMES_HAVE_UNDERSCORE
diff --git a/gdb/tm-sun2.h b/gdb/tm-sun2.h
index 38ce53ac3b3..84b8cc8d250 100644
--- a/gdb/tm-sun2.h
+++ b/gdb/tm-sun2.h
@@ -1,5 +1,5 @@
/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 199 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
This file is part of GDB.
@@ -17,11 +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 this if the C compiler puts an underscore at the front
- of external names before giving them to the linker. */
-
-#define NAMES_HAVE_UNDERSCORE
-
/* Address of the end of stack space. We get this from the system
include files. */
diff --git a/gdb/tm-sun3.h b/gdb/tm-sun3.h
index 42d010a1946..490fa548518 100644
--- a/gdb/tm-sun3.h
+++ b/gdb/tm-sun3.h
@@ -24,11 +24,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define GDB_TARGET_IS_SUN3 1
-/* Define this if the C compiler puts an underscore at the front
- of external names before giving them to the linker. */
-
-#define NAMES_HAVE_UNDERSCORE
-
/* Address of the end of stack space. We get this from the system
include files. */
diff --git a/gdb/tm-sunos.h b/gdb/tm-sunos.h
index 8a2324645fd..551def8df64 100644
--- a/gdb/tm-sunos.h
+++ b/gdb/tm-sunos.h
@@ -1,4 +1,6 @@
-/* Copyright (C) 1990, 1991 Free Software Foundation, Inc.
+/* Target machine sub-description for SunOS version 4.
+ This is included by other tm-*.h files to specify SunOS-specific stuff.
+ Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
This file is part of GDB.
@@ -16,6 +18,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. */
-/* This is for SunOS version 4, not for earlier versions. */
+/* The C compiler puts an underscore at the front
+ of external names before giving them to the linker. */
+
+#define NAMES_HAVE_UNDERSCORE
#include "solib.h" /* Support for shared libraries. */
diff --git a/gdb/tm-vx68.h b/gdb/tm-vx68.h
index 81122fc3952..b97c264b14c 100644
--- a/gdb/tm-vx68.h
+++ b/gdb/tm-vx68.h
@@ -1,5 +1,5 @@
-/* Parameters for execution on VxWorks 68k's, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+/* Target machine description for VxWorks 68k's, for GDB, the GNU debugger.
+ Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GDB.
@@ -25,6 +25,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Kludge... */
#include "tm-sun3.h"
+/* Define this if the C compiler puts an underscore at the front
+ of external names before giving them to the linker. */
+
+#define NAMES_HAVE_UNDERSCORE
+
#undef SAVED_PC_AFTER_CALL
#define SAVED_PC_AFTER_CALL(frame) \
read_memory_integer (read_register (SP_REGNUM), 4)