svn commit: r332909 - head/sys/mips/mips
John Baldwin
jhb at FreeBSD.org
Tue Apr 24 05:33:18 UTC 2018
Author: jhb
Date: Tue Apr 24 05:33:17 2018
New Revision: 332909
URL: https://svnweb.freebsd.org/changeset/base/332909
Log:
Report proper signal codes for SIGTRAP traps on MIPS.
- Use TRAP_TRACE for traps after stepping via PT_STEP.
- Use TRAP_BRKPT for software breakpoint traps and watchpoint traps.
This was tested via the recently added siginfo ptrace() tests. PT_STEP on
MIPS has several bugs that prevent it from working yet, but this does fix
the ptrace__breakpoint_siginfo test on MIPS.
Modified:
head/sys/mips/mips/trap.c
Modified: head/sys/mips/mips/trap.c
==============================================================================
--- head/sys/mips/mips/trap.c Tue Apr 24 05:30:05 2018 (r332908)
+++ head/sys/mips/mips/trap.c Tue Apr 24 05:33:17 2018 (r332909)
@@ -840,6 +840,7 @@ dofault:
if (td->td_md.md_ss_addr != va ||
instr != MIPS_BREAK_SSTEP) {
i = SIGTRAP;
+ ucode = TRAP_BRKPT;
addr = trapframe->pc;
break;
}
@@ -851,6 +852,7 @@ dofault:
*/
addr = trapframe->pc;
i = SIGTRAP;
+ ucode = TRAP_TRACE;
break;
}
@@ -865,6 +867,7 @@ dofault:
va += sizeof(int);
printf("watch exception @ %p\n", (void *)va);
i = SIGTRAP;
+ ucode = TRAP_BRKPT;
addr = va;
break;
}
More information about the svn-src-head
mailing list