aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/powerpc
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-08-12 22:50:04 +0000
committerJeff Law <law@redhat.com>1995-08-12 22:50:04 +0000
commit65eaea2742c1b7b1625e618603436cc3af71074e (patch)
tree398c9c396cf8e21ede64e1317bb96e80a3cb93b7 /gdb/config/powerpc
parent5c6f833bb0a981df13d831932f56a5807f5ef126 (diff)
downloadgdb-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/powerpc')
-rw-r--r--gdb/config/powerpc/.Sanitize3
-rw-r--r--gdb/config/powerpc/aix4.mh24
-rw-r--r--gdb/config/powerpc/aix4.mt3
-rw-r--r--gdb/config/powerpc/tm-ppc-aix.h3
-rw-r--r--gdb/config/powerpc/tm-ppc-aix4.h32
5 files changed, 62 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 */