Deleted Added
full compact
28c28
< __FBSDID("$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap.c 91174 2002-02-23 21:37:18Z tmm $");
---
> __FBSDID("$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap.c 95587 2002-04-27 21:56:28Z jake $");
34a35,36
> #include <errno.h>
> #include <signal.h>
36a39
> #include <unistd.h>
79a83
> int sig;
84,86c88,89
< __fpu_exception(uf);
< UF_DONE(uf);
< return;
---
> sig = __fpu_exception(uf);
> break;
87a91,92
> sig = __emul_insn(uf);
> break;
90,92d94
< case UT_TRAP_INSTRUCTION_16:
< UF_DONE(uf);
< return;
96,98c98,104
< printf("__sparc_utrap: type=%s pc=%#lx npc=%#lx\n",
< utrap_msg[uf->uf_type], uf->uf_pc, uf->uf_npc);
< abort();
---
> if (sig) {
> __utrap_write("__sparc_utrap: fatal ");
> __utrap_write(utrap_msg[uf->uf_type]);
> __utrap_write("\n");
> __utrap_kill_self(sig);
> }
> UF_DONE(uf);
99a106,134
>
> void
> __utrap_write(const char *str)
> {
> int berrno;
>
> berrno = errno;
> __sys_write(STDERR_FILENO, str, strlen(str));
> errno = berrno;
> }
>
> void
> __utrap_kill_self(sig)
> {
> int berrno;
>
> berrno = errno;
> __sys_kill(__sys_getpid(), sig);
> errno = berrno;
> }
>
> void
> __utrap_panic(const char *msg)
> {
>
> __utrap_write(msg);
> __utrap_write("\n");
> __utrap_kill_self(SIGKILL);
> }