comparison test/runtime/7107135/Test7107135.sh @ 11967:f9ee986a9fea

8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases Summary: Added checking for gcc and simplified the sig_handler() in the test case Reviewed-by: dcubed, coleenp, minqi, dlong
author ccheung
date Tue, 30 Jul 2013 14:14:25 -0700
parents 04d6d4322c6a
children 57ac7245594c
comparison
equal deleted inserted replaced
11966:83ca9dc4564d 11967:f9ee986a9fea
25 # 25 #
26 26
27 ## 27 ##
28 ## @test Test7107135.sh 28 ## @test Test7107135.sh
29 ## @bug 7107135 29 ## @bug 7107135
30 ## @bug 8021296
30 ## @summary Stack guard pages lost after loading library with executable stack. 31 ## @summary Stack guard pages lost after loading library with executable stack.
31 ## @run shell Test7107135.sh 32 ## @run shell Test7107135.sh
32 ## 33 ##
33 34
34 if [ "${TESTSRC}" = "" ] 35 if [ "${TESTSRC}" = "" ]
43 # set platform-dependent variables 44 # set platform-dependent variables
44 OS=`uname -s` 45 OS=`uname -s`
45 case "$OS" in 46 case "$OS" in
46 Linux) 47 Linux)
47 echo "Testing on Linux" 48 echo "Testing on Linux"
49 gcc_cmd=`which gcc`
50 if [ "x$gcc_cmd" == "x" ]; then
51 echo "WARNING: gcc not found. Cannot execute test." 2>&1
52 exit 0;
53 fi
48 ;; 54 ;;
49 *) 55 *)
50 NULL=NUL 56 NULL=NUL
51 PS=";" 57 PS=";"
52 FS="\\" 58 FS="\\"
60 THIS_DIR=. 66 THIS_DIR=.
61 67
62 cp ${TESTSRC}${FS}*.java ${THIS_DIR} 68 cp ${TESTSRC}${FS}*.java ${THIS_DIR}
63 ${TESTJAVA}${FS}bin${FS}javac *.java 69 ${TESTJAVA}${FS}bin${FS}javac *.java
64 70
65 gcc -fPIC -shared -c -o test.o -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux ${TESTSRC}${FS}test.c 71 $gcc_cmd -fPIC -shared -c -o test.o \
72 -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux \
73 ${TESTSRC}${FS}test.c
74
66 ld -shared -z execstack -o libtest-rwx.so test.o 75 ld -shared -z execstack -o libtest-rwx.so test.o
67 ld -shared -z noexecstack -o libtest-rw.so test.o 76 ld -shared -z noexecstack -o libtest-rw.so test.o
68 77
69 78
70 LD_LIBRARY_PATH=${THIS_DIR} 79 LD_LIBRARY_PATH=${THIS_DIR}