diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-02-11 14:40:55 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-03-04 17:41:26 +0530 |
commit | 98f76360c8f80a8c24fecae9b982d306efa5a982 (patch) | |
tree | cf58b570df9c72c8483eeec6229bdf825c002da9 | |
parent | 6bb8ea82b9b5f13808e245725bb647f79d64c3d7 (diff) | |
download | arc-history-pre-upstream.tar.gz |
ARC: Fix pt_orig_r8 accessarc-history-pre-upstream
Syscall restarting fixes made pt_regs->orig_r8 a short word, which was
not reflected in the assembler code - thus could potentially break gdb
debugging.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r-- | arch/arc/kernel/entry.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 81164dbbfc363c..13d6c750875b4e 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S @@ -510,7 +510,7 @@ tracesys_exit: trap_with_param: ; stop_pc info by gdb needs this info - st orig_r8_IS_BRKPT, [sp, PT_orig_r8] + stw orig_r8_IS_BRKPT, [sp, PT_orig_r8] mov r0, r12 lr r1, [efa] @@ -737,7 +737,7 @@ not_exception: ; things to what they were, before returning from L2 context ;---------------------------------------------------------------- - ld r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is + ldw r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is brne r9, orig_r8_IS_IRQ2, 149f ; infact a L2 ISR ret path ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs) @@ -784,9 +784,9 @@ not_level1_interrupt: ;this case is for syscalls or Exceptions (with fake rtie) #ifdef CONFIG_ARC_DBG_EVENT_TIMELINE - ld r8, [sp, PT_orig_r8] - cmp r8, NR_syscalls+1 - jeq 149f + ldw r8, [sp, PT_orig_r8] + cmp r8, orig_r8_IS_SCALL_RESTARTED + jhi 149f TAKE_SNAP_ASM r9, r10, SNAP_TRAP_OUT j 150f |