Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
9d0b3324
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9d0b3324
编写于
9月 22, 2011
作者:
K
kevinw
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
Reviewed-by: coleenp, minqi
上级
45a902bd
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
167 addition
and
6 deletion
+167
-6
src/os/linux/vm/os_linux.cpp
src/os/linux/vm/os_linux.cpp
+8
-3
src/os/solaris/vm/os_solaris.cpp
src/os/solaris/vm/os_solaris.cpp
+8
-3
test/runtime/7051189/Xchecksig.sh
test/runtime/7051189/Xchecksig.sh
+151
-0
未找到文件。
src/os/linux/vm/os_linux.cpp
浏览文件 @
9d0b3324
...
...
@@ -3895,14 +3895,19 @@ void os::Linux::install_signal_handlers() {
}
// We don't activate signal checker if libjsig is in place, we trust ourselves
// and if UserSignalHandler is installed all bets are off
// and if UserSignalHandler is installed all bets are off.
// Log that signal checking is off only if -verbose:jni is specified.
if
(
CheckJNICalls
)
{
if
(
libjsig_is_loaded
)
{
tty
->
print_cr
(
"Info: libjsig is activated, all active signal checking is disabled"
);
if
(
PrintJNIResolving
)
{
tty
->
print_cr
(
"Info: libjsig is activated, all active signal checking is disabled"
);
}
check_signals
=
false
;
}
if
(
AllowUserSignalHandlers
)
{
tty
->
print_cr
(
"Info: AllowUserSignalHandlers is activated, all active signal checking is disabled"
);
if
(
PrintJNIResolving
)
{
tty
->
print_cr
(
"Info: AllowUserSignalHandlers is activated, all active signal checking is disabled"
);
}
check_signals
=
false
;
}
}
...
...
src/os/solaris/vm/os_solaris.cpp
浏览文件 @
9d0b3324
...
...
@@ -4592,14 +4592,19 @@ void os::Solaris::install_signal_handlers() {
}
// We don't activate signal checker if libjsig is in place, we trust ourselves
// and if UserSignalHandler is installed all bets are off
// and if UserSignalHandler is installed all bets are off.
// Log that signal checking is off only if -verbose:jni is specified.
if
(
CheckJNICalls
)
{
if
(
libjsig_is_loaded
)
{
tty
->
print_cr
(
"Info: libjsig is activated, all active signal checking is disabled"
);
if
(
PrintJNIResolving
)
{
tty
->
print_cr
(
"Info: libjsig is activated, all active signal checking is disabled"
);
}
check_signals
=
false
;
}
if
(
AllowUserSignalHandlers
)
{
tty
->
print_cr
(
"Info: AllowUserSignalHandlers is activated, all active signal checking is disabled"
);
if
(
PrintJNIResolving
)
{
tty
->
print_cr
(
"Info: AllowUserSignalHandlers is activated, all active signal checking is disabled"
);
}
check_signals
=
false
;
}
}
...
...
test/runtime/7051189/Xchecksig.sh
0 → 100644
浏览文件 @
9d0b3324
#
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# @test Xchecksig.sh
# @bug 7051189
# @summary Need to suppress info message if -xcheck:jni used with libjsig.so
# @run shell Xchecksig.sh
#
if
[
"
${
TESTSRC
}
"
=
""
]
then
TESTSRC
=
.
fi
if
[
"
${
TESTJAVA
}
"
=
""
]
then
PARENT
=
`
dirname
\`
which java
\`
`
TESTJAVA
=
`
dirname
${
PARENT
}
`
printf
"TESTJAVA not set, selecting "
${
TESTJAVA
}
printf
" If this is incorrect, try setting the variable manually.
\n
"
fi
BIT_FLAG
=
""
OS
=
`
uname
-s
`
case
"
$OS
"
in
SunOS
|
Linux
)
FS
=
"/"
## for solaris, linux it's HOME
FILE_LOCATION
=
$HOME
if
[
-f
${
FILE_LOCATION
}${
FS
}
JDK64BIT
-a
${
OS
}
=
"SunOS"
]
then
BIT_FLAG
=
`
cat
${
FILE_LOCATION
}${
FS
}
JDK64BIT
`
fi
;;
Windows_
*
)
printf
"Not testing libjsig.so on Windows. PASSED.
\n
"
exit
0
;;
*
)
printf
"Not testing libjsig.so on unrecognised system. PASSED.
\n
"
exit
0
;;
esac
JAVA
=
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
# LD_PRELOAD arch needs to match the binary we run, so run the java
# 64-bit binary directly if we are testing 64-bit (bin/ARCH/java).
# However JPRT runs: .../solaris_x64_5.10-debug/bin/java
# ..which is 32-bit, when it has built the 64-bit version to test.
#
# How does this script know we are meant to run the 64-bit version?
# Can check for the path of the binary containing "x64" on Solaris.
if
[
${
OS
}
-eq
"SunOS"
]
then
printf
"SunOS test JAVA=
${
JAVA
}
"
printf
${
JAVA
}
|
grep
x64
>
/dev/null
if
[
$?
-eq
0
]
then
printf
"SunOS x64 test, forcing -d64
\n
"
BIT_FLAG
=
-d64
fi
fi
ARCH
=
`
uname
-p
`
case
$ARCH
in
i386
)
if
[
X
${
BIT_FLAG
}
!=
"X"
]
then
ARCH
=
amd64
JAVA
=
${
TESTJAVA
}${
FS
}
bin
${
FS
}${
ARCH
}${
FS
}
java
fi
;;
sparc
)
if
[
X
${
BIT_FLAG
}
!=
"X"
]
then
ARCH
=
sparcv9
JAVA
=
${
TESTJAVA
}${
FS
}
bin
${
FS
}${
ARCH
}${
FS
}
java
fi
;;
*
)
printf
"Not testing architecture
$ARCH
, skipping test.
\n
"
exit
0
;;
esac
LIBJSIG
=
${
TESTJAVA
}${
FS
}
jre
${
FS
}
lib
${
FS
}${
ARCH
}${
FS
}
libjsig.so
# If libjsig and binary do not match, skip test.
A
=
`
file
${
LIBJSIG
}
|
awk
'{ print $3 }'
`
B
=
`
file
${
JAVA
}
|
awk
'{ print $3 }'
`
if
[
$A
-ne
$B
]
then
printf
"Mismatching binary and library to preload, skipping test.
\n
"
exit
0
fi
if
[
!
-f
${
LIBJSIG
}
]
then
printf
"Skipping test: libjsig missing for given architecture:
${
LIBJSIG
}
\n
"
exit
0
fi
# Use java -version to test, java version info appeas on stderr,
# the libjsig message we are removing appears on stdout.
# grep returns zero meaning found, non-zero means not found:
LD_PRELOAD
=
${
LIBJSIG
}
${
JAVA
}
${
BIT_FLAG
}
-Xcheck
:jni
-version
2>&1 |
grep
"libjsig is activated"
if
[
$?
-eq
0
]
;
then
printf
"Failed: -Xcheck:jni prints message when libjsig.so is loaded.
\n
"
exit
1
fi
LD_PRELOAD
=
${
LIBJSIG
}
${
JAVA
}
${
BIT_FLAG
}
-Xcheck
:jni
-verbose
:jni
-version
2>&1 |
grep
"libjsig is activated"
if
[
$?
!=
0
]
;
then
printf
"Failed: -Xcheck:jni does not print message when libjsig.so is loaded and -verbose:jni is set.
\n
"
exit
1
fi
printf
"PASSED
\n
"
exit
0
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录