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]

gdb patches for sparc-linux


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 */