[aarch64] Backport two breakpoint/watchpoint fixes.
This commit is contained in:
parent
6ca3c187db
commit
0f5a62e3a0
@ -75,3 +75,129 @@ index 8e66425..bcfcce2 100644
|
||||
set_solib_svr4_fetch_link_map_offsets (gdbarch,
|
||||
svr4_lp64_fetch_link_map_offsets);
|
||||
|
||||
|
||||
|
||||
|
||||
pre-req for:
|
||||
[PATCH, AArch64] Fix bug in hardware watchpoint/breakpoint handling
|
||||
commit c623a6ef72a8d7dbbb646345f75646710cb9bb68
|
||||
Author: Will Newton <willnewton@sourceware.org>
|
||||
Date: Mon Sep 16 14:22:19 2013 +0000
|
||||
|
||||
gdbserver, aarch64: Zero out regs in aarch64_linux_set_debug_regs.
|
||||
|
||||
Apply the same fix that was applied to aarch64-linux-nat.c.
|
||||
|
||||
2013-09-16 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
|
||||
out regs.
|
||||
|
||||
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
|
||||
index 73191f4..1082e78 100644
|
||||
### a/gdb/gdbserver/ChangeLog
|
||||
### b/gdb/gdbserver/ChangeLog
|
||||
## -1,3 +1,8 @@
|
||||
+2013-09-16 Will Newton <will.newton@linaro.org>
|
||||
+
|
||||
+ * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
|
||||
+ out regs.
|
||||
+
|
||||
2013-09-06 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
|
||||
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
|
||||
index e37f602..93246b3 100644
|
||||
--- a/gdb/gdbserver/linux-aarch64-low.c
|
||||
+++ b/gdb/gdbserver/linux-aarch64-low.c
|
||||
@@ -600,6 +600,7 @@ aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
|
||||
const CORE_ADDR *addr;
|
||||
const unsigned int *ctrl;
|
||||
|
||||
+ memset (®s, 0, sizeof (regs));
|
||||
iov.iov_base = ®s;
|
||||
iov.iov_len = sizeof (regs);
|
||||
count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs;
|
||||
|
||||
|
||||
|
||||
[PATCH, AArch64] Fix bug in hardware watchpoint/breakpoint handling
|
||||
https://sourceware.org/ml/gdb-patches/2013-12/msg00707.html
|
||||
commit f45c82da381e0ce5ce51b7fb24d0d28611d266b8
|
||||
Author: Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
Date: Wed Dec 18 16:47:33 2013 +0000
|
||||
|
||||
gdb/
|
||||
|
||||
* aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Set
|
||||
iov.iov_len with the real length in use.
|
||||
|
||||
gdb/gdbserver/
|
||||
|
||||
* linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
|
||||
iov.iov_len with the real length in use.
|
||||
|
||||
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
|
||||
index 7d9308f..513c593 100644
|
||||
### a/gdb/ChangeLog
|
||||
### b/gdb/ChangeLog
|
||||
## -1,3 +1,8 @@
|
||||
+2013-12-18 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
+
|
||||
+ * aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Set
|
||||
+ iov.iov_len with the real length in use.
|
||||
+
|
||||
2013-12-18 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* target.h (target_xfer_partial_ftype): New typedef.
|
||||
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
|
||||
index 256725b..7d76833 100644
|
||||
--- a/gdb/aarch64-linux-nat.c
|
||||
+++ b/gdb/aarch64-linux-nat.c
|
||||
@@ -314,10 +314,13 @@ aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
|
||||
|
||||
memset (®s, 0, sizeof (regs));
|
||||
iov.iov_base = ®s;
|
||||
- iov.iov_len = sizeof (regs);
|
||||
count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs;
|
||||
addr = watchpoint ? state->dr_addr_wp : state->dr_addr_bp;
|
||||
ctrl = watchpoint ? state->dr_ctrl_wp : state->dr_ctrl_bp;
|
||||
+ if (count == 0)
|
||||
+ return;
|
||||
+ iov.iov_len = (offsetof (struct user_hwdebug_state, dbg_regs[count - 1])
|
||||
+ + sizeof (regs.dbg_regs [count - 1]));
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
|
||||
index c73840f..2847796 100644
|
||||
### a/gdb/gdbserver/ChangeLog
|
||||
### b/gdb/gdbserver/ChangeLog
|
||||
## -1,3 +1,8 @@
|
||||
+2013-12-18 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
+
|
||||
+ * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
|
||||
+ iov.iov_len with the real length in use.
|
||||
+
|
||||
2013-12-13 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* Makefile.in (safe-ctype.o, lbasename.o): New rules.
|
||||
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
|
||||
index 93246b3..c2d271a 100644
|
||||
--- a/gdb/gdbserver/linux-aarch64-low.c
|
||||
+++ b/gdb/gdbserver/linux-aarch64-low.c
|
||||
@@ -602,10 +602,13 @@ aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
|
||||
|
||||
memset (®s, 0, sizeof (regs));
|
||||
iov.iov_base = ®s;
|
||||
- iov.iov_len = sizeof (regs);
|
||||
count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs;
|
||||
addr = watchpoint ? state->dr_addr_wp : state->dr_addr_bp;
|
||||
ctrl = watchpoint ? state->dr_ctrl_wp : state->dr_ctrl_bp;
|
||||
+ if (count == 0)
|
||||
+ return;
|
||||
+ iov.iov_len = (offsetof (struct user_hwdebug_state, dbg_regs[count - 1])
|
||||
+ + sizeof (regs.dbg_regs [count - 1]));
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
|
5
gdb.spec
5
gdb.spec
@ -38,7 +38,7 @@ Version: 7.6.50.%{snap}
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 17%{?dist}
|
||||
Release: 18%{?dist}
|
||||
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
|
||||
Group: Development/Debuggers
|
||||
@ -1346,6 +1346,9 @@ fi
|
||||
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
||||
|
||||
%changelog
|
||||
* Wed Dec 25 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.6.50.20130731-18.fc20
|
||||
- [aarch64] Backport two breakpoint/watchpoint fixes.
|
||||
|
||||
* Mon Nov 18 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.6.50.20130731-17.fc20
|
||||
- [rhel7] [--with testsuite] Remove gcc-java&co. BuildRequires.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user