switch (exception)
switch (detail->exc)
_hurd_exception2signal (int exception, int code, int subcode,			int *signo, long int *sigcode, int *error){  *error = 0;  switch (exception)    {    default:      *signo = SIGIOT;      *sigcode = exception;      break;          case EXC_BAD_ACCESS:      if (code == KERN_PROTECTION_FAILURE)	*signo = SIGSEGV;      else	*signo = SIGBUS;      *sigcode = subcode;      *error = code;      break;    case EXC_BAD_INSTRUCTION:      *signo = SIGILL;      if (code == EXC_MIPS_II)	*sigcode = code;      else	*sigcode = 0;      break;          case EXC_ARITHMETIC:      switch (code)	{	case EXC_MIPS_OV:	/* integer overflow */	  *signo = SIGFPE;	  *sigcode = EXC_MIPS_FLT_OVERFLOW;	  break;	default:	  *signo = SIGFPE;	  *sigcode = 0;	  break;	case EXC_MIPS_INT:	  /* Subcode is the fp_status word saved by the hardware.	     Give an error code corresponding to the first bit set.  */	  if (subcode == EXC_MIPS_FLT_UNIMP)	    *signo = SIGILL;	  else	    *signo = SIGFPE;	  *sigcode = subcode;	  break;	}      break;    case EXC_EMULATION:		      /* 3.0 doesn't give this one, why, I don't know.  */      *signo = SIGEMT;      *sigcode = 0;      break;    case EXC_SOFTWARE:      *signo = SIGEMT;      *sigcode = 0;      break;          case EXC_BREAKPOINT:      *signo = SIGTRAP;      *sigcode = code;      break;    }}