equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
401 |
401 |
402 if(sig == SIGPIPE || sig == SIGXFSZ) { |
402 if(sig == SIGPIPE || sig == SIGXFSZ) { |
403 if (os::Solaris::chained_handler(sig, info, ucVoid)) { |
403 if (os::Solaris::chained_handler(sig, info, ucVoid)) { |
404 return true; |
404 return true; |
405 } else { |
405 } else { |
406 if (PrintMiscellaneous && (WizardMode || Verbose)) { |
406 // Ignoring SIGPIPE/SIGXFSZ - see bugs 4229104 or 6499219 |
407 char buf[64]; |
|
408 warning("Ignoring %s - see 4229104 or 6499219", |
|
409 os::exception_name(sig, buf, sizeof(buf))); |
|
410 |
|
411 } |
|
412 return true; |
407 return true; |
413 } |
408 } |
414 } |
409 } |
415 |
410 |
416 JavaThread* thread = NULL; |
411 JavaThread* thread = NULL; |
638 address page_start = |
633 address page_start = |
639 (address) align_size_down((intptr_t) addr, (intptr_t) page_size); |
634 (address) align_size_down((intptr_t) addr, (intptr_t) page_size); |
640 bool res = os::protect_memory((char*) page_start, page_size, |
635 bool res = os::protect_memory((char*) page_start, page_size, |
641 os::MEM_PROT_RWX); |
636 os::MEM_PROT_RWX); |
642 |
637 |
643 if (PrintMiscellaneous && Verbose) { |
638 log_debug(os)("Execution protection violation " |
644 char buf[256]; |
639 "at " INTPTR_FORMAT |
645 jio_snprintf(buf, sizeof(buf), "Execution protection violation " |
640 ", unguarding " INTPTR_FORMAT ": %s, errno=%d", p2i(addr), |
646 "at " INTPTR_FORMAT |
641 p2i(page_start), (res ? "success" : "failed"), errno); |
647 ", unguarding " INTPTR_FORMAT ": %s, errno=%d", addr, |
|
648 page_start, (res ? "success" : "failed"), errno); |
|
649 tty->print_raw_cr(buf); |
|
650 } |
|
651 stub = pc; |
642 stub = pc; |
652 |
643 |
653 // Set last_addr so if we fault again at the same address, we don't end |
644 // Set last_addr so if we fault again at the same address, we don't end |
654 // up in an endless loop. |
645 // up in an endless loop. |
655 // |
646 // |