commit 1aa4cd774ca674ee6061e2068a410bb67c8bc812 Author: Andrew Pinski Date: Thu Sep 12 07:14:37 2013 +0000 2013-09-12 Andrew Pinski * 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 + + * aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Zero out regs. + 2013-09-10 Andreas Arnez * 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 (®s, 0, sizeof (regs)); iov.iov_base = ®s; iov.iov_len = sizeof (regs); count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs; commit 05feb1933f80f2d55e132adc657d3152947af3d1 Author: Will Newton 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 * 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 + + * aarch64-linux-tdep.c (aarch64_linux_init_abi): Call + linux_init_abi. + 2013-10-10 Joel Brobecker * 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 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 * 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 + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero + out regs. + 2013-09-06 Pedro Alves * 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 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 + + * aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Set + iov.iov_len with the real length in use. + 2013-12-18 Yao Qi * 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 + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set + iov.iov_len with the real length in use. + 2013-12-13 Joel Brobecker * 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++) {