diff options
author | Stu Grossman <grossman@cygnus> | 1992-06-19 22:39:44 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1992-06-19 22:39:44 +0000 |
commit | 9aa448333dc03c53f4ed8826251f813123705217 (patch) | |
tree | 01863321fd1e5fca97baade99de53561d2af9983 /gdb | |
parent | 3fd76e586674dbac90a5e2327a44a17e39f70c88 (diff) | |
download | gdb-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!).
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/Makefile.in | 16 | ||||
-rw-r--r-- | gdb/m2-exp.y | 3 | ||||
-rw-r--r-- | gdb/xm-rs6000.h | 9 |
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 *)); |