Eliminate ia64-aix-tdep.c.
authorKevin Buettner <kevinb@redhat.com>
Wed, 5 Jan 2005 17:04:49 +0000 (17:04 +0000)
committerKevin Buettner <kevinb@redhat.com>
Wed, 5 Jan 2005 17:04:49 +0000 (17:04 +0000)
gdb/ChangeLog
gdb/Makefile.in
gdb/config/ia64/linux.mt
gdb/ia64-aix-tdep.c [deleted file]
gdb/ia64-tdep.c
gdb/ia64-tdep.h

index 673df53cf5f5fe66ca10b110046440c7df04bf05..7ca80e142c1f06126e53178ad45fe81fbfdb8832 100644 (file)
@@ -1,3 +1,14 @@
+2005-01-05  Kevin Buettner  <kevinb@redhat.com>
+
+       * ia64-tdep.c (ia64_gdbarch_init): Eliminate dependency on 
+       functions in ia64-aix-tdep.c.
+       * ia64-tdep.h (ia64_aix_sigcontext_register_address): Remove
+       function defined in ia64-aix-tdep.c.
+       * ia64-aix-tdep.c: Remove file.
+       * config/ia64/linux.mt (TDEPFILES): Remove ia64-aix-tdep.o from
+       this list.
+       * Makefile.in (ia64-aix-tdep.o): Delete.
+
 2005-01-05  Baurjan Ismagulov  <ibr@ata.cs.hun.edu.tr>
 
        Committed by Andrew Cagney.
