From 90ef3ae34bedabd81f44f782eb16e62e17a17549 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 16 Mar 2008 10:41:25 +0000 Subject: [PATCH] Refinement: OpenMP tests are now only run if libgomp.so has debug information and if it has been compiled with --disable-linux-futex. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7703 --- exp-drd/tests/run_openmp_test | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/exp-drd/tests/run_openmp_test b/exp-drd/tests/run_openmp_test index 19e93cc1e3..e329e6c5bd 100755 --- a/exp-drd/tests/run_openmp_test +++ b/exp-drd/tests/run_openmp_test @@ -4,6 +4,25 @@ # with status 0 if the OpenMP test program should be run and that exits with # status 1 if the OpenMP test program should not be run. +# Inspect the output of nm. If nm does not find any symbol information, +# echo 1. If the symbol gomp_barrier_init is found, echo 0. Otherwise echo +# nothing. The second case occurs if gcc has been compiled with +# --disable-linux-futex, and the last case occurs if gcc has been compiled with +# --enable-linux-futex. +function parse_libgomp { + nm "$1" 2>&1 \ + | + while read line + do + if [ "${line%: no symbols}" != "${line}" ]; then + echo 1 + elif [ "${line% gomp_barrier_init}" != "${line}" ]; then + echo 0 + fi + done +} + + test -e "$1" || exit $? if [ "$(uname)" = Linux ]; then @@ -13,17 +32,7 @@ if [ "$(uname)" = Linux ]; then | while read soname arrow path offset; \ do if [ "${soname#libgomp.so}" != "${soname}" ]; then echo $path; fi; done)" - # Inspect the first line of the output of nm. If nm does not find any symbol - # information, return exit code 1, and otherwise return exit code 0. - nm "${libgomp_path}" 2>&1 \ - | - while read line - do - if [ "${line%: no symbols}" != "${line}" ]; then - exit 1 - else - exit 0 - fi - done + rc="$(parse_libgomp "${libgomp_path}")" + exit ${rc:-1} fi -- 2.47.3