diff options
author | Tristan Gingold <gingold@adacore.com> | 2009-07-03 12:06:36 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2009-07-03 12:06:36 +0000 |
commit | 5cd226f27555deecd8cb96019e0e915c7c7c2a3c (patch) | |
tree | a67d86fe25c6c31f36d5463127163a2ae5752570 /gdb/i386-darwin-nat.c | |
parent | 27505b5d0fc279055b9d27c5f45b199192422f16 (diff) | |
download | gdb-5cd226f27555deecd8cb96019e0e915c7c7c2a3c.zip gdb-5cd226f27555deecd8cb96019e0e915c7c7c2a3c.tar.gz gdb-5cd226f27555deecd8cb96019e0e915c7c7c2a3c.tar.bz2 |
2009-06-29 Tristan Gingold <gingold@adacore.com>
* i386-darwin-tdep.c (amd64_darwin_thread_state_reg_offset)
(amd64_darwin_thread_state_num_regs)
(amd64_darwin_sigcontext_addr, x86_darwin_init_abi_64): Moved to
amd64-darwin-tdep.c
(_initialize_i386_darwin_tdep): Remove 64 bits parts.
(darwin_dwarf_signal_frame_p): Make public.
* amd64-darwin-tdep.c: New file with most chunks from
i386-darwin-tdep.c
* i386-darwin-tdep.h: Add a prototype for darwin_dwarf_signal_frame_p.
(amd64_darwin_thread_state_reg_offset)
(amd64_darwin_thread_state_num_regs): Moved to amd64-darwin-tdep.h
* amd64-darwin-tdep.h: New file.
* i386-darwin-nat.c: Only includes amd64-nat.h and amd64-darwin-tdep.h
if BFD64 is defined.
(i386_darwin_fetch_inferior_registers): Add #ifdef BFD64/#endif around
64 bits parts.
(i386_darwin_store_inferior_registers): Ditto.
(darwin_set_sstep): Ditto.
(darwin_complete_target): Ditto.
(amd64_darwin_sstep_at_sigreturn): Ditto.
* configure.tgt: Create a separate entry for x86_64-*-darwin.
Add 64 bits support for i386-*-darwin if --enable-64-bit-bfd.
* Makefile.in (ALLDEPFILES): Add amd64-darwin-tdep.c, darwin-nat.c,
i386-darwin-tdep.c i386-darwin-nat.c
(ALL_64_TARGET_OBS): Add amd64-darwin-tdep.o
Diffstat (limited to 'gdb/i386-darwin-nat.c')
-rw-r--r-- | gdb/i386-darwin-nat.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gdb/i386-darwin-nat.c b/gdb/i386-darwin-nat.c index df029bc..3283723 100644 --- a/gdb/i386-darwin-nat.c +++ b/gdb/i386-darwin-nat.c @@ -30,7 +30,6 @@ #include "regcache.h" #include "gdb_assert.h" #include "i386-tdep.h" -#include "amd64-nat.h" #include "i387-tdep.h" #include "gdbarch.h" #include "arch-utils.h" @@ -39,6 +38,11 @@ #include "darwin-nat.h" #include "i386-darwin-tdep.h" +#ifdef BFD64 +#include "amd64-nat.h" +#include "amd64-darwin-tdep.h" +#endif + /* Read register values from the inferior process. If REGNO is -1, do this for all registers. Otherwise, REGNO specifies which register (so we can save time). */ @@ -50,6 +54,7 @@ i386_darwin_fetch_inferior_registers (struct target_ops *ops, int fetched = 0; struct gdbarch *gdbarch = get_regcache_arch (regcache); +#ifdef BFD64 if (gdbarch_ptr_bit (gdbarch) == 64) { if (regno == -1 || amd64_native_gregset_supplies_p (gdbarch, regno)) @@ -89,6 +94,7 @@ i386_darwin_fetch_inferior_registers (struct target_ops *ops, } } else +#endif { if (regno == -1 || regno < I386_NUM_GREGS) { @@ -151,6 +157,7 @@ i386_darwin_store_inferior_registers (struct target_ops *ops, thread_t current_thread = ptid_get_tid (inferior_ptid); struct gdbarch *gdbarch = get_regcache_arch (regcache); +#ifdef BFD64 if (gdbarch_ptr_bit (gdbarch) == 64) { if (regno == -1 || amd64_native_gregset_supplies_p (gdbarch, regno)) @@ -196,6 +203,7 @@ i386_darwin_store_inferior_registers (struct target_ops *ops, } } else +#endif { if (regno == -1 || regno < I386_NUM_GREGS) { @@ -475,6 +483,7 @@ i386_darwin_sstep_at_sigreturn (x86_thread_state_t *regs) return 0; } +#ifdef BFD64 static int amd64_darwin_sstep_at_sigreturn (x86_thread_state_t *regs) { @@ -504,6 +513,7 @@ amd64_darwin_sstep_at_sigreturn (x86_thread_state_t *regs) } return 0; } +#endif void darwin_set_sstep (thread_t thread, int enable) @@ -537,6 +547,7 @@ darwin_set_sstep (thread_t thread, int enable) MACH_CHECK_ERROR (kret); } break; +#ifdef BFD64 case x86_THREAD_STATE64: { __uint64_t bit = enable ? X86_EFLAGS_T : 0; @@ -551,6 +562,7 @@ darwin_set_sstep (thread_t thread, int enable) MACH_CHECK_ERROR (kret); } break; +#endif default: error (_("darwin_set_sstep: unknown flavour: %d\n"), regs.tsh.flavor); } @@ -559,10 +571,12 @@ darwin_set_sstep (thread_t thread, int enable) void darwin_complete_target (struct target_ops *target) { +#ifdef BFD64 amd64_native_gregset64_reg_offset = amd64_darwin_thread_state_reg_offset; amd64_native_gregset64_num_regs = amd64_darwin_thread_state_num_regs; amd64_native_gregset32_reg_offset = i386_darwin_thread_state_reg_offset; amd64_native_gregset32_num_regs = i386_darwin_thread_state_num_regs; +#endif target->to_fetch_registers = i386_darwin_fetch_inferior_registers; target->to_store_registers = i386_darwin_store_inferior_registers; |