aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-09-03 00:55:04 +0000
committerJohn Gilmore <gnu@cygnus>1992-09-03 00:55:04 +0000
commit82eabd43a8e52ecaff314ee169cea870a12457e1 (patch)
treed1d128522fa3513c6dd1f51eb54b68597939c851
parent6d7bfa9a444075e77c15feb17d7ff10721b1953e (diff)
downloadgdb-82eabd43a8e52ecaff314ee169cea870a12457e1.zip
gdb-82eabd43a8e52ecaff314ee169cea870a12457e1.tar.gz
gdb-82eabd43a8e52ecaff314ee169cea870a12457e1.tar.bz2
* config/rs6000.mh (MH_CFLAGS): Circumvent IBM <rpc/rpc.h> bug,
for files in vx-share/*.c. * xm-rs6000.h (fd_set): Circumvent the rs6000.mh circumvention, for normal GDB source files.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/config/rs6000.mh12
-rw-r--r--gdb/xm-rs6000.h15
3 files changed, 30 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0e9ca50..97f6729 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
Wed Sep 2 13:45:27 1992 John Gilmore (gnu@cygnus.com)
+ * config/rs6000.mh (MH_CFLAGS): Circumvent IBM <rpc/rpc.h> bug,
+ for files in vx-share/*.c.
+ * xm-rs6000.h (fd_set): Circumvent the rs6000.mh circumvention,
+ for normal GDB source files.
+
* Makefile.in (VERSION): Roll to 4.6.6.
* tm-vx68.h, tm-es1800.h: Use tm-68k.h rather than tm-sun3.h.
diff --git a/gdb/config/rs6000.mh b/gdb/config/rs6000.mh
index 393db15..b882fba 100644
--- a/gdb/config/rs6000.mh
+++ b/gdb/config/rs6000.mh
@@ -19,9 +19,19 @@
XDEPFILES= infptrace.o rs6000-xdep.o
XM_FILE= xm-rs6000.h
-# Prevent gcc from being confused. This actually belongs in CC...
+
+# When compiled with cc, for debugging, this argument should be passed.
+# We have no idea who our current compiler is though, so we skip it.
# MH_CFLAGS = -bnodelcsect
+# 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
+
# Because of shared libraries, we risk ending up with *two*
# incompatible versions of malloc if we use GNU malloc ...
MMALLOC_LIB =
diff --git a/gdb/xm-rs6000.h b/gdb/xm-rs6000.h
index 9c820f4..bfa0714 100644
--- a/gdb/xm-rs6000.h
+++ b/gdb/xm-rs6000.h
@@ -1,5 +1,5 @@
/* 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.
@@ -18,6 +18,19 @@ 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
+ * <sys/select.h> below.
+ */
+#undef fd_set
+
#include <sys/select.h>
#include <sys/ptrace.h>