aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1992-06-19 22:39:44 +0000
committerStu Grossman <grossman@cygnus>1992-06-19 22:39:44 +0000
commit9aa448333dc03c53f4ed8826251f813123705217 (patch)
tree01863321fd1e5fca97baade99de53561d2af9983
parent3fd76e586674dbac90a5e2327a44a17e39f70c88 (diff)
downloadgdb-9aa448333dc03c53f4ed8826251f813123705217.zip
gdb-9aa448333dc03c53f4ed8826251f813123705217.tar.gz
gdb-9aa448333dc03c53f4ed8826251f813123705217.tar.bz2
* Makefile.in (c-exp.tab.c, m2-exp.tab.c): Filter out bogus extern
declarations of malloc/realloc/free that are inserted by some versions of yacc. * m2-exp.y: Prevent conflicts with TRUE and FALSE tokens by #undeffing them. * xm-rs6000.h: Declare malloc/realloc/free appropriately. Yet another decl of strdup (this really ought to come from libiberty.h!).
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/Makefile.in16
-rw-r--r--gdb/m2-exp.y3
-rw-r--r--gdb/xm-rs6000.h9
4 files changed, 31 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4bee594..a443329 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+Fri Jun 19 15:30:15 1992 Stu Grossman (grossman at cygnus.com)
+
+ * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Filter out bogus extern
+ declarations of malloc/realloc/free that are inserted by some
+ versions of yacc.
+ * m2-exp.y: Prevent conflicts with TRUE and FALSE tokens by
+ #undeffing them.
+ * xm-rs6000.h: Declare malloc/realloc/free appropriately. Yet
+ another decl of strdup (this really ought to come from libiberty.h!).
+
Fri Jun 19 10:28:05 1992 John Gilmore (gnu at cygnus.com)
* remote.c (getpkt): Error if input exceeds buffer size.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 12d9ed1..c1b0b50 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -240,7 +240,7 @@ SFILES_KGDB = $(SFILES) stuff.c kdb-start.c
HFILES= breakpoint.h buildsym.h call-cmds.h command.h defs.h demangle.h \
environ.h expression.h frame.h gdbcmd.h gdbcore.h gdbtypes.h \
ieee-float.h inferior.h minimon.h objfiles.h partial-stab.h \
- signals.h symfile.h symtab.h solib.h xcoffsolib.h \
+ serial.h signals.h symfile.h symtab.h solib.h xcoffsolib.h \
target.h terminal.h tm-68k.h tm-i960.h tm-sunos.h tm-sysv4.h \
xm-m68k.h xm-sysv4.h language.h parser-defs.h value.h xm-vax.h
@@ -625,18 +625,28 @@ version.c: Makefile
# c-exp.tab.c is generated in target dir from c-exp.y if it doesn't exist
# in srcdir, then compiled in target dir to c-exp.tab.o.
+# Remove bogus decls for malloc/realloc/free which conflict with everything
+# else.
c-exp.tab.o: c-exp.tab.c
c-exp.tab.c: $(srcdir)/c-exp.y
@echo 'Expect 4 shift/reduce conflicts.'
${YACC} $(srcdir)/c-exp.y
- -mv y.tab.c c-exp.tab.c
+ -sed -e '/extern.*malloc/d' \
+ -e '/extern.*realloc/d' \
+ -e '/extern.*free/d' \
+ < y.tab.c > c-exp.tab.c
+ -rm y.tab.c
# m2-exp.tab.c is generated in target dir from m2-exp.y if it doesn't exist
# in srcdir, then compiled in target dir to m2-exp.tab.o.
m2-exp.tab.o: m2-exp.tab.c
m2-exp.tab.c: $(srcdir)/m2-exp.y
${YACC} $(srcdir)/m2-exp.y
- -mv y.tab.c m2-exp.tab.c
+ -sed -e '/extern.*malloc/d' \
+ -e '/extern.*realloc/d' \
+ -e '/extern.*free/d' \
+ < y.tab.c > m2-exp.tab.c
+ -rm y.tab.c
# The symbol-file readers have dependencies on BFD header files.
dbxread.o: ${srcdir}/dbxread.c
diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y
index 850019e..7b70e4e 100644
--- a/gdb/m2-exp.y
+++ b/gdb/m2-exp.y
@@ -104,6 +104,9 @@ struct block *modblock=0;
/* #define YYDEBUG 1 */
+/* !@&%ing AIX defines these! Prevent cpp complaints by undeffing them */
+#undef TRUE
+#undef FALSE
%}
/* Although the yacc "value" of an expression is not used,
diff --git a/gdb/xm-rs6000.h b/gdb/xm-rs6000.h
index 3ad96a6..30e2c24 100644
--- a/gdb/xm-rs6000.h
+++ b/gdb/xm-rs6000.h
@@ -66,8 +66,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* /usr/include/stdlib.h always uses void* and void,
even when __STDC__ isn't defined. */
#define MALLOC_INCOMPATIBLE
-extern char *malloc();
-extern char *realloc();
-extern void free();
+extern void *malloc PARAMS ((size_t size));
+extern void *realloc PARAMS ((void *ptr, size_t size));
+extern void free PARAMS ((void *));
-extern char *strdup();
+/* AIX doesn't have strdup, so we need to declare it for libiberty */
+extern char *strdup PARAMS ((char *));