From a1956677e8d40333bb834367d4c6b37ed42ecce7 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Thu, 11 Jan 1996 00:16:56 +0000 Subject: [PATCH] Wed Jan 10 16:08:49 1996 Brendan Kehoe * configure.in, configure: Recognize rs6000-*-aix4*. * config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h". * config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h. * config/rs6000/xm-aix4.h: New file. * config/xm-aix4.h: New file. From the Mentor work...enable configure & build on rs6000-ibm-aix4.1.*. Note this is an unbelievably buggy debugger on this host. --- gdb/ChangeLog | 8 ++++ gdb/config/powerpc/xm-aix.h | 86 +-------------------------------- gdb/config/rs6000/xm-aix4.h | 26 ++++++++++ gdb/config/xm-aix4.h | 96 +++++++++++++++++++++++++++++++++++++ gdb/configure | 1 + gdb/configure.in | 1 + 6 files changed, 133 insertions(+), 85 deletions(-) create mode 100644 gdb/config/rs6000/xm-aix4.h create mode 100644 gdb/config/xm-aix4.h diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aedc851860c..95f33b95bd4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Wed Jan 10 16:08:49 1996 Brendan Kehoe + + * configure.in, configure: Recognize rs6000-*-aix4*. + * config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h". + * config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h. + * config/rs6000/xm-aix4.h: New file. + * config/xm-aix4.h: New file. + Wed Jan 10 11:25:37 1996 Fred Fish From Wilfried Moser : diff --git a/gdb/config/powerpc/xm-aix.h b/gdb/config/powerpc/xm-aix.h index 936e729c6d2..f1ebb5e6ebf 100644 --- a/gdb/config/powerpc/xm-aix.h +++ b/gdb/config/powerpc/xm-aix.h @@ -18,91 +18,7 @@ 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. */ -/* The following text is taken from config/rs6000.mh: - * # The IBM version of /usr/include/rpc/rpc.h has a bug -- it says - * # `extern fd_set svc_fdset;' without ever defining the type fd_set. - * # Unfortunately this occurs in the vx-share code, which is not configured - * # like the rest of GDB (e.g. it doesn't include "defs.h"). - * # We circumvent this bug by #define-ing fd_set here, but undefining it in - * # the xm-rs6000.h file before ordinary modules try to use it. FIXME, IBM! - * MH_CFLAGS='-Dfd_set=int' - * So, here we do the undefine...which has to occur before we include - * below. - */ -#undef fd_set - -#include - -/* Big end is at the low address */ - -#define HOST_BYTE_ORDER BIG_ENDIAN - -/* At least as of AIX 3.2, we have termios. */ -#define HAVE_TERMIOS 1 -/* #define HAVE_TERMIO 1 */ - -#define USG 1 -#define HAVE_SIGSETMASK 1 - -#define FIVE_ARG_PTRACE - -/* AIX declares the mem functions differently than defs.h does. AIX is - right, but defs.h works on more old systems. For now, override it. */ - -#define MEM_FNS_DECLARED 1 - -/* This system requires that we open a terminal with O_NOCTTY for it to - not become our controlling terminal. */ - -#define USE_O_NOCTTY - -/* Brain death inherited from PC's pervades. */ -#undef NULL -#define NULL 0 - -/* The IBM compiler requires this in order to properly compile alloca(). */ -#pragma alloca - -/* There is no vfork. */ - -#define vfork fork - -/* Setpgrp() takes arguments, unlike ordinary Sys V's. */ - -/* #define SETPGRP_ARGS 1 */ - -#if 0 -/* AIX doesn't have strdup, so we need to declare it for libiberty */ -extern char *strdup PARAMS ((char *)); -#endif - -/* Signal handler for SIGWINCH `window size changed'. */ - -#define SIGWINCH_HANDLER aix_resizewindow -extern void aix_resizewindow (); +#include "xm-aix4.h" /* This doesn't seem to be declared in any header file I can find. */ char *termdef PARAMS ((int, int)); - -/* `lines_per_page' and `chars_per_line' are local to utils.c. Rectify this. */ - -#define SIGWINCH_HANDLER_BODY \ - \ -/* Respond to SIGWINCH `window size changed' signal, and reset GDB's \ - window settings approproatelt. */ \ - \ -void \ -aix_resizewindow () \ -{ \ - int fd = fileno (stdout); \ - if (isatty (fd)) { \ - int val; \ - \ - val = atoi (termdef (fd, 'l')); \ - if (val > 0) \ - lines_per_page = val; \ - val = atoi (termdef (fd, 'c')); \ - if (val > 0) \ - chars_per_line = val; \ - } \ -} diff --git a/gdb/config/rs6000/xm-aix4.h b/gdb/config/rs6000/xm-aix4.h new file mode 100644 index 00000000000..1bc5cae9326 --- /dev/null +++ b/gdb/config/rs6000/xm-aix4.h @@ -0,0 +1,26 @@ +/* Parameters for hosting on an RS6000, for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. + Contributed by IBM Corporation. + +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 "xm-aix4.h" + +/* AIX 4.x uses nonstandard "int *" as type of third argument to ptrace() */ + +#define PTRACE_ARG3_TYPE int* + diff --git a/gdb/config/xm-aix4.h b/gdb/config/xm-aix4.h new file mode 100644 index 00000000000..31bb6da9fc4 --- /dev/null +++ b/gdb/config/xm-aix4.h @@ -0,0 +1,96 @@ +/* Parameters for hosting on an PowerPC, for GDB, the GNU debugger. + Copyright 1995 Free Software Foundation, Inc. + Contributed by Cygnus Corporation. + +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. */ + +/* The following text is taken from config/rs6000.mh: + * # The IBM version of /usr/include/rpc/rpc.h has a bug -- it says + * # `extern fd_set svc_fdset;' without ever defining the type fd_set. + * # Unfortunately this occurs in the vx-share code, which is not configured + * # like the rest of GDB (e.g. it doesn't include "defs.h"). + * # We circumvent this bug by #define-ing fd_set here, but undefining it in + * # the xm-rs6000.h file before ordinary modules try to use it. FIXME, IBM! + * MH_CFLAGS='-Dfd_set=int' + * So, here we do the undefine...which has to occur before we include + * below. + */ +#undef fd_set + +#include + +/* Big end is at the low address */ + +#define HOST_BYTE_ORDER BIG_ENDIAN + +/* At least as of AIX 3.2, we have termios. */ +#define HAVE_TERMIOS 1 +/* #define HAVE_TERMIO 1 */ + +#define USG 1 +#define HAVE_SIGSETMASK 1 + +#define FIVE_ARG_PTRACE + +/* AIX declares the mem functions differently than defs.h does. AIX is + right, but defs.h works on more old systems. For now, override it. */ + +#define MEM_FNS_DECLARED 1 + +/* This system requires that we open a terminal with O_NOCTTY for it to + not become our controlling terminal. */ + +#define USE_O_NOCTTY + +/* Brain death inherited from PC's pervades. */ +#undef NULL +#define NULL 0 + +/* The IBM compiler requires this in order to properly compile alloca(). */ +#pragma alloca + +/* There is no vfork. */ + +#define vfork fork + +/* Signal handler for SIGWINCH `window size changed'. */ + +#define SIGWINCH_HANDLER aix_resizewindow +extern void aix_resizewindow (); + +/* `lines_per_page' and `chars_per_line' are local to utils.c. Rectify this. */ + +#define SIGWINCH_HANDLER_BODY \ + \ +/* Respond to SIGWINCH `window size changed' signal, and reset GDB's \ + window settings approproatelt. */ \ + \ +void \ +aix_resizewindow () \ +{ \ + int fd = fileno (stdout); \ + if (isatty (fd)) { \ + int val; \ + \ + val = atoi (termdef (fd, 'l')); \ + if (val > 0) \ + lines_per_page = val; \ + val = atoi (termdef (fd, 'c')); \ + if (val > 0) \ + chars_per_line = val; \ + } \ +} diff --git a/gdb/configure b/gdb/configure index 8df0f2546e2..c3d8d8b3ad9 100755 --- a/gdb/configure +++ b/gdb/configure @@ -2284,6 +2284,7 @@ pyramid-*-*) gdb_host=pyramid ;; romp-*-*) gdb_host=rtbsd ;; rs6000-*-lynxos*) gdb_host=rs6000lynx ;; +rs6000-*-aix4*) gdb_host=aix4 ;; rs6000-*-*) gdb_host=rs6000 ;; sparc-*-lynxos*) gdb_host=sparclynx ;; diff --git a/gdb/configure.in b/gdb/configure.in index 0831ee0647a..8a4bfed71f9 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -319,6 +319,7 @@ pyramid-*-*) gdb_host=pyramid ;; romp-*-*) gdb_host=rtbsd ;; rs6000-*-lynxos*) gdb_host=rs6000lynx ;; +rs6000-*-aix4*) gdb_host=aix4 ;; rs6000-*-*) gdb_host=rs6000 ;; sparc-*-lynxos*) gdb_host=sparclynx ;; -- 2.30.2