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 $?