index e24174e1035a3f29ccf30ddf92d97f13c9877b2a..f5e065d910a7f0c8a562ba82c4eef64aefdaee9a 100644 (file)
@@ -2051,7 +2051,6 @@ i386v-nat.o: i386v-nat.c $(defs_h) $(frame_h) $(inferior_h) $(language_h) \
 i387-tdep.o: i387-tdep.c $(defs_h) $(doublest_h) $(floatformat_h) $(frame_h) \
        $(gdbcore_h) $(inferior_h) $(language_h) $(regcache_h) $(value_h) \
        $(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(i387_tdep_h)
-ia64-aix-tdep.o: ia64-aix-tdep.c $(defs_h)
 ia64-linux-nat.o: ia64-linux-nat.c $(defs_h) $(gdb_string_h) $(inferior_h) \
        $(target_h) $(gdbcore_h) $(regcache_h) $(gdb_wait_h) $(gregset_h)
 ia64-linux-tdep.o: ia64-linux-tdep.c $(defs_h) $(ia64_tdep_h) \
index bdb286c91440be9dc58ba5ee1f7dc0b4b43f056c..aa839cfc18107569f207f3f7e282b391209648dd 100644 (file)
@@ -1,4 +1,4 @@
 # Target: Intel IA-64 running GNU/Linux
-TDEPFILES= ia64-tdep.o ia64-aix-tdep.o ia64-linux-tdep.o \
+TDEPFILES= ia64-tdep.o ia64-linux-tdep.o \
        solib.o solib-svr4.o solib-legacy.o
 DEPRECATED_TM_FILE= tm-linux.h
diff --git a/gdb/ia64-aix-tdep.c b/gdb/ia64-aix-tdep.c
deleted file mode 100644 (file)
index 26eca6b..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Target-dependent code for the IA-64 for GDB, the GNU debugger.
-   Copyright 2000, 2001
-   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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include "defs.h"
-
-/* External hook for finding gate addresses on AIX.  */
-void (*aix5_find_gate_addresses_hook) (CORE_ADDR *, CORE_ADDR *) = 0;
-
-/* Offset to sc_context member of sigcontext structure from frame of handler */
-#define IA64_AIX_SIGCONTEXT_OFFSET 64
-
-/* Return a non-zero value iff PC is in a signal trampoline.  On
-   AIX, we determine this by seeing if the pc is in a special
-   execute only page called the ``gate page''.  The addresses in
-   question are determined by letting the AIX native portion of
-   the code determine these addresses via its own nefarious
-   means.  */
-
-int
-ia64_aix_in_sigtramp (CORE_ADDR pc, char *func_name)
-{
-  CORE_ADDR gate_area_start, gate_area_end;
-
-  if (aix5_find_gate_addresses_hook == 0)
-    return 0;
-
-  (*aix5_find_gate_addresses_hook) (&gate_area_start, &gate_area_end);
-
-  return (pc >=  gate_area_start && pc < gate_area_end);
-}
-
-
-/* IA-64 AIX specific function which, given a frame address and
-   a register number, returns the address at which that register may be
-   found.  0 is returned for registers which aren't stored in the
-   sigcontext structure.  */
-
-CORE_ADDR
-ia64_aix_sigcontext_register_address (CORE_ADDR sp, int regno)
-{
-  /* The hardcoded offsets that follow are actually offsets to the
-     corresponding members in struct __context in
-     /usr/include/sys/context.h (on an IA-64 AIX5 box).  */
-  if (IA64_GR0_REGNUM <= regno && regno <= IA64_GR31_REGNUM)
-    return sp + IA64_AIX_SIGCONTEXT_OFFSET + 152 + 8 * (regno - IA64_GR0_REGNUM);
-  else if (IA64_BR0_REGNUM <= regno && regno <= IA64_BR7_REGNUM)
-    return sp + IA64_AIX_SIGCONTEXT_OFFSET + 408 + 8 * (regno - IA64_BR0_REGNUM);
-  else if (IA64_FR0_REGNUM <= regno && regno <= IA64_FR127_REGNUM)
-    return sp + IA64_AIX_SIGCONTEXT_OFFSET + 480 + 16 * (regno - IA64_FR0_REGNUM);
-  else
-    switch (regno)
-      {
-      case IA64_PSR_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 0;
-      case IA64_IP_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 8;
-      /* iipa is at 16.
-         isr is at 24.
-        ifa is at 32.
-        iim is at 40. */
-      case IA64_CFM_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 48;  /* ifs, actually */
-      case IA64_RSC_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 56;
-      case IA64_BSP_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 64;
-      case IA64_BSPSTORE_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 72;
-      case IA64_RNAT_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 80;
-      case IA64_PFS_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 88;
-      case IA64_UNAT_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 96;
-      case IA64_PR_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 104;
-      case IA64_CCV_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 112;
-      case IA64_LC_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 120;
-      case IA64_EC_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 128;
-      /* nats is at 136; this is an address independent NaT bitmask */
-      case IA64_FPSR_REGNUM :
-       return sp + IA64_AIX_SIGCONTEXT_OFFSET + 144;
-      default :
-       return 0;
-      }
-}
index efbda2f75d782c8529ad3d143225f1bfa38e6086..d5d7d7235fb3d30a5d18c52040e503b3d5134063 100644 (file)
@@ -3268,8 +3268,6 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
      to do it.  */
   if (info.osabi == GDB_OSABI_LINUX)
     tdep->sigcontext_register_address = ia64_linux_sigcontext_register_address;
-  else if (native_find_global_pointer != 0)
-    tdep->sigcontext_register_address = ia64_aix_sigcontext_register_address;
   else
     tdep->sigcontext_register_address = 0;
 
index e153eed580c2c2534f205916137a9243461b0bcb..f917232cd45c33baec6d9aff44019f5f1afd6d76 100644 (file)
@@ -23,7 +23,6 @@
 #define IA64_TDEP_H
 
 extern CORE_ADDR ia64_linux_sigcontext_register_address (CORE_ADDR, int);
-extern CORE_ADDR ia64_aix_sigcontext_register_address (CORE_ADDR, int);
 extern unsigned long ia64_linux_getunwind_table (void *, size_t);
 extern void ia64_write_pc (CORE_ADDR, ptid_t);
 extern void ia64_linux_write_pc (CORE_ADDR, ptid_t);