1 #!/bin/sh 2 3 ## 4 ## @test Test6929067.sh 5 ## @bug 6929067 6 ## @summary Stack guard pages should be removed when thread is detached 7 ## @run shell Test6929067.sh 8 ## 9 10 if [ "${TESTSRC}" = "" ] 11 then TESTSRC=. 12 fi 13 14 if [ "${TESTJAVA}" = "" ] 15 then 16 PARENT=`dirname \`which java\`` 17 TESTJAVA=`dirname ${PARENT}` 18 echo "TESTJAVA not set, selecting " ${TESTJAVA} 19 echo "If this is incorrect, try setting the variable manually." 20 fi 21 22 # set platform-dependent variables 23 OS=`uname -s` 24 case "$OS" in 25 Linux) 26 NULL=/dev/null 27 PS=":" 28 FS="/" 29 ;; 30 * ) 31 echo "Test passed; only valid for Linux" 32 exit 0; 33 ;; 34 esac 35 36 # Choose arch: i386 or amd64 (test is Linux-specific) 37 # Cannot simply look at TESTVMOPTS as -d64 is not 38 # passed if there is only a 64-bit JVM available. 39 40 ${TESTJAVA}/bin/java ${TESTVMOPTS} -version 2>1 | grep "64-Bit" >/dev/null 41 if [ "$?" = "0" ] 42 then 43 ARCH=amd64 44 else 45 ARCH=i386 46 fi 47 48 LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${ARCH}/client:/usr/openwin/lib:/usr/dt/lib:/usr/lib:$LD_LIBRARY_PATH 49 export LD_LIBRARY_PATH 50 51 THIS_DIR=`pwd` 52 53 cp ${TESTSRC}${FS}invoke.c ${THIS_DIR} 54 cp ${TESTSRC}${FS}T.java ${THIS_DIR} 55 56 57 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -fullversion 58 59 ${TESTJAVA}${FS}bin${FS}javac T.java 60 61 gcc -o invoke -I${TESTJAVA}/include -I${TESTJAVA}/include/linux invoke.c ${TESTJAVA}/jre/lib/${ARCH}/client/libjvm.so 62 ./invoke 63 exit $?