/* Parameters for hosting on an RS6000, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+ Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
Contributed by IBM Corporation.
This file is part of GDB.
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
+ * <sys/select.h> below.
+ */
+#undef fd_set
+
+#include <sys/select.h>
+#include <sys/ptrace.h>
+
/* Big end is at the low address */
#define HOST_BYTE_ORDER BIG_ENDIAN
#define USG 1
#define HAVE_SIGSETMASK 1
+/* AIX declares the mem functions */
+
+#undef MEM_FNS_DECLARED
+#define MEM_FNS_DECLARED 1
+
/* This system requires that we open a terminal with O_NOCTTY for it to
not become our controlling terminal. */
/* The IBM compiler requires this in order to properly compile alloca(). */
#pragma alloca
+/* There is no vfork. */
+
#define vfork fork
/* Do implement the attach and detach commands. */
#define SETPGRP_ARGS 1
-/* RS6000/AIXCOFF does not support PT_STEP. Has to be simulated. */
-
-#define NO_SINGLE_STEP
-
-/* Interface between xcoff symbol reading code and AIX shared library
- handling code. FIXME, this probably needs generalizing. */
-
-#define XCOFF_INIT_LOADINFO() xcoff_init_loadinfo()
-#define XCOFF_ADD_TOC_TO_LOADINFO(x) xcoff_add_toc_to_loadinfo (x)
-
-/* AIX's assembler doesn't grok dollar signs in identifiers.
- So we use dots instead. This item must be coordinated with G++. */
-#undef CPLUS_MARKER
-#define CPLUS_MARKER '.'
-
/* Flag for machine-specific stuff in shared files. FIXME */
#define IBM6000_HOST
/* /usr/include/stdlib.h always uses void* and void,
even when __STDC__ isn't defined. */
#define MALLOC_INCOMPATIBLE
-extern void* malloc PARAMS (());
-extern void* realloc PARAMS (());
-extern void free PARAMS (());
+extern void *malloc PARAMS ((size_t size));
+extern void *realloc PARAMS ((void *ptr, size_t size));
+extern void free PARAMS ((void *));
+/* AIX doesn't have strdup, so we need to declare it for libiberty */
+extern char *strdup PARAMS ((char *));