summaryrefslogtreecommitdiff
path: root/arch/blackfin/mach-common
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-02-17 10:44:22 (GMT)
committerMike Frysinger <vapier@gentoo.org>2010-03-09 05:30:51 (GMT)
commit600482c13d3d3612d71f39d8aaec47f63aafa801 (patch)
tree87b347917f743a493de71d9655f7f336f4e92c73 /arch/blackfin/mach-common
parente8f263dfd32a784a816fe68956e564f8ede4a9fc (diff)
downloadlinux-600482c13d3d3612d71f39d8aaec47f63aafa801.tar.xz
Blackfin: fix single stepping over system calls
On Blackfin systems, the hardware single step exception triggers before the system call exception, so we need to save this info to process it later on. Otherwise, single stepping in userspace misses a few insns right after the system call. This is based a bit on the SuperH code added in commit 4b505db9c4c72dbd. Reported-by: Roland McGrath <roland@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r--arch/blackfin/mach-common/entry.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 0df5b83..0a9e458 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -642,6 +642,8 @@ ENTRY(_system_call)
r7 = [p2+TI_FLAGS];
CC = BITTST(r7,TIF_SYSCALL_TRACE);
if CC JUMP _sys_trace;
+ CC = BITTST(r7,TIF_SINGLESTEP);
+ if CC JUMP _sys_trace;
/* Execute the appropriate system call */