From: Stan Shebs Date: Tue, 12 Jul 1994 00:36:42 +0000 (+0000) Subject: Atari support, from Uwe Seimet (seimet@chemie.uni-kl.de). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=02176ddb2966728363b156e6f250784ea3eb07f9;p=binutils-gdb.git Atari support, from Uwe Seimet (seimet@chemie.uni-kl.de). * configure.in (m68*-atari-sysv4*): New configuration. (m68*-cbm-sysv4*): Use m68kv4 instead of amix. * m68k-tdep.c (R_PS): Define as R_SR if necessary. * config/m68k/m68kv4.mh, config/m68k/m68kv4.mt, config/m68k/tm-m68kv4.h, config/m68k/xm-m68kv4.h: New files. * config/m68k/amix.mh, config/m68k/amix.mt, config/m68k/tm-amix.h, config/m68k/xm-amix.h: Removed, superseded by m68kv4 files. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9af829f59cc..27390009fe0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Mon Jul 11 16:38:49 1994 Stan Shebs (shebs@andros.cygnus.com) + + Atari support, from Uwe Seimet (seimet@chemie.uni-kl.de). + * configure.in (m68*-atari-sysv4*): New configuration. + (m68*-cbm-sysv4*): Use m68kv4 instead of amix. + * m68k-tdep.c (R_PS): Define as R_SR if necessary. + * config/m68k/m68kv4.mh, config/m68k/m68kv4.mt, + config/m68k/tm-m68kv4.h, config/m68k/xm-m68kv4.h: New files. + * config/m68k/amix.mh, config/m68k/amix.mt, + config/m68k/tm-amix.h, config/m68k/xm-amix.h: Removed, superseded + by m68kv4 files. + Sat Jul 9 16:28:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * symtab.c (find_function_start_sal): New function to find diff --git a/gdb/config/m68k/amix.mh b/gdb/config/m68k/amix.mh deleted file mode 100644 index e66d3ffe6cd..00000000000 --- a/gdb/config/m68k/amix.mh +++ /dev/null @@ -1,16 +0,0 @@ -# Host: Commodore Amiga running SVR4. -NAT_FILE= nm-sysv4.h -NATDEPFILES= corelow.o core-svr4.o solib.o procfs.o fork-child.o -XDEPFILES= -XM_FILE= xm-amix.h -SYSV_DEFINE=-DSYSV -REGEX=regex.o -REGEX1=regex.o - -# SVR4 comes standard with terminfo, and in some implementations, the -# old termcap descriptions are incomplete. So ensure that we use the -# new terminfo interface and latest terminal descriptions. -TERMCAP=-ltermlib - -# SVR4 puts the BSD compatible install in /usr/ucb. -INSTALL = /usr/ucb/install -c diff --git a/gdb/config/m68k/amix.mt b/gdb/config/m68k/amix.mt deleted file mode 100644 index ea92eef9947..00000000000 --- a/gdb/config/m68k/amix.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Target: Commodore Amiga running SVR4 -TDEPFILES= m68k-pinsn.o exec.o m68k-tdep.o -TM_FILE= tm-amix.h diff --git a/gdb/config/m68k/m68kv4.mh b/gdb/config/m68k/m68kv4.mh new file mode 100644 index 00000000000..2c7a82bd253 --- /dev/null +++ b/gdb/config/m68k/m68kv4.mh @@ -0,0 +1,19 @@ +# Host: Motorola 680x0 running SVR4 (Commodore Amiga amix or Atari TT ASV) + +XM_FILE= xm-m68kv4.h +XDEPFILES= + +NAT_FILE= nm-sysv4.h +NATDEPFILES= corelow.o core-svr4.o solib.o procfs.o fork-child.o + +SYSV_DEFINE=-DSYSV +REGEX=regex.o +REGEX1=regex.o + +# SVR4 comes standard with terminfo, and in some implementations, the +# old termcap descriptions are incomplete. So ensure that we use the +# new terminfo interface and latest terminal descriptions. +TERMCAP=-ltermlib + +# SVR4 puts the BSD compatible install in /usr/ucb. +INSTALL = /usr/ucb/install -c diff --git a/gdb/config/m68k/m68kv4.mt b/gdb/config/m68k/m68kv4.mt new file mode 100644 index 00000000000..c8ef18f1cee --- /dev/null +++ b/gdb/config/m68k/m68kv4.mt @@ -0,0 +1,4 @@ +# Target: Motorola 680x0 running SVR4 (Commodore Amiga amix or Atari TT ASV) + +TM_FILE= tm-m68kv4.h +TDEPFILES= exec.o m68k-pinsn.o m68k-tdep.o diff --git a/gdb/config/m68k/tm-amix.h b/gdb/config/m68k/tm-amix.h deleted file mode 100644 index f3469dd9cbd..00000000000 --- a/gdb/config/m68k/tm-amix.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Macro definitions for GDB on a Commodore Amiga running SVR4 (amix). - Copyright (C) 1991, Free Software Foundation, Inc. - Written by Fred Fish at Cygnus Support (fnf@cygint) - -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 BPT_VECTOR if it is different than the default. - This is the vector number used by traps to indicate a breakpoint. */ - -#define BPT_VECTOR 0x1 - -/* How much to decrement the PC after a trap. Depends on kernel. */ - -#define DECR_PC_AFTER_BREAK 0 /* No decrement required */ - -/* Use the alternate method of determining valid frame chains. */ - -#define FRAME_CHAIN_VALID_ALTERNATE - -#include "tm-sysv4.h" -#include "m68k/tm-m68k.h" - -/* Offsets (in target ints) into jmp_buf. Not defined in any system header - file, so we have to step through setjmp/longjmp with a debugger and figure - them out. As a double check, note that defines _JBLEN as 13, - which matches the number of elements we see saved by setjmp(). */ - -#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */ - -#define JB_D2 0 -#define JB_D3 1 -#define JB_D4 2 -#define JB_D5 3 -#define JB_D6 4 -#define JB_D7 5 -#define JB_A1 6 -#define JB_A2 7 -#define JB_A3 8 -#define JB_A4 9 -#define JB_A5 10 -#define JB_A6 11 -#define JB_A7 12 - -#define JB_PC JB_A1 /* Setjmp()'s return PC saved in A1 */ - -/* 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) diff --git a/gdb/config/m68k/tm-m68kv4.h b/gdb/config/m68k/tm-m68kv4.h new file mode 100644 index 00000000000..c550fd9f186 --- /dev/null +++ b/gdb/config/m68k/tm-m68kv4.h @@ -0,0 +1,66 @@ +/* Target definitions for GDB on a Motorola 680x0 running SVR4. + (Commodore Amiga with amix or Atari TT with ASV) + Copyright (C) 1991, Free Software Foundation, Inc. + Written by Fred Fish at Cygnus Support (fnf@cygint) + +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 BPT_VECTOR if it is different than the default. + This is the vector number used by traps to indicate a breakpoint. */ + +#define BPT_VECTOR 0x1 + +/* How much to decrement the PC after a trap. Depends on kernel. */ + +#define DECR_PC_AFTER_BREAK 0 /* No decrement required */ + +/* Use the alternate method of determining valid frame chains. */ + +#define FRAME_CHAIN_VALID_ALTERNATE + +#include "tm-sysv4.h" +#include "m68k/tm-m68k.h" + +/* Offsets (in target ints) into jmp_buf. Not defined in any system header + file, so we have to step through setjmp/longjmp with a debugger and figure + them out. As a double check, note that defines _JBLEN as 13, + which matches the number of elements we see saved by setjmp(). */ + +#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */ + +#define JB_D2 0 +#define JB_D3 1 +#define JB_D4 2 +#define JB_D5 3 +#define JB_D6 4 +#define JB_D7 5 +#define JB_A1 6 +#define JB_A2 7 +#define JB_A3 8 +#define JB_A4 9 +#define JB_A5 10 +#define JB_A6 11 +#define JB_A7 12 + +#define JB_PC JB_A1 /* Setjmp()'s return PC saved in A1 */ + +/* 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) diff --git a/gdb/config/m68k/xm-amix.h b/gdb/config/m68k/xm-amix.h deleted file mode 100644 index ffd0192d51e..00000000000 --- a/gdb/config/m68k/xm-amix.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Macro definitions for GDB on a Commodore Amiga running SVR4 (amix) - Copyright 1991, 1992 Free Software Foundation, Inc. - Written by Fred Fish at Cygnus Support (fnf@cygnus.com) - -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. */ - -/* Pick up most of what we need from the generic m68k host include file. */ - -#include "m68k/xm-m68k.h" - -/* Pick up more stuff from the generic SVR4 host include file. */ - -#include "xm-sysv4.h" - -/* The native AT&T compiler for m68k/SVR4 complains about using volatile - to indicate functions that never return. So shut it up by simply - defining away "NORETURN", which is normally defined to "volatile". */ - -#ifndef __GNUC__ -# define NORETURN /**/ -#endif - -/* If you expect to use the mmalloc package to obtain mapped symbol files, - for now you have to specify some parameters that determine how gdb places - the mappings in it's address space. See the comments in map_to_address() - for details. This is expected to only be a short term solution. Yes it - is a kludge. - FIXME: Make this more automatic. */ - -#define MMAP_BASE_ADDRESS 0xC2000000 /* First mapping here */ -#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */ diff --git a/gdb/config/m68k/xm-m68kv4.h b/gdb/config/m68k/xm-m68kv4.h new file mode 100644 index 00000000000..1a011b6efb9 --- /dev/null +++ b/gdb/config/m68k/xm-m68kv4.h @@ -0,0 +1,46 @@ +/* Host definitions for GDB on a Motorola 680x0 running SVR4. + (Commodore Amiga with amix or Atari TT with ASV) + Copyright 1991, 1992 Free Software Foundation, Inc. + Written by Fred Fish at Cygnus Support (fnf@cygnus.com) + +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. */ + +/* Pick up most of what we need from the generic m68k host include file. */ + +#include "m68k/xm-m68k.h" + +/* Pick up more stuff from the generic SVR4 host include file. */ + +#include "xm-sysv4.h" + +/* The native AT&T compiler for m68k/SVR4 complains about using volatile + to indicate functions that never return. So shut it up by simply + defining away "NORETURN", which is normally defined to "volatile". */ + +#ifndef __GNUC__ +# define NORETURN /**/ +#endif + +/* If you expect to use the mmalloc package to obtain mapped symbol files, + for now you have to specify some parameters that determine how gdb places + the mappings in it's address space. See the comments in map_to_address() + for details. This is expected to only be a short term solution. Yes it + is a kludge. + FIXME: Make this more automatic. */ + +#define MMAP_BASE_ADDRESS 0xC2000000 /* First mapping here */ +#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */ diff --git a/gdb/configure.in b/gdb/configure.in index 3632d30db7a..73f5ef967f4 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -75,9 +75,10 @@ m68030-sony-*) gdb_host=news1000 ;; m68*-altos-*) gdb_host=altos ;; m68*-apollo*-sysv*) gdb_host=apollo68v ;; m68*-apollo*-bsd*) gdb_host=apollo68b ;; +m68*-atari-sysv4*) gdb_host=m68kv4 ;; m68*-att-*) gdb_host=3b1 ;; m68*-bull*-sysv*) gdb_host=dpx2 ;; -m68*-cbm-sysv4*) gdb_host=amix ;; +m68*-cbm-sysv4*) gdb_host=m68kv4 ;; m68*-hp-bsd*) gdb_host=hp300bsd ;; m68*-hp-hpux*) gdb_host=hp300hpux ;; m68*-isi-*) gdb_host=isi ;; @@ -238,9 +239,10 @@ m68000-*-sunos4*) gdb_target=sun2os4 ;; m68*-altos-*) gdb_target=altos ;; m68*-apollo*-bsd*) gdb_target=apollo68b ;; +m68*-atari-sysv4*) gdb_target=m68kv4 ;; m68*-att-*) gdb_target=3b1 ;; m68*-bull-sysv*) gdb_target=dpx2 ;; -m68*-cbm-sysv4*) gdb_target=amix ;; +m68*-cbm-sysv4*) gdb_target=m68kv4 ;; m68*-cisco*-*) gdb_target=cisco ;; m68*-ericsson-*) gdb_target=es1800 ;; m68*-hp-bsd*) gdb_target=hp300bsd ;;