diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-07-06 16:49:43 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-07-06 16:49:43 +0000 |
commit | f865ee35b75718f7b0a1c75f7cf9167bb40c6f0c (patch) | |
tree | 70f71c836e49f8a7e359a63251fca352b335a54b /gdb/arm-linux-nat.c | |
parent | 76b83c514f6b202659c8b600b20fe0e107f83f6f (diff) | |
download | gdb-f865ee35b75718f7b0a1c75f7cf9167bb40c6f0c.zip gdb-f865ee35b75718f7b0a1c75f7cf9167bb40c6f0c.tar.gz gdb-f865ee35b75718f7b0a1c75f7cf9167bb40c6f0c.tar.bz2 |
gdb/
Code cleanup for the next patch.
* arm-linux-nat.c (arm_linux_stopped_data_address): Change variable
siginfo_p to siginfo, update its users incl. the linux_nat_get_siginfo
call for it.
* ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise.
(ia64_linux_stopped_data_address):
* linux-nat.c (linux_nat_get_siginfo): Add parameter siginfo, change
the return value.
* linux-nat.h (linux_nat_get_siginfo): Likewise.
* ppc-linux-nat.c (ppc_linux_stopped_data_address): Change variable
siginfo_p to siginfo, update its users incl. the linux_nat_get_siginfo
call for it.
Diffstat (limited to 'gdb/arm-linux-nat.c')
-rw-r--r-- | gdb/arm-linux-nat.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c index f9f6ba5..2485a84 100644 --- a/gdb/arm-linux-nat.c +++ b/gdb/arm-linux-nat.c @@ -1137,24 +1137,29 @@ arm_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw, static int arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) { - siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid); - int slot = siginfo_p->si_errno; + siginfo_t siginfo; + int slot; + + if (!linux_nat_get_siginfo (inferior_ptid, &siginfo)) + return 0; /* This must be a hardware breakpoint. */ - if (siginfo_p->si_signo != SIGTRAP - || (siginfo_p->si_code & 0xffff) != 0x0004 /* TRAP_HWBKPT */) + if (siginfo.si_signo != SIGTRAP + || (siginfo.si_code & 0xffff) != 0x0004 /* TRAP_HWBKPT */) return 0; /* We must be able to set hardware watchpoints. */ if (arm_linux_get_hw_watchpoint_count () == 0) return 0; + slot = siginfo.si_errno; + /* If we are in a positive slot then we're looking at a breakpoint and not a watchpoint. */ if (slot >= 0) return 0; - *addr_p = (CORE_ADDR) (uintptr_t) siginfo_p->si_addr; + *addr_p = (CORE_ADDR) (uintptr_t) siginfo.si_addr; return 1; } |