comparison hotspot/src/os_cpu/linux_s390/vm/os_linux_s390.cpp @ 46361:b4c026dd6128

8176872: [s390] wrong pc shown in error logs Reviewed-by: dholmes, dsamersoff
author stuefe
date Tue, 21 Mar 2017 14:14:06 +0100
parents a056d6465ef9
children a5813fb66270
comparison
equal deleted inserted replaced
4:6bd41fee6eec 5:75dceb6f1696
503 sigset_t newset; 503 sigset_t newset;
504 sigemptyset(&newset); 504 sigemptyset(&newset);
505 sigaddset(&newset, sig); 505 sigaddset(&newset, sig);
506 sigprocmask(SIG_UNBLOCK, &newset, NULL); 506 sigprocmask(SIG_UNBLOCK, &newset, NULL);
507 507
508 // Hand down correct pc for SIGILL, SIGFPE. pc from context
509 // usually points to the instruction after the failing instruction.
510 // Note: this should be combined with the trap_pc handling above,
511 // because it handles the same issue.
512 if (sig == SIGILL || sig == SIGFPE) {
513 pc = (address) info->si_addr;
514 }
515
508 VMError::report_and_die(t, sig, pc, info, ucVoid); 516 VMError::report_and_die(t, sig, pc, info, ucVoid);
509 517
510 ShouldNotReachHere(); 518 ShouldNotReachHere();
511 return false; 519 return false;
512 } 520 }