From 65eaea2742c1b7b1625e618603436cc3af71074e Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 12 Aug 1995 22:50:04 +0000 Subject: * 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. --- gdb/config/rs6000/.Sanitize | 3 +++ gdb/config/rs6000/aix4.mh | 24 ++++++++++++++++++++++++ gdb/config/rs6000/aix4.mt | 3 +++ gdb/config/rs6000/tm-rs6000-aix4.h | 29 +++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 gdb/config/rs6000/aix4.mh create mode 100644 gdb/config/rs6000/aix4.mt create mode 100644 gdb/config/rs6000/tm-rs6000-aix4.h (limited to 'gdb/config/rs6000') 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 */ -- cgit v1.1