mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 13:54:38 +02:00
8144881: Various fixes to linux/sparc
Fixed sigflags printing, format specfiers, codeCache includes and some function returns Reviewed-by: dsamersoff, simonis
This commit is contained in:
parent
24c8c40bb8
commit
c9fc986a36
14 changed files with 39 additions and 13 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -433,7 +433,7 @@ void NativeMovConstReg32::verify() {
|
||||||
|
|
||||||
|
|
||||||
void NativeMovConstReg32::print() {
|
void NativeMovConstReg32::print() {
|
||||||
tty->print_cr(INTPTR_FORMAT ": mov reg, " INTPTR_FORMAT, instruction_address(), data());
|
tty->print_cr(INTPTR_FORMAT ": mov reg, " INTPTR_FORMAT, p2i(instruction_address()), data());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1651,6 +1651,7 @@ uint MachSpillCopyNode::implementation( CodeBuffer *cbuf,
|
||||||
#endif // !_LP64
|
#endif // !_LP64
|
||||||
|
|
||||||
Unimplemented();
|
Unimplemented();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef PRODUCT
|
#ifndef PRODUCT
|
||||||
|
|
|
@ -3431,8 +3431,12 @@ void os::Aix::check_signal_handler(int sig) {
|
||||||
}
|
}
|
||||||
} else if (os::Aix::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Aix::get_our_sigflags(sig)) {
|
} else if (os::Aix::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Aix::get_our_sigflags(sig)) {
|
||||||
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
||||||
tty->print("expected:" PTR32_FORMAT, os::Aix::get_our_sigflags(sig));
|
tty->print("expected:");
|
||||||
tty->print_cr(" found:" PTR32_FORMAT, act.sa_flags);
|
os::Posix::print_sa_flags(tty, os::Aix::get_our_sigflags(sig));
|
||||||
|
tty->cr();
|
||||||
|
tty->print(" found:");
|
||||||
|
os::Posix::print_sa_flags(tty, act.sa_flags);
|
||||||
|
tty->cr();
|
||||||
// No need to check this sig any longer
|
// No need to check this sig any longer
|
||||||
sigaddset(&check_signal_done, sig);
|
sigaddset(&check_signal_done, sig);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3382,8 +3382,12 @@ void os::Bsd::check_signal_handler(int sig) {
|
||||||
}
|
}
|
||||||
} else if(os::Bsd::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Bsd::get_our_sigflags(sig)) {
|
} else if(os::Bsd::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Bsd::get_our_sigflags(sig)) {
|
||||||
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
||||||
tty->print("expected:" PTR32_FORMAT, os::Bsd::get_our_sigflags(sig));
|
tty->print("expected:");
|
||||||
tty->print_cr(" found:" PTR32_FORMAT, act.sa_flags);
|
os::Posix::print_sa_flags(tty, os::Bsd::get_our_sigflags(sig));
|
||||||
|
tty->cr();
|
||||||
|
tty->print(" found:");
|
||||||
|
os::Posix::print_sa_flags(tty, act.sa_flags);
|
||||||
|
tty->cr();
|
||||||
// No need to check this sig any longer
|
// No need to check this sig any longer
|
||||||
sigaddset(&check_signal_done, sig);
|
sigaddset(&check_signal_done, sig);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4533,8 +4533,12 @@ void os::Linux::check_signal_handler(int sig) {
|
||||||
}
|
}
|
||||||
} else if(os::Linux::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Linux::get_our_sigflags(sig)) {
|
} else if(os::Linux::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Linux::get_our_sigflags(sig)) {
|
||||||
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
||||||
tty->print("expected:" PTR32_FORMAT, os::Linux::get_our_sigflags(sig));
|
tty->print("expected:");
|
||||||
tty->print_cr(" found:" PTR32_FORMAT, act.sa_flags);
|
os::Posix::print_sa_flags(tty, os::Linux::get_our_sigflags(sig));
|
||||||
|
tty->cr();
|
||||||
|
tty->print(" found:");
|
||||||
|
os::Posix::print_sa_flags(tty, act.sa_flags);
|
||||||
|
tty->cr();
|
||||||
// No need to check this sig any longer
|
// No need to check this sig any longer
|
||||||
sigaddset(&check_signal_done, sig);
|
sigaddset(&check_signal_done, sig);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4058,8 +4058,12 @@ void os::Solaris::check_signal_handler(int sig) {
|
||||||
}
|
}
|
||||||
} else if(os::Solaris::get_our_sigflags(sig) != 0 && act.sa_flags != os::Solaris::get_our_sigflags(sig)) {
|
} else if(os::Solaris::get_our_sigflags(sig) != 0 && act.sa_flags != os::Solaris::get_our_sigflags(sig)) {
|
||||||
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
|
||||||
tty->print("expected:" PTR32_FORMAT, os::Solaris::get_our_sigflags(sig));
|
tty->print("expected:");
|
||||||
tty->print_cr(" found:" PTR32_FORMAT, act.sa_flags);
|
os::Posix::print_sa_flags(tty, os::Solaris::get_our_sigflags(sig));
|
||||||
|
tty->cr();
|
||||||
|
tty->print(" found:");
|
||||||
|
os::Posix::print_sa_flags(tty, act.sa_flags);
|
||||||
|
tty->cr();
|
||||||
// No need to check this sig any longer
|
// No need to check this sig any longer
|
||||||
sigaddset(&check_signal_done, sig);
|
sigaddset(&check_signal_done, sig);
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "code/nativeInst.hpp"
|
#include "code/nativeInst.hpp"
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
@ -347,9 +348,9 @@ address os::Linux::ucontext_get_pc(ucontext_t* uc) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void os::Linux::ucontext_set_pc(ucontext_t* uc, address pc) {
|
void os::Linux::ucontext_set_pc(ucontext_t* uc, address pc) {
|
||||||
sigcontext_t* ctx = (sigcontext_t*) uc;
|
sigcontext* ctx = (sigcontext*) uc;
|
||||||
SIG_PC(ctx) = (intptr_t)addr;
|
SIG_PC(ctx) = (intptr_t)pc;
|
||||||
SIG_NPC(ctx) = (intptr_t)(addr+4);
|
SIG_NPC(ctx) = (intptr_t)(pc+4);
|
||||||
}
|
}
|
||||||
|
|
||||||
intptr_t* os::Linux::ucontext_get_sp(ucontext_t *uc) {
|
intptr_t* os::Linux::ucontext_get_sp(ucontext_t *uc) {
|
||||||
|
@ -695,6 +696,7 @@ JVM_handle_linux_signal(int sig,
|
||||||
VMError::report_and_die(t, sig, pc, info, ucVoid);
|
VMError::report_and_die(t, sig, pc, info, ucVoid);
|
||||||
|
|
||||||
ShouldNotReachHere();
|
ShouldNotReachHere();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void os::Linux::init_thread_fpu_state(void) {
|
void os::Linux::init_thread_fpu_state(void) {
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
|
|
@ -551,6 +551,7 @@ JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
|
||||||
VMError::report_and_die(t, sig, pc, info, ucVoid);
|
VMError::report_and_die(t, sig, pc, info, ucVoid);
|
||||||
|
|
||||||
ShouldNotReachHere();
|
ShouldNotReachHere();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void os::print_context(outputStream *st, void *context) {
|
void os::print_context(outputStream *st, void *context) {
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "classfile/classLoader.hpp"
|
#include "classfile/classLoader.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/vmSymbols.hpp"
|
#include "classfile/vmSymbols.hpp"
|
||||||
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "code/vtableStubs.hpp"
|
#include "code/vtableStubs.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue