annotate test/runtime/6929067/Test6929067.sh @ 7042:4cef3dfcaedc

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 27 Nov 2012 13:03:08 +0100
parents e0ea0e94c23c
children 04d6d4322c6a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
1 #!/bin/sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
2
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
3 ##
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
4 ## @test Test6929067.sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
5 ## @bug 6929067
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
6 ## @summary Stack guard pages should be removed when thread is detached
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
7 ## @compile T.java
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
8 ## @run shell Test6929067.sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
9 ##
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
10
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
11 if [ "${TESTSRC}" = "" ]
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
12 then TESTSRC=.
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
13 fi
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
14
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
15 if [ "${TESTJAVA}" = "" ]
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
16 then
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
17 PARENT=`dirname \`which java\``
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
18 TESTJAVA=`dirname ${PARENT}`
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
19 echo "TESTJAVA not set, selecting " ${TESTJAVA}
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
20 echo "If this is incorrect, try setting the variable manually."
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
21 fi
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
22
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
23 # set platform-dependent variables
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
24 OS=`uname -s`
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
25 case "$OS" in
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
26 Linux)
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
27 NULL=/dev/null
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
28 PS=":"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
29 FS="/"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
30 ;;
6598
6acee021f5ac 7129723: MAC: Some regression tests need to recognize Mac OS X platform
coleenp
parents: 6074
diff changeset
31 * )
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
32 echo "Test passed; only valid for Linux"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
33 exit 0;
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
34 ;;
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
35 esac
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
36
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
37 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Xinternalversion > vm_version.out 2>&1
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
38
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
39 # Bitness:
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
40 # Cannot simply look at TESTVMOPTS as -d64 is not
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
41 # passed if there is only a 64-bit JVM available.
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
42
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
43 grep "64-Bit" vm_version.out > ${NULL}
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
44 if [ "$?" = "0" ]
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
45 then
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
46 COMP_FLAG="-m64"
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
47 else
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
48 COMP_FLAG="-m32"
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
49 fi
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
50
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
51
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
52 # Architecture:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
53 # Translate uname output to JVM directory name, but permit testing
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
54 # 32-bit x86 on an x64 platform.
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
55 ARCH=`uname -m`
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
56 case "$ARCH" in
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
57 x86_64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
58 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
59 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
60 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
61 ARCH=amd64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
62 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
63 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
64 ppc64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
65 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
66 ARCH=ppc
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
67 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
68 ARCH=ppc64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
69 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
70 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
71 sparc64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
72 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
73 ARCH=sparc
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
74 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
75 ARCH=sparc64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
76 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
77 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
78 arm*)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
79 # 32-bit ARM machine: compiler may not recognise -m32
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
80 COMP_FLAG=""
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
81 ARCH=arm
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
82 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
83 aarch64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
84 # 64-bit arm machine, could be testing 32 or 64-bit:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
85 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
86 ARCH=arm
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
87 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
88 ARCH=aarch64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
89 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
90 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
91 i586)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
92 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
93 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
94 i686)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
95 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
96 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
97 # Assuming other ARCH values need no translation
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
98 esac
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
99
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
100
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
101 # VM type: need to know server or client
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
102 VMTYPE=client
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
103 grep Server vm_version.out > ${NULL}
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
104 if [ "$?" = "0" ]
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
105 then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
106 VMTYPE=server
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
107 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
108
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
109
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
110 LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${ARCH}/${VMTYPE}:/usr/lib:$LD_LIBRARY_PATH
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
111 export LD_LIBRARY_PATH
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
112
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
113 cp ${TESTSRC}${FS}invoke.c .
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
114
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
115 # Copy the result of our @compile action:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
116 cp ${TESTCLASSES}${FS}T.class .
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
117
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
118 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -fullversion
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
119
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
120 echo "Architecture: ${ARCH}"
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
121 echo "Compilation flag: ${COMP_FLAG}"
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
122 echo "VM type: ${VMTYPE}"
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
123
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
124 gcc -DLINUX ${COMP_FLAG} -o invoke \
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
125 -I${TESTJAVA}/include -I${TESTJAVA}/include/linux \
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
126 -L${TESTJAVA}/jre/lib/${ARCH}/${VMTYPE} \
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
127 -ljvm -lpthread invoke.c
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
128
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
129 ./invoke
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
130 exit $?