test/runtime/7107135/Test7107135.sh

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 5502
57ac7245594c
child 6876
710a3c8b516e
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

iklam@4710 1 #!/bin/sh
iklam@4710 2
iklam@4710 3 #
iklam@4710 4 # Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
iklam@4710 5 # Copyright (c) 2011 SAP AG. All Rights Reserved.
iklam@4710 6 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
iklam@4710 7 #
iklam@4710 8 # This code is free software; you can redistribute it and/or modify it
iklam@4710 9 # under the terms of the GNU General Public License version 2 only, as
iklam@4710 10 # published by the Free Software Foundation.
iklam@4710 11 #
iklam@4710 12 # This code is distributed in the hope that it will be useful, but WITHOUT
iklam@4710 13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
iklam@4710 14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
iklam@4710 15 # version 2 for more details (a copy is included in the LICENSE file that
iklam@4710 16 # accompanied this code).
iklam@4710 17 #
iklam@4710 18 # You should have received a copy of the GNU General Public License version
iklam@4710 19 # 2 along with this work; if not, write to the Free Software Foundation,
iklam@4710 20 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
iklam@4710 21 #
iklam@4710 22 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
iklam@4710 23 # or visit www.oracle.com if you need additional information or have any
iklam@4710 24 # questions.
iklam@4710 25 #
iklam@4710 26
iklam@4710 27 ##
iklam@4710 28 ## @test Test7107135.sh
iklam@4710 29 ## @bug 7107135
ccheung@5453 30 ## @bug 8021296
iklam@4710 31 ## @summary Stack guard pages lost after loading library with executable stack.
iklam@4710 32 ## @run shell Test7107135.sh
iklam@4710 33 ##
iklam@4710 34
iklam@4710 35 if [ "${TESTSRC}" = "" ]
collins@4831 36 then
collins@4831 37 TESTSRC=${PWD}
collins@4831 38 echo "TESTSRC not set. Using "${TESTSRC}" as default"
iklam@4710 39 fi
collins@4831 40 echo "TESTSRC=${TESTSRC}"
collins@4831 41 ## Adding common setup Variables for running shell tests.
collins@4831 42 . ${TESTSRC}/../../test_env.sh
iklam@4710 43
iklam@4710 44 # set platform-dependent variables
iklam@4710 45 OS=`uname -s`
iklam@4710 46 case "$OS" in
iklam@4710 47 Linux)
collins@4831 48 echo "Testing on Linux"
ccheung@5453 49 gcc_cmd=`which gcc`
ccheung@5453 50 if [ "x$gcc_cmd" == "x" ]; then
ccheung@5453 51 echo "WARNING: gcc not found. Cannot execute test." 2>&1
ccheung@5453 52 exit 0;
ccheung@5453 53 fi
iklam@4710 54 ;;
iklam@4710 55 *)
iklam@4710 56 echo "Test passed; only valid for Linux"
iklam@4710 57 exit 0;
iklam@4710 58 ;;
iklam@4710 59 esac
iklam@4710 60
iklam@4710 61 ARCH=`uname -m`
iklam@4710 62
collins@4831 63 THIS_DIR=.
iklam@4710 64
iklam@4710 65 cp ${TESTSRC}${FS}*.java ${THIS_DIR}
iklam@4710 66 ${TESTJAVA}${FS}bin${FS}javac *.java
iklam@4710 67
ccheung@5453 68 $gcc_cmd -fPIC -shared -c -o test.o \
ccheung@5453 69 -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux \
ccheung@5453 70 ${TESTSRC}${FS}test.c
ccheung@5453 71
iklam@4710 72 ld -shared -z execstack -o libtest-rwx.so test.o
iklam@4710 73 ld -shared -z noexecstack -o libtest-rw.so test.o
iklam@4710 74
iklam@4710 75
iklam@4710 76 LD_LIBRARY_PATH=${THIS_DIR}
iklam@4710 77 echo LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}
iklam@4710 78 export LD_LIBRARY_PATH
iklam@4710 79
iklam@4710 80 # This should not fail.
iklam@4710 81 echo Check testprogram. Expected to pass:
iklam@4710 82 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rw
iklam@4710 83 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rw
iklam@4710 84
iklam@4710 85 echo
iklam@4710 86 echo Test changing of stack protection:
minqi@5502 87 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rwx
iklam@4710 88 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rwx
minqi@5502 89 JAVA_RETVAL=$?
iklam@4710 90
minqi@5502 91 if [ "$JAVA_RETVAL" == "0" ]
iklam@4710 92 then
iklam@4710 93 echo
iklam@4710 94 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} TestMT test-rwx
iklam@4710 95 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} TestMT test-rwx
minqi@5502 96 JAVA_RETVAL=$?
iklam@4710 97 fi
iklam@4710 98
minqi@5502 99 exit $JAVA_RETVAL

mercurial