Lorenzo Campedelli wrote:
[ snip ]
> As you can see the signal received by the program as I
> press ^C is SIGEMT (does it make sense ?)
The following patch seems to fix it (context.event_info is unsigned
quantity)
--- freemware.ori/user/plugins/ice/low-freemware.c Sun Jan 9 20:48:19
2000
+++ freemware/user/plugins/ice/low-freemware.c Sun Jan 9 22:50:10 2000
@@ -84,7 +84,7 @@
case 13 : sigval = SIGSEGV; break; /* general protection */
case 14 : sigval = SIGSEGV; break; /* page fault */
case 16 : sigval = SIGEMT; break; /* coprocessor error */
- case -1 : sigval = SIGINT; break; /* break command from gdb */
+ case 0xff : sigval = SIGINT; break; /* break command from gdb
*/
default : sigval = SIGEMT; break; /* "software generated" */
}
Along the same lines, when a breakpoint is set execution is correctly
interrupted but gdb instead of reporting the breakpoint hit gives, for
the
same instruction:
Program received signal SIGSEGV, Segmentation fault.
kmain () at main.c:60
60 {
I verified that the value of (context.event_info & 0xff) in mywait()
is actually 13.
Note also that neither STEP nor NEXT seem to work: they behave like
CONT.
Ciao,
Lorenzo (now sleeping)