kernel_optimize_test/arch/arc/kernel
Vineet Gupta 5b24282846 ARC: Ignore ptrace SETREGSET request for synthetic register "stop_pc"
ARCompact TRAP_S insn used for breakpoints, commits before exception is
taken (updating architectural PC). So ptregs->ret contains next-PC and
not the breakpoint PC itself. This is different from other restartable
exceptions such as TLB Miss where ptregs->ret has exact faulting PC.
gdb needs to know exact-PC hence ARC ptrace GETREGSET provides for
@stop_pc which returns ptregs->ret vs. EFA depending on the
situation.

However, writing stop_pc (SETREGSET request), which updates ptregs->ret
doesn't makes sense stop_pc doesn't always correspond to that reg as
described above.

This was not an issue so far since user_regs->ret / user_regs->stop_pc
had same value and both writing to ptregs->ret was OK, needless, but NOT
broken, hence not observed.

With gdb "jump", they diverge, and user_regs->ret updating ptregs is
overwritten immediately with stop_pc, which this patch fixes.

Reported-by: Anton Kolesov <akolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-10-12 12:00:36 +05:30
..
.gitignore
arc_hostlink.c
arcksyms.c
asm-offsets.c
clk.c
ctx_sw_asm.S
ctx_sw.c
devtree.c
disasm.c
entry.S
fpu.c
head.S
irq.c
kgdb.c
kprobes.c
Makefile
module.c
process.c
ptrace.c
reset.c
setup.c
signal.c
smp.c
stacktrace.c
sys.c
time.c
traps.c
troubleshoot.c
unaligned.c
unwind.c
vmlinux.lds.S