64-bit Boost Regression testing.
Hi, I have built 64-bit Boost libraries on SUSE Linux ES 9 (SLES 9)for IBM POWER/PowerPC(PPC) using gcc 3.3.3 and 3.4.4. in both 32-bit and 64-bit. Now, I also want to run Boost 1.33.0 regresion test with gcc 3.4.4 in 64-bit to see if there are any problems with 64-bit compilation. Regression test helper programs and tests themselves are being built in 64-bit OK. However, the run tests give the error message: ***************************************************** unknown location(0): fatal error in "some_test_name": signal: memory access violation *** errors detected in test suite "Some Test Suite Name"; see standard output for details EXIT STATUS: 200 ***************************************************** I enabled detailed output and here is an example of what I see during the regression test (Just one orbitrary chosen test - the rest show pretty much the same picture).: ****************************************************** MkDir1 ../bin/boost/libs/assign/test/multi_index_container.test mkdir "../bin/boost/libs/assign/test/multi_index_container.test" MkDir1 ../bin/boost/libs/assign/test/multi_index_container.test/gcc mkdir "../bin/boost/libs/assign/test/multi_index_container.test/gcc" MkDir1 ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug mkdir "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug" MkDir1 ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64 mkdir "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64" MkDir1 ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power mkdir "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power" gcc-C++-action ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o set -e "/home/nik/gcc-3.4.4-ppc-install/bin/g++" -m64 -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -mcpu=powerpc64 -m64 -I"../bin/boost/libs/assign/test" -I"/home/nik/boost_1_33_0" -I "/home/nik/boost_1_33_0" -o "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o" "../libs/assign/test/multi_index_container.cpp" "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o" gcc-Link-action ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container set -e LD_LIBRARY_PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:/home/nik/gcc-3.4.4-ppc-install/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH "/home/nik/gcc-3.4.4-ppc-install/bin/g++" -m64 -g -m64 -o "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container" -L"/home/nik/gcc-3.4.4-ppc-install/lib64" -L"../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power" -L"/home/nik/gcc-3.4.4-ppc-install/lib" "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.o" "../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power/libboost_unit_test_framework.a" "../bin/boost/libs/test/build/libboost_unit_test_framework.a/gcc/debug/address-model-64/architecture-power/libboost_unit_test_framework.a" -Wl,-rpath-link,. Chmod1 ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container chmod 711 "../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container" execute-test ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.run LD_LIBRARY_PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:/home/nik/gcc-3.4.4-ppc-install/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=/home/nik/gcc-3.4.4-ppc-install/lib64:$PATH export PATH ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container > ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output 2>&1 status=$? echo >> ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output echo EXIT STATUS: $status >> ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output if test $status -eq 0 ; then cp -f ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.run fi verbose=1 if test $status -ne 0 ; then verbose=0 fi if test $verbose -eq 0 ; then echo ====== BEGIN OUTPUT ====== cat ../bin/boost/libs/assign/test/multi_index_container.test/gcc/debug/address-model-64/architecture-power/multi_index_container.output echo ====== END OUTPUT ====== fi exit $status ====== BEGIN OUTPUT ====== Running 1 test case... unknown location(0): fatal error in "test_multi_index_container": signal: memory access violation *** errors detected in test suite "List Test Suite"; see standard output for details EXIT STATUS: 200 ====== END OUTPUT ====== ****************************************************** Indeed, trying to execute the 64-bit executable in gdb gives something like: Error accessing memory address 0x53e00001b5a6: Input/output error. (gdb) where #0 0x000053e00000d932 in ?? () #1 0x0000000000000000 in ?? () Previous frame identical to this frame (corrupt stack?) I modified slightly the run-tests.sh script and gcc-tools.jam to regression test in 64-bit. RUN_TESTS.SH: diff run_tests.sh.orig run_tests.sh 18c18 < boost_root="$HOME/CVSROOTs/Boost/boost_regression" ---
boost_root="/home/nik/boost_1_33_0" 134a135 export LD_LIBRARY_PATH="/home/nik/gcc-3.4.4-ppc-install/lib64" 136c137 < "$bjam" -sTOOLS=$toolset -sBUILD=release run
"$bjam" -a -d+2 -sTOOLS=$toolset -sBUILD=release run "-sBUILD=<architecture>power <address-model>64 <library-path>/home/nik/gcc-3.4.4-ppc-install/lib64" 152a154 export LD_LIBRARY_PATH="/home/nik/gcc-3.4.4-ppc-install/lib64" 154c156 < "$bjam" -sTOOLS=$tool --dump-tests test 2>&1 | tee regress.log
"$bjam" -a -d+2 -sTOOLS=$tool "-sBUILD=<architecture>power <address-model>64 <library-path>/home/nik/gcc-3.4.4-ppc-install/lib64" --dump-tests test 2>&1 | tee regress.log
GCC_TOOLS.JAM - added two lines:
flags gcc CFLAGS <architecture>power/<address-model>64 : -m64 ; flags gcc LINKFLAGS <architecture>power/<address-model>64 : -m64 ;
What am I missing here? What am I doing wrong? Any help would be greatly appreciated. __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com
participants (1)
-
Nik Yevik