diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/Makefile.in | 1 | ||||
-rw-r--r-- | gdb/config/ia64/linux.mt | 2 | ||||
-rw-r--r-- | gdb/ia64-aix-tdep.c | 107 | ||||
-rw-r--r-- | gdb/ia64-tdep.c | 2 | ||||
-rw-r--r-- | gdb/ia64-tdep.h | 1 |
6 files changed, 12 insertions, 112 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 673df53..7ca80e1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index e24174e..f5e065d 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -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) \ diff --git a/gdb/config/ia64/linux.mt b/gdb/config/ia64/linux.mt index bdb286c..aa839cf 100644 --- a/gdb/config/ia64/linux.mt +++ b/gdb/config/ia64/linux.mt @@ -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 index 26eca6b..0000000 --- a/gdb/ia64-aix-tdep.c +++ /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; - } -} diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index efbda2f..d5d7d72 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -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; diff --git a/gdb/ia64-tdep.h b/gdb/ia64-tdep.h index e153eed..f917232 100644 --- a/gdb/ia64-tdep.h +++ b/gdb/ia64-tdep.h @@ -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); |