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   SunOS | Windows_* | *BSD)
  31     NULL=NUL
  32     PS=";"
  33     FS="\\"
  34     echo "Test passed; only valid for Linux"
  35     exit 0;
  36     ;;
  37   * )
  38     echo "Unrecognized system: $OS"
  39     exit 1;
  40     ;;
  41 esac
  42 
  43 # Choose arch: i386 or amd64 (test is Linux-specific)
  44 echo ${TESTVMOPTS} | grep d64 >/dev/null
  45 if [ "$?" = "0" ]
  46 then
  47   ARCH=amd64
  48 else
  49   ARCH=i386
  50 fi
  51 
  52 LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${ARCH}/client:/usr/openwin/lib:/usr/dt/lib:/usr/lib:$LD_LIBRARY_PATH
  53 export LD_LIBRARY_PATH
  54 
  55 THIS_DIR=`pwd`
  56 
  57 cp ${TESTSRC}${FS}invoke.c ${THIS_DIR}
  58 cp ${TESTSRC}${FS}T.java ${THIS_DIR}
  59 
  60 
  61 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -fullversion
  62 
  63 ${TESTJAVA}${FS}bin${FS}javac T.java
  64 
  65 gcc -o invoke -I${TESTJAVA}/include -I${TESTJAVA}/include/linux invoke.c ${TESTJAVA}/jre/lib/${ARCH}/client/libjvm.so
  66 ./invoke
  67 exit $?