gdb/gdb-upstream.patch
2013-12-25 20:55:37 +01:00

204 lines
6.5 KiB
Diff

commit 1aa4cd774ca674ee6061e2068a410bb67c8bc812
Author: Andrew Pinski <apinski@cavium.com>
Date: Thu Sep 12 07:14:37 2013 +0000
2013-09-12 Andrew Pinski <apinski@cavium.com>
* aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Zero out regs.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fa3de16..903dcba 100644
### a/gdb/ChangeLog
### b/gdb/ChangeLog
## -1,3 +1,7 @@
+2013-09-12 Andrew Pinski <apinski@cavium.com>
+
+ * aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Zero out regs.
+
2013-09-10 Andreas Arnez <arnez@linux.vnet.ibm.com>
* config/s390/s390.mh (NATDEPFILES): Add linux-waitpid.o.
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
index 846f156..f685619 100644
--- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c
@@ -312,6 +312,7 @@ aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
const CORE_ADDR *addr;
const unsigned int *ctrl;
+ memset (&regs, 0, sizeof (regs));
iov.iov_base = &regs;
iov.iov_len = sizeof (regs);
count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs;
commit 05feb1933f80f2d55e132adc657d3152947af3d1
Author: Will Newton <willnewton@sourceware.org>
Date: Thu Oct 10 10:40:42 2013 +0000
gdb/aarch64-linux-tdep.c: Call linux_init_abi.
If we are running on a Linux platform we should call linux_init_abi
in order to get all the useful hooks it enables.
gdb/ChangeLog:
2013-10-10 Will Newton <will.newton@linaro.org>
* aarch64-linux-tdep.c (aarch64_linux_init_abi): Call
linux_init_abi.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4372579..7a41967 100644
### a/gdb/ChangeLog
### b/gdb/ChangeLog
## -1,3 +1,8 @@
+2013-10-10 Will Newton <will.newton@linaro.org>
+
+ * aarch64-linux-tdep.c (aarch64_linux_init_abi): Call
+ linux_init_abi.
+
2013-10-10 Joel Brobecker <brobecker@adacore.com>
* cli/cli-cmds.c (show_baud_rate): Moved to serial.c as
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 8e66425..bcfcce2 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -270,6 +270,8 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->lowest_pc = 0x8000;
+ linux_init_abi (info, gdbarch);
+
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 (&regs, 0, sizeof (regs));
iov.iov_base = &regs;
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 (&regs, 0, sizeof (regs));
iov.iov_base = &regs;
- 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 (&regs, 0, sizeof (regs));
iov.iov_base = &regs;
- 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++)
{