Page MenuHomeFreeBSD

D15190.id42317.diff
No OneTemporary

D15190.id42317.diff

Index: head/sys/sparc64/sparc64/trap.c
===================================================================
--- head/sys/sparc64/sparc64/trap.c
+++ head/sys/sparc64/sparc64/trap.c
@@ -257,7 +257,7 @@
struct thread *td;
struct proc *p;
int error;
- int sig;
+ int sig, ucode;
register_t addr;
ksiginfo_t ksi;
@@ -277,6 +277,7 @@
td->td_pticks = 0;
td->td_frame = tf;
addr = tf->tf_tpc;
+ ucode = (int)tf->tf_type; /* XXX not POSIX */
if (td->td_cowgen != p->p_cowgen)
thread_cow_update(td);
@@ -300,6 +301,10 @@
case T_CORRECTED_ECC_ERROR:
sig = trap_cecc();
break;
+ case T_BREAKPOINT:
+ sig = SIGTRAP;
+ ucode = TRAP_BRKPT;
+ break;
default:
if (tf->tf_type > T_MAX)
panic("trap: bad trap type %#lx (user)",
@@ -322,7 +327,7 @@
kdb_enter(KDB_WHY_TRAPSIG, "trapsig");
ksiginfo_init_trap(&ksi);
ksi.ksi_signo = sig;
- ksi.ksi_code = (int)tf->tf_type; /* XXX not POSIX */
+ ksi.ksi_code = ucode;
ksi.ksi_addr = (void *)addr;
ksi.ksi_trapno = (int)tf->tf_type;
trapsignal(td, &ksi);

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 22, 3:21 AM (17 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27133239
Default Alt Text
D15190.id42317.diff (1 KB)

Event Timeline