Hi Luis, > I tracked this down to the lack of a proper definition of what MIPS' kernel > returns in the si_code for a software breakpoint trap. > > Though i did not find documentation about this, tests showed that we should > check for SI_KERNEL, just like i386. I've cc-ed Maciej, just to be sure this > is indeed correct. Hmm, the MIPS/Linux port does not set any particular code for SIGTRAP, all such signals will have the SI_KERNEL default, so you may well return TRUE unconditionally. I'm not convinced however that it is safe to assume all SIGTRAPs come from breakpoints -- this signal is sent by the kernel for both BREAK and trap (multiple mnemonics, e.g. TEQ, TGEI, etc.) instructions which may have been placed throughout code for some reason, for example to serve as cheap assertion checks. Is there a separate check made afterwards like `bpstat_explains_signal' to validate the source of the signal here? Perhaps we should make it a part of the ABI and teach MIPS/Linux about the breakpoint encoding used by GDB, which is `BREAK 5' (aka BRK_SSTEPBP in kernel-speak, a misnomer I'm afraid), and make it set `si_code' to TRAP_BRKPT, as expected. This won't fix history of course, but at least it will make debugging a little bit easier to handle in the future. Cc-ing `linux-mips' for further input. I was wondering where these SIGTRAPs come from too BTW, thanks for investigating it. And thanks for the heads-up! Maciej