Changeset 14185
- Timestamp:
- Aug 13, 2010, 4:02:49 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/lisp-kernel/lisp-debug.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/lisp-debug.c
r14140 r14185 309 309 */ 310 310 #else 311 fprintf(dbgout, "received signal %d; faulting address: %p\n", 312 info->si_signo, info->si_addr); 313 if (info->si_code > 0) { 314 if (info->si_signo == SIGSEGV) { 315 switch (info->si_code) { 316 case SEGV_MAPERR: 317 fprintf(dbgout, "address not mapped to object\n"); 318 break; 319 case SEGV_ACCERR: 320 fprintf(dbgout, "invalid permissions for mapped object\n"); 321 break; 322 default: 323 fprintf(dbgout, "unexpected si_code value: %d\n", info->si_code); 324 break; 325 } 326 } else if (info->si_signo == SIGBUS) { 327 switch (info->si_code) { 328 case BUS_ADRALN: 329 fprintf(dbgout, "invalid address alignment\n"); 330 break; 331 case BUS_ADRERR: 332 fprintf(dbgout, "non-existent physical address"); 333 break; 334 case BUS_OBJERR: 335 fprintf(dbgout, "object-specific hardware error"); 336 break; 337 default: 338 fprintf(dbgout, "unexpected si_code value: %d\n", info->si_code); 311 if (info) { 312 fprintf(dbgout, "received signal %d; faulting address: %p\n", 313 info->si_signo, info->si_addr); 314 if (info->si_code > 0) { 315 if (info->si_signo == SIGSEGV) { 316 switch (info->si_code) { 317 case SEGV_MAPERR: 318 fprintf(dbgout, "address not mapped to object\n"); 319 break; 320 case SEGV_ACCERR: 321 fprintf(dbgout, "invalid permissions for mapped object\n"); 322 break; 323 default: 324 fprintf(dbgout, "unexpected si_code value: %d\n", info->si_code); 325 break; 326 } 327 } else if (info->si_signo == SIGBUS) { 328 switch (info->si_code) { 329 case BUS_ADRALN: 330 fprintf(dbgout, "invalid address alignment\n"); 331 break; 332 case BUS_ADRERR: 333 fprintf(dbgout, "non-existent physical address"); 334 break; 335 case BUS_OBJERR: 336 fprintf(dbgout, "object-specific hardware error"); 337 break; 338 default: 339 fprintf(dbgout, "unexpected si_code value: %d\n", info->si_code); 340 } 339 341 } 340 342 }
Note:
See TracChangeset
for help on using the changeset viewer.
