[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,
|
set_solib_svr4_fetch_link_map_offsets (gdbarch,
|
||||||
svr4_lp64_fetch_link_map_offsets);
|
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.
|
# 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.
|
# `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
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -1346,6 +1346,9 @@ fi
|
|||||||
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Nov 18 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.6.50.20130731-17.fc20
|
||||||
- [rhel7] [--with testsuite] Remove gcc-java&co. BuildRequires.
|
- [rhel7] [--with testsuite] Remove gcc-java&co. BuildRequires.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user