From ebb3a1e550d0ac57495d66c5cda81b8d72af91e4 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Wed, 2 Sep 1992 08:03:42 +0000 Subject: [PATCH] * 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. * 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. --- gdb/ChangeLog | 22 ++++++++++++++++ gdb/configure.in | 38 ++++++++++++++++++--------- gdb/tm-68k-noun.h | 67 +++++++++++++++++++++++++++++++++++++++++++++++ gdb/tm-68k-un.h | 26 ++++++++++++++++++ gdb/tm-es1800.h | 7 ++++- gdb/tm-sparc.h | 8 ++---- gdb/tm-spc-noun.h | 52 ++++++++++++++++++++++++++++++++++++ gdb/tm-spc-un.h | 26 ++++++++++++++++++ gdb/tm-sun2.h | 7 +---- gdb/tm-sun3.h | 5 ---- gdb/tm-sunos.h | 9 +++++-- gdb/tm-vx68.h | 9 +++++-- 12 files changed, 241 insertions(+), 35 deletions(-) create mode 100644 gdb/tm-68k-noun.h create mode 100644 gdb/tm-68k-un.h create mode 100644 gdb/tm-spc-noun.h create mode 100644 gdb/tm-spc-un.h 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 ! */ + +#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 ! */ + +#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) -- 2.30.2