aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-linux-tdep.c
diff options
context:
space:
mode:
authorRichard Earnshaw <richard.earnshaw@arm.com>2002-02-15 13:35:27 +0000
committerRichard Earnshaw <richard.earnshaw@arm.com>2002-02-15 13:35:27 +0000
commit97e03143bb83533b4cf4fcd9d283b05722b4c128 (patch)
tree9f9edc8d8ed5cd1414e4712de0d6dbb1b5a2ec57 /gdb/arm-linux-tdep.c
parent59455fb1787721ac9e458362d9f75ababf0495c7 (diff)
downloadfsf-binutils-gdb-97e03143bb83533b4cf4fcd9d283b05722b4c128.zip
fsf-binutils-gdb-97e03143bb83533b4cf4fcd9d283b05722b4c128.tar.gz
fsf-binutils-gdb-97e03143bb83533b4cf4fcd9d283b05722b4c128.tar.bz2
* arm-tdep.h (enum arm_abi): New enum.
(struct gdbarch_tdep): New structure. (LOWEST_PC): Provide a default. (arm_gdbarch_register_os_abi): Declare new function. * arm-tdep.c (arm_abi_names): New array. (process_note_abi_tag_sections): New function. (get_elfosabi): New function. (arm_gdbarch_register_os_abi): New function. (arm_gdbarch_init): Try to determine the ABI of the inferior. If support for that ABI has been built in, then call the appropriate configuration routine. Use gdbarch_num_regs() to get the number of registers. (arm_dump_tdep): New function. (arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New place-holder functions. (_initialize_arm_tdep): Register them. * config/arm/tm-arm.h (LOWEST_PC): Delete. * armnbsd-tdep.c: New file. * Makefile.in (armnbsd-tdep.o): Add dependencies. * config/arm/nbsd.mt (TDEPFILES): Add it. * config/arm/tm-nbsd.h (LOWEST_PC): Delete. * armnbsd-nat.c: Include regcache.h. * Makefile.in (armnbsd-nat.o): Update dependency list. * arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message.
Diffstat (limited to 'gdb/arm-linux-tdep.c')
-rw-r--r--gdb/arm-linux-tdep.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 8f40c66..ac2f8e0 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -530,7 +530,17 @@ arm_linux_sigcontext_register_address (CORE_ADDR sp, CORE_ADDR pc, int regno)
return reg_addr;
}
+static void
+arm_linux_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ tdep->lowest_pc = 0x8000;
+}
+
void
_initialize_arm_linux_tdep (void)
{
+ arm_gdbarch_register_os_abi (ARM_ABI_LINUX, arm_linux_init_abi);
}