* 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.
This commit is contained in:
Yufeng Zhang 2013-12-18 16:47:33 +00:00
parent 7174e19ff2
commit f45c82da38
4 changed files with 18 additions and 2 deletions

View File

@ -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.

View File

@ -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++)
{

View File

@ -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.

View File

@ -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++)
{