This is the mail archive of the gdb-testers@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Something to be slipped in for 4.17. I have no idea who did the original patches. I've cleaned them and thinned them down a lot, so I'll claim them for ease of copyright assignment issues. r~
Sun Feb 22 01:03:58 1998 Richard Henderson <rth@cygnus.com>
* configure.host, configure.tgt: Add sparc-linux.
* sparc-nat.c: Include <asm/reg.h> not <machine/reg.h> for Linux.
* config/sparc/*linux*: New files.
? config/sparc/linux.mt
? config/sparc/xm-linux.h
? config/sparc/linux.mh
? config/sparc/nm-linux.h
? config/sparc/tm-linux.h
Index: configure.host
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/configure.host,v
retrieving revision 2.9
diff -u -p -r2.9 configure.host
--- configure.host 1998/02/03 01:20:10 2.9
+++ configure.host 1998/02/22 09:01:25
@@ -144,6 +144,7 @@ rs6000-*-lynxos*) gdb_host=rs6000lynx ;;
rs6000-*-aix4*) gdb_host=aix4 ;;
rs6000-*-*) gdb_host=rs6000 ;;
+sparc-*-linux*) gdb_host=linux ;;
sparc-*-lynxos*) gdb_host=sparclynx ;;
sparc-*-netbsd*) gdb_host=nbsd ;;
sparc-*-solaris2*) gdb_host=sun4sol2 ;;
Index: configure.tgt
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/configure.tgt,v
retrieving revision 2.42
diff -u -p -r2.42 configure.tgt
--- configure.tgt 1998/02/06 22:36:52 2.42
+++ configure.tgt 1998/02/22 09:01:26
@@ -261,6 +261,7 @@ rs6000-*-*) gdb_target=rs6000 ;;
sparc-*-aout*) gdb_target=sparc-em ;;
sparc-*-coff*) gdb_target=sparc-em ;;
sparc-*-elf*) gdb_target=sparc-em ;;
+sparc-*-linux*) gdb_target=linux ;;
sparc-*-lynxos*) gdb_target=sparclynx
configdirs="${configdirs} gdbserver" ;;
sparc-*-netbsd*) gdb_target=nbsd ;;
Index: sparc-nat.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/sparc-nat.c,v
retrieving revision 2.15
diff -u -p -r2.15 sparc-nat.c
--- sparc-nat.c 1997/01/04 00:32:43 2.15
+++ sparc-nat.c 1998/02/22 09:01:27
@@ -25,7 +25,11 @@ Foundation, Inc., 59 Temple Place - Suit
#include <signal.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
+#ifdef __linux__
+#include <asm/reg.h>
+#else
#include <machine/reg.h>
+#endif
#include <sys/user.h>
/* We don't store all registers immediately when requested, since they
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/linux.mh Sun Feb 22 00:47:14 1998
***************
*** 0 ****
--- 1,7 ----
+ # Host: Sparcstation, running Linux
+ XDEPFILES= ser-tcp.o
+ XM_FILE= xm-linux.h
+ NAT_FILE= nm-linux.h
+ NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o
+ HOST_IPC=-DBSD_IPC
+ GDBSERVER_DEPFILES= low-sparc.o
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/linux.mt Sun Feb 22 00:47:21 1998
***************
*** 0 ****
--- 1,3 ----
+ # Target: Sparcstation, running Linux
+ TDEPFILES= sparc-tdep.o solib.o
+ TM_FILE= tm-linux.h
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/nm-linux.h Sun Feb 22 00:44:42 1998
***************
*** 0 ****
--- 1,34 ----
+ /* Macro definitions for running gdb on a Sparc running Linux.
+ Copyright (C) 1989, 1992, 1996, 1998 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+ #include <nm-sysv4.h>
+ #include "solib.h"
+
+ #define FETCH_INFERIOR_REGISTERS
+
+ /* Return sizeof user struct to callers in less machine dependent routines */
+
+ #define KERNEL_U_SIZE kernel_u_size()
+ extern int kernel_u_size PARAMS ((void));
+
+ /* Linux is svr4ish but not that much */
+ #undef USE_PROC_FS
+
+ #define PT_ATTACH PTRACE_SUNATTACH
+ #define PT_DETACH PTRACE_SUNDETACH
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/nm-linux.h~ Sun Feb 22 00:40:03 1998
***************
*** 0 ****
--- 1,31 ----
+ /* Macro definitions for running gdb on a Sparc running Linux.
+ Copyright (C) 1989, 1992, 1996, 1998 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+ #include <nm-sysv4.h>
+ #include "solib.h"
+
+ #define FETCH_INFERIOR_REGISTERS
+
+ /* Return sizeof user struct to callers in less machine dependent routines */
+
+ #define KERNEL_U_SIZE kernel_u_size()
+ extern int kernel_u_size PARAMS ((void));
+
+ /* Linux is svr4ish but not that much */
+ #undef USE_PROC_FS
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/tm-linux.h Sun Feb 22 00:40:03 1998
***************
*** 0 ****
--- 1,29 ----
+ /* Macro definitions for GDB for a Sparc running Linux.
+ Copyright 1989, 1992, 1994, 1995, 1998 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+ #ifndef TM_SPARCLINUX_H
+ #define TM_SPARCLINUX_H
+
+ #include "sparc/tm-sparc.h"
+
+ #define SIGCONTEXT_PC_OFFSET 12
+
+ #include "tm-sysv4.h"
+
+ #endif /* TM_SPARCLINUX_H */
*** /dev/null Mon Dec 31 20:00:00 1979
--- config/sparc/xm-linux.h Sun Feb 22 00:40:03 1998
***************
*** 0 ****
--- 1,48 ----
+ /* Macro definitions for running gdb on a Sparc running Linux.
+ Copyright (C) 1989, 1993, 1994, 1995, 1996, 1998
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+ #ifndef XM_SPARCLINUX_H
+ #define XM_SPARCLINUX_H
+
+ #include "sparc/xm-sparc.h"
+
+ #define HAVE_TERMIOS
+ /* This is the amount to subtract from u.u_ar0
+ to get the offset in the core file of the register values. */
+ #define KERNEL_U_ADDR 0x0
+
+ #define U_REGS_OFFSET 0
+
+ #define NEED_POSIX_SETPGID
+
+ /* Need R_OK etc, but USG isn't defined. */
+ #include <unistd.h>
+
+ /* 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 0xE0000000 /* First mapping here */
+ #define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
+
+ #endif /* _XM_SPARCLINUX_H */