From 9aa448333dc03c53f4ed8826251f813123705217 Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Fri, 19 Jun 1992 22:39:44 +0000 Subject: [PATCH] * 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!). --- gdb/ChangeLog | 10 ++++++++++ gdb/Makefile.in | 16 +++++++++++++--- gdb/m2-exp.y | 3 +++ gdb/xm-rs6000.h | 9 +++++---- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4bee5943c60..a443329b666 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 12d9ed1d844..c1b0b5062c8 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 850019e15c0..7b70e4ecec1 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 3ad96a65a84..30e2c247496 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 *)); -- 2.30.2