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 BIT_FLAG="" 23 24 # set platform-dependent variables 25 OS=`uname -s` 26 case "$OS" in 27 Linux) 28 NULL=/dev/null 29 PS=":" 30 FS="/" 31 ;; 32 SunOS | Windows_* ) 33 NULL=NUL 34 PS=";" 35 FS="\\" 36 echo "Test passed; only valid for Linux" 37 exit 0; 38 ;; 39 * ) 40 echo "Unrecognized system!" 41 exit 1; 42 ;; 43 esac 44 45 PATH_TO_LIBJVM=`find ${TESTJAVA}/jre/lib -name libjvm.so | tail -n 1 | sed 's/\(.*\)\(\/libjvm\.so\)/\1/g'` 46 47 echo $PATH_TO_LIBJVM 48 49 LD_LIBRARY_PATH=.:${PATH_TO_LIBJVM}:/usr/openwin/lib:/usr/dt/lib:/usr/lib:$LD_LIBRARY_PATH 50 export LD_LIBRARY_PATH 51 52 THIS_DIR=`pwd` 53 54 cp ${TESTSRC}${FS}invoke.c ${THIS_DIR} 55 cp ${TESTSRC}${FS}T.java ${THIS_DIR} 56 57 58 ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -fullversion 59 60 ${TESTJAVA}${FS}bin${FS}javac T.java 61 62 gcc -o invoke -I${TESTJAVA}/include -I${TESTJAVA}/include/linux invoke.c ${PATH_TO_LIBJVM}/libjvm.so 63 ./invoke 64 exit $?