diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-13 00:25:58 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-13 00:25:58 +0100 |
commit | 062dfa433cce9a2c3941b3b8b96ae678f11230fa (patch) | |
tree | b76f773ef1fab8302e233ac25d23f35d5341b6cd /arch | |
parent | Merge master.kernel.org:/home/rmk/linux-2.6-mmc (diff) | |
parent | [ARM] 3200/1: Singlestep over ARM BX and BLX instructions using ptrace fix (diff) | |
download | linux-062dfa433cce9a2c3941b3b8b96ae678f11230fa.tar.xz linux-062dfa433cce9a2c3941b3b8b96ae678f11230fa.zip |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/kernel/ptrace.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 9a340e790da5..2b84f78d7b0f 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c @@ -242,6 +242,15 @@ get_branch_address(struct task_struct *child, unsigned long pc, unsigned long in */ long aluop1, aluop2, ccbit; + if ((insn & 0x0fffffd0) == 0x012fff10) { + /* + * bx or blx + */ + alt = get_user_reg(child, insn & 15); + break; + } + + if ((insn & 0xf000) != 0xf000) break; |