This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v8 3/7] Refactor arm_software_single_step to use regcache
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Mon, 18 Jan 2016 10:34:49 +0000
- Subject: Re: [PATCH v8 3/7] Refactor arm_software_single_step to use regcache
- Authentication-results: sourceware.org; auth=none
- References: <1450361684-29536-1-git-send-email-antoine dot tremblay at ericsson dot com> <1450361684-29536-4-git-send-email-antoine dot tremblay at ericsson dot com>
Antoine Tremblay <antoine.tremblay@ericsson.com> writes:
> This patch is in preparation for software single step support on ARM in
> GDBServer. It refactors arm_*_software_single_step and sub-functions to
> use regcache instead of frame to access registers so that the code can be
> shared more easily between GDB and GDBServer.
>
> Note also that since the intention is at some point to get rid of frame
> completely in that function, memory reads have also been replaced by
> read_memory_unsigned_integer rather than get_frame_memory_unsigned.
>
> No regressions, tested on ubuntu 14.04 ARMv7 and x86.
> With gdbserver-{native,extended} / { -marm -mthumb }
As a record, this patch causes regressions at least in
gdb.base/sigstep.exp,
(gdb) PASS: gdb.base/sigstep.exp: continue to handler, si+advance in handler, step from handler: advance in handler
step^M
39 } /* handler */^M
1: x/i $pc^M
=> 0x8740 <handler+80>: sub sp, r11, #0^M
(gdb) step^M
^M
Program received signal SIGSEGV, Segmentation fault.^M
setitimer () at ../sysdeps/unix/syscall-template.S:81^M
81 ../sysdeps/unix/syscall-template.S: No such file or directory.^M
1: x/i $pc^M
=> 0xb6eff9c0 <setitimer>: push {r7}^M
(gdb) FAIL: gdb.base/sigstep.exp: continue to handler, si+advance in handler, step from handler: leave handler
Could you take a look at it?
--
Yao (éå)