test/runtime/6929067/Test6929067.sh

Thu, 13 Dec 2012 09:05:20 -0800

author
katleman
date
Thu, 13 Dec 2012 09:05:20 -0800
changeset 4331
8af7d22f1f8f
parent 4180
e0ea0e94c23c
child 4831
04d6d4322c6a
permissions
-rw-r--r--

Added tag jdk8-b68 for changeset 121aa71316af

     1 #!/bin/sh
     3 ##
     4 ## @test Test6929067.sh
     5 ## @bug 6929067
     6 ## @summary Stack guard pages should be removed when thread is detached
     7 ## @compile T.java
     8 ## @run shell Test6929067.sh
     9 ##
    11 if [ "${TESTSRC}" = "" ]
    12 then TESTSRC=.
    13 fi
    15 if [ "${TESTJAVA}" = "" ]
    16 then
    17   PARENT=`dirname \`which java\``
    18   TESTJAVA=`dirname ${PARENT}`
    19   echo "TESTJAVA not set, selecting " ${TESTJAVA}
    20   echo "If this is incorrect, try setting the variable manually."
    21 fi
    23 # set platform-dependent variables
    24 OS=`uname -s`
    25 case "$OS" in
    26   Linux)
    27     NULL=/dev/null
    28     PS=":"
    29     FS="/"
    30     ;;
    31   * )
    32     echo "Test passed; only valid for Linux"
    33     exit 0;
    34     ;;
    35 esac
    37 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Xinternalversion > vm_version.out 2>&1 
    39 # Bitness:
    40 # Cannot simply look at TESTVMOPTS as -d64 is not
    41 # passed if there is only a 64-bit JVM available.
    43 grep "64-Bit" vm_version.out > ${NULL}
    44 if [ "$?" = "0" ]
    45 then
    46   COMP_FLAG="-m64"
    47 else
    48   COMP_FLAG="-m32"
    49 fi
    52 # Architecture:
    53 # Translate uname output to JVM directory name, but permit testing
    54 # 32-bit x86 on an x64 platform.
    55 ARCH=`uname -m`
    56 case "$ARCH" in
    57   x86_64)
    58     if [ "$COMP_FLAG" = "-m32" ]; then
    59       ARCH=i386
    60     else 
    61       ARCH=amd64
    62     fi
    63     ;;
    64   ppc64)
    65     if [ "$COMP_FLAG" = "-m32" ]; then
    66       ARCH=ppc
    67     else 
    68       ARCH=ppc64
    69     fi
    70     ;;
    71   sparc64)
    72     if [ "$COMP_FLAG" = "-m32" ]; then
    73       ARCH=sparc
    74     else 
    75       ARCH=sparc64
    76     fi
    77     ;;
    78   arm*)
    79     # 32-bit ARM machine: compiler may not recognise -m32
    80     COMP_FLAG=""
    81     ARCH=arm
    82     ;;
    83   aarch64)
    84     # 64-bit arm machine, could be testing 32 or 64-bit:
    85     if [ "$COMP_FLAG" = "-m32" ]; then
    86       ARCH=arm
    87     else 
    88       ARCH=aarch64
    89     fi
    90     ;;
    91   i586)
    92     ARCH=i386
    93     ;;
    94   i686)
    95     ARCH=i386
    96     ;;
    97   # Assuming other ARCH values need no translation
    98 esac
   101 # VM type: need to know server or client
   102 VMTYPE=client
   103 grep Server vm_version.out > ${NULL}
   104 if [ "$?" = "0" ]
   105 then
   106   VMTYPE=server
   107 fi
   110 LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${ARCH}/${VMTYPE}:/usr/lib:$LD_LIBRARY_PATH
   111 export LD_LIBRARY_PATH
   113 cp ${TESTSRC}${FS}invoke.c .
   115 # Copy the result of our @compile action:
   116 cp ${TESTCLASSES}${FS}T.class .
   118 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -fullversion
   120 echo "Architecture: ${ARCH}"
   121 echo "Compilation flag: ${COMP_FLAG}"
   122 echo "VM type: ${VMTYPE}"
   124 gcc -DLINUX ${COMP_FLAG} -o invoke \
   125   -I${TESTJAVA}/include -I${TESTJAVA}/include/linux \
   126   -L${TESTJAVA}/jre/lib/${ARCH}/${VMTYPE} \
   127   -ljvm -lpthread invoke.c
   129 ./invoke
   130 exit $?

mercurial