diff options
author | Jeff Law <law@redhat.com> | 1995-08-12 22:50:04 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1995-08-12 22:50:04 +0000 |
commit | 65eaea2742c1b7b1625e618603436cc3af71074e (patch) | |
tree | 398c9c396cf8e21ede64e1317bb96e80a3cb93b7 /gdb/config | |
parent | 5c6f833bb0a981df13d831932f56a5807f5ef126 (diff) | |
download | gdb-65eaea2742c1b7b1625e618603436cc3af71074e.zip gdb-65eaea2742c1b7b1625e618603436cc3af71074e.tar.gz gdb-65eaea2742c1b7b1625e618603436cc3af71074e.tar.bz2 |
* configure.in: Recognize aix4 specially as some aspects
of aix4 need different handling than aix3.
* configure: Updated.
* config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: New files
specific to aix4 support on the power pc.
* config/powerpc/tm-ppc-aix.h (DONT_RELOCATE_SYMFILE_OBJFILE): Do
not defined. The aix4 specific target files will do that.
* config/rs6000/{aix4,mh,aix4,mt,tm-rs6000-aix4.h}: New files
specific to aix4 support on the rs6000.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Don't
do the conversion if the pointer is not a magic aix function
pointer.
* rs6000-tdep.c: Include objfiles.h and symtab.h.
(is_magic_function_pointer): New function.
* rs6000-tdep.c (skip_prologue): Refine check for frameless
functions. Handle b .+4 emitted by aix4 compilers. Only
allow one load of a minimal toc pointer. Handle aix4 compiler's
code for alloca.
* rs6000-tdep.c (find_toc_address): Report an error if no toc was
found rather than possibly core dumping.
* partial-stab.h: Handle extra field generated by the aix4 compiler
for enumerations.
* stabsread.c (read_enum_type): Likewise.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/powerpc/.Sanitize | 3 | ||||
-rw-r--r-- | gdb/config/powerpc/aix4.mh | 24 | ||||
-rw-r--r-- | gdb/config/powerpc/aix4.mt | 3 | ||||
-rw-r--r-- | gdb/config/powerpc/tm-ppc-aix.h | 3 | ||||
-rw-r--r-- | gdb/config/powerpc/tm-ppc-aix4.h | 32 | ||||
-rw-r--r-- | gdb/config/rs6000/.Sanitize | 3 | ||||
-rw-r--r-- | gdb/config/rs6000/aix4.mh | 24 | ||||
-rw-r--r-- | gdb/config/rs6000/aix4.mt | 3 | ||||
-rw-r--r-- | gdb/config/rs6000/tm-rs6000-aix4.h | 29 |
9 files changed, 121 insertions, 3 deletions
diff --git a/gdb/config/powerpc/.Sanitize b/gdb/config/powerpc/.Sanitize index 0c242d6..b38d3da 100644 --- a/gdb/config/powerpc/.Sanitize +++ b/gdb/config/powerpc/.Sanitize @@ -23,12 +23,15 @@ Things-to-keep: aix.mh aix.mt +aix4.mh +aix4.mt gdbserve.mt nm-aix.h ppc-eabi.mt ppc-nw.mt ppcle-eabi.mt tm-ppc-aix.h +tm-ppc-aix4.h tm-ppc-eabi.h tm-ppc-nw.h tm-ppcle-eabi.h diff --git a/gdb/config/powerpc/aix4.mh b/gdb/config/powerpc/aix4.mh new file mode 100644 index 0000000..aaec415 --- /dev/null +++ b/gdb/config/powerpc/aix4.mh @@ -0,0 +1,24 @@ +# Host: IBM PowerPC running AIX4 + +XM_FILE= xm-aix.h +XDEPFILES= + +NAT_FILE= nm-aix.h +NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o xcoffread.o + +# 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 + +# Because of shared libraries, we risk ending up with *two* +# incompatible versions of malloc if we use GNU malloc ... +MMALLOC = +MMALLOC_DISABLE = -DNO_MMALLOC + +# A bug in the AIX 3.2 libc.a results in unresolved references for .scalb and +# .finite because we call ldexp via floatformat. Circumvent by adding -lm. +XM_CLIBS= -lm + +# Rumor has it that libtermcap is "not really functional", and that +# -lcurses is better. +TERMCAP= -lcurses diff --git a/gdb/config/powerpc/aix4.mt b/gdb/config/powerpc/aix4.mt new file mode 100644 index 0000000..29bed5f --- /dev/null +++ b/gdb/config/powerpc/aix4.mt @@ -0,0 +1,3 @@ +# Target: PowerPC running AIX4 +TDEPFILES= rs6000-tdep.o xcoffsolib.o +TM_FILE= tm-ppc-aix4.h diff --git a/gdb/config/powerpc/tm-ppc-aix.h b/gdb/config/powerpc/tm-ppc-aix.h index d4853e6..5dfb3c4 100644 --- a/gdb/config/powerpc/tm-ppc-aix.h +++ b/gdb/config/powerpc/tm-ppc-aix.h @@ -20,9 +20,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef TM_PPC_AIX_H #define TM_PPC_AIX_H -/* The main executable doesn't need relocation in aix4. */ -#define DONT_RELOCATE_SYMFILE_OBJFILE - /* Use generic RS6000 definitions. */ #include "rs6000/tm-rs6000.h" diff --git a/gdb/config/powerpc/tm-ppc-aix4.h b/gdb/config/powerpc/tm-ppc-aix4.h new file mode 100644 index 0000000..efe4ba1 --- /dev/null +++ b/gdb/config/powerpc/tm-ppc-aix4.h @@ -0,0 +1,32 @@ +/* Macro definitions for Power PC running AIX4. + Copyright 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +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. */ + +#ifndef TM_PPC_AIX4_H +#define TM_PPC_AIX4_H + +/* The main executable doesn't need relocation in aix4. Otherwise + it looks just like any other AIX system. */ +#define DONT_RELOCATE_SYMFILE_OBJFILE + +/* Use generic RS6000 definitions. */ +#include "rs6000/tm-rs6000.h" + +#define GDB_TARGET_POWERPC + +#endif /* TM_PPC_AIX4_H */ diff --git a/gdb/config/rs6000/.Sanitize b/gdb/config/rs6000/.Sanitize index 915bef5..26a1e74 100644 --- a/gdb/config/rs6000/.Sanitize +++ b/gdb/config/rs6000/.Sanitize @@ -21,6 +21,8 @@ Do-first: Things-to-keep: +aix4.mh +aix4.mt nm-rs6000.h nm-rs6000ly.h rs6000.mh @@ -29,6 +31,7 @@ rs6000.mt rs6000lynx.mt tm-rs6000.h tm-rs6000ly.h +tm-rs6000-aix4.h xm-rs6000.h xm-rs6000ly.h diff --git a/gdb/config/rs6000/aix4.mh b/gdb/config/rs6000/aix4.mh new file mode 100644 index 0000000..bb639f5 --- /dev/null +++ b/gdb/config/rs6000/aix4.mh @@ -0,0 +1,24 @@ +# Host: IBM RS/6000 running AIX4 + +XM_FILE= xm-rs6000.h +XDEPFILES= + +NAT_FILE= nm-rs6000.h +NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o xcoffread.o + +# 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 + +# Because of shared libraries, we risk ending up with *two* +# incompatible versions of malloc if we use GNU malloc ... +MMALLOC = +MMALLOC_DISABLE = -DNO_MMALLOC + +# A bug in the AIX 3.2 libc.a results in unresolved references for .scalb and +# .finite because we call ldexp via floatformat. Circumvent by adding -lm. +XM_CLIBS= -lm + +# Rumor has it that libtermcap is "not really functional", and that +# -lcurses is better. +TERMCAP= -lcurses diff --git a/gdb/config/rs6000/aix4.mt b/gdb/config/rs6000/aix4.mt new file mode 100644 index 0000000..85ba547 --- /dev/null +++ b/gdb/config/rs6000/aix4.mt @@ -0,0 +1,3 @@ +# Target: IBM RS/6000 running AIX4 +TDEPFILES= rs6000-tdep.o xcoffsolib.o +TM_FILE= tm-rs6000-aix4.h diff --git a/gdb/config/rs6000/tm-rs6000-aix4.h b/gdb/config/rs6000/tm-rs6000-aix4.h new file mode 100644 index 0000000..04f3344 --- /dev/null +++ b/gdb/config/rs6000/tm-rs6000-aix4.h @@ -0,0 +1,29 @@ +/* Macro definitions for RS/6000 running AIX4. + Copyright 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +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. */ + +#ifndef TM_RS6000_AIX4_H +#define TM_RS6000_AIX4_H + +/* The main executable doesn't need relocation in aix4. */ +#define DONT_RELOCATE_SYMFILE_OBJFILE + +/* Use generic RS6000 definitions. */ +#include "rs6000/tm-rs6000.h" + +#endif /* TM_RS6000_AIX4_H */ |