Author: jhb
Date: Thu Sep  6 22:30:34 2018
New Revision: 338515
URL: https://svnweb.freebsd.org/changeset/base/338515

Log:
  MFC 332909: 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:
  stable/11/sys/mips/mips/trap.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/mips/mips/trap.c
==============================================================================
--- stable/11/sys/mips/mips/trap.c      Thu Sep  6 22:23:39 2018        
(r338514)
+++ stable/11/sys/mips/mips/trap.c      Thu Sep  6 22:30:34 2018        
(r338515)
@@ -852,6 +852,7 @@ dofault:
                        if (td->td_md.md_ss_addr != va ||
                            instr != MIPS_BREAK_SSTEP) {
                                i = SIGTRAP;
+                               ucode = TRAP_BRKPT;
                                addr = trapframe->pc;
                                break;
                        }
@@ -863,6 +864,7 @@ dofault:
                         */
                        addr = trapframe->pc;
                        i = SIGTRAP;
+                       ucode = TRAP_TRACE;
                        break;
                }
 
@@ -877,6 +879,7 @@ dofault:
                                va += sizeof(int);
                        printf("watch exception @ %p\n", (void *)va);
                        i = SIGTRAP;
+                       ucode = TRAP_BRKPT;
                        addr = va;
                        break;
                }
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to