yann@1: See http://gcc.gnu.org/PR12009 yann@1: yann@1: Fixes the following problems when testing a cross-compiler: yann@1: yann@1: ============================================ yann@1: Testing g++.dg/compat/abi/bitfield1, yann@1: ... yann@1: Invoking the compiler as /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-gli yann@1: bc-2.2.5/build-gcc/gcc/testsuite/../g++ ... yann@1: /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/gcc/test yann@1: suite/g++.dg/compat/abi/bitfield1_main.C yann@1: pid is 16028 -16028 yann@1: compiler exited with status 1 yann@1: output is: yann@1: sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gc yann@1: c-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libdl.so.2: ELF file data encoding yann@1: not little-endian yann@1: /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/te yann@1: stsuite/../g++: error while loading shared libraries: /opt/cegl-2.0/powerpc-750- yann@1: linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libc.so.6: ELF file da yann@1: ta encoding not little-endian yann@1: yann@1: FAIL: g++.dg/compat/abi/bitfield1 main_tst.o compile yann@1: ============================================ yann@1: yann@1: and yann@1: yann@1: sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian yann@1: yann@1: yann@1: yann@1: --- gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp.old Thu Oct 17 17:22:57 2002 yann@1: +++ gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp Mon Jul 14 10:59:19 2003 yann@1: @@ -42,11 +42,13 @@ yann@1: proc compat-fix-library-path { } { yann@1: global ld_library_path yann@1: yann@1: - # See comments in lib/g++.exp for why this is needed. yann@1: - setenv LD_LIBRARY_PATH $ld_library_path yann@1: - setenv SHLIB_PATH $ld_library_path yann@1: - setenv LD_LIBRARYN32_PATH $ld_library_path yann@1: - setenv LD_LIBRARY64_PATH $ld_library_path yann@1: + if {![is_remote target]} { yann@1: + # See comments in lib/g++.exp for why this is needed. yann@1: + setenv LD_LIBRARY_PATH $ld_library_path yann@1: + setenv SHLIB_PATH $ld_library_path yann@1: + setenv LD_LIBRARYN32_PATH $ld_library_path yann@1: + setenv LD_LIBRARY64_PATH $ld_library_path yann@1: + } yann@1: } yann@1: yann@1: # yann@1: --- gcc-3.4-20030813/gcc/testsuite/lib/g++.exp.orig Tue Jun 17 18:56:45 2003 yann@1: +++ gcc-3.4-20030813/gcc/testsuite/lib/g++.exp Sun Aug 17 18:35:38 2003 yann@1: @@ -166,16 +182,20 @@ yann@1: } yann@1: } yann@1: yann@1: - # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but yann@1: - # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH yann@1: - # (for the 64-bit ABI). The right way to do this would be to modify yann@1: - # unix.exp -- but that's not an option since it's part of DejaGNU yann@1: - # proper, so we do it here. We really only need to do yann@1: - # this on IRIX, but it shouldn't hurt to do it anywhere else. yann@1: - setenv LD_LIBRARY_PATH $ld_library_path yann@1: - setenv SHLIB_PATH $ld_library_path yann@1: - setenv LD_LIBRARYN32_PATH $ld_library_path yann@1: - setenv LD_LIBRARY64_PATH $ld_library_path yann@1: + if {![is_remote target]} { yann@1: + # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but yann@1: + # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH yann@1: + # (for the 64-bit ABI). The right way to do this would be to modify yann@1: + # unix.exp -- but that's not an option since it's part of DejaGNU yann@1: + # proper, so we do it here. We really only need to do yann@1: + # this on IRIX, but it shouldn't hurt to do it anywhere else. yann@1: + yann@1: + # Doing this causes us to be unable to run cross-compilers. yann@1: + setenv LD_LIBRARY_PATH $ld_library_path yann@1: + setenv SHLIB_PATH $ld_library_path yann@1: + setenv LD_LIBRARYN32_PATH $ld_library_path yann@1: + setenv LD_LIBRARY64_PATH $ld_library_path yann@1: + } yann@1: yann@1: return "$flags" yann@1: }