1 #!/bin/sh
   2 
   3 ##
   4 ## @test Test6929067.sh
   5 ## @bug 6929067
   6 ## @bug 8021296
   7 ## @bug 8025519
   8 ## @summary Stack guard pages should be removed when thread is detached
   9 ## @run shell Test6929067.sh
  10 ##
  11 
  12 if [ "${TESTSRC}" = "" ]
  13 then
  14   TESTSRC=${PWD}
  15   echo "TESTSRC not set.  Using "${TESTSRC}" as default"
  16 fi
  17 echo "TESTSRC=${TESTSRC}"
  18 ## Adding common setup Variables for running shell tests.
  19 . ${TESTSRC}/../../test_env.sh
  20 
  21 if [ "${VM_OS}" != "linux" ]
  22 then
  23   echo "Test only valid for Linux"
  24   exit 0
  25 fi
  26 
  27 gcc_cmd=`which gcc`
  28 if [ "x$gcc_cmd" = "x" ]; then
  29   echo "WARNING: gcc not found. Cannot execute test." 2>&1
  30   exit 0;
  31 fi
  32 
  33 CFLAGS=-m${VM_BITS}
  34 
  35 LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${VM_CPU}/${VM_TYPE}:/usr/lib:$LD_LIBRARY_PATH
  36 export LD_LIBRARY_PATH
  37 
  38 cp ${TESTSRC}/*.java ${THIS_DIR}
  39 ${COMPILEJAVA}/bin/javac *.java
  40 
  41 echo "Architecture: ${VM_CPU}"
  42 echo "Compilation flag: ${CFLAGS}"
  43 echo "VM type: ${VM_TYPE}"
  44 echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}"
  45 
  46 # Note pthread may not be found thus invoke creation will fail to be created.
  47 # Check to ensure you have a /usr/lib/libpthread.so if you don't please look
  48 # for /usr/lib/`uname -m`-linux-gnu version ensure to add that path to below compilation.
  49 
  50 $gcc_cmd -DLINUX ${CFLAGS} -o invoke \
  51     -I${TESTJAVA}/include -I${TESTJAVA}/include/linux \
  52     -L${TESTJAVA}/jre/lib/${VM_CPU}/${VM_TYPE} \
  53      ${TESTSRC}/invoke.c -ljvm -lpthread
  54 
  55 ./invoke
  56 exit $?