patches/gcc/3.3.3/pr12009.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     1 See http://gcc.gnu.org/PR12009
     2 
     3 Fixes the following problems when testing a cross-compiler:
     4 
     5 ============================================
     6 Testing g++.dg/compat/abi/bitfield1,
     7 ...
     8 Invoking the compiler as /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-gli
     9 bc-2.2.5/build-gcc/gcc/testsuite/../g++  ...
    10 /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/gcc/test
    11 suite/g++.dg/compat/abi/bitfield1_main.C
    12 pid is 16028 -16028
    13 compiler exited with status 1
    14 output is:
    15 sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gc
    16 c-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libdl.so.2: ELF file data encoding
    17  not little-endian
    18 /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/te
    19 stsuite/../g++: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-
    20 linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libc.so.6: ELF file da
    21 ta encoding not little-endian
    22 
    23 FAIL: g++.dg/compat/abi/bitfield1 main_tst.o compile
    24 ============================================
    25 
    26 and
    27 
    28 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
    29 
    30 
    31 
    32 --- gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp.old	Thu Oct 17 17:22:57 2002
    33 +++ gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp	Mon Jul 14 10:59:19 2003
    34 @@ -42,11 +42,13 @@
    35  proc compat-fix-library-path { } {
    36      global ld_library_path
    37  
    38 -    # See comments in lib/g++.exp for why this is needed.
    39 -    setenv  LD_LIBRARY_PATH     $ld_library_path
    40 -    setenv  SHLIB_PATH          $ld_library_path
    41 -    setenv  LD_LIBRARYN32_PATH  $ld_library_path
    42 -    setenv  LD_LIBRARY64_PATH   $ld_library_path
    43 +    if {![is_remote target]} {
    44 +	# See comments in lib/g++.exp for why this is needed.
    45 +	setenv  LD_LIBRARY_PATH     $ld_library_path
    46 +	setenv  SHLIB_PATH          $ld_library_path
    47 +	setenv  LD_LIBRARYN32_PATH  $ld_library_path
    48 +	setenv  LD_LIBRARY64_PATH   $ld_library_path
    49 +    }
    50  }
    51  
    52  #
    53 --- gcc-3.4-20030813/gcc/testsuite/lib/g++.exp.orig	Tue Jun 17 18:56:45 2003
    54 +++ gcc-3.4-20030813/gcc/testsuite/lib/g++.exp	Sun Aug 17 18:35:38 2003
    55 @@ -166,16 +182,20 @@
    56        }
    57      }
    58  
    59 -    # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
    60 -    # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
    61 -    # (for the 64-bit ABI).  The right way to do this would be to modify
    62 -    # unix.exp -- but that's not an option since it's part of DejaGNU
    63 -    # proper, so we do it here.  We really only need to do 
    64 -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
    65 -    setenv  LD_LIBRARY_PATH     $ld_library_path
    66 -    setenv  SHLIB_PATH          $ld_library_path
    67 -    setenv  LD_LIBRARYN32_PATH  $ld_library_path
    68 -    setenv  LD_LIBRARY64_PATH   $ld_library_path
    69 +    if {![is_remote target]} {
    70 +      # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
    71 +      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
    72 +      # (for the 64-bit ABI).  The right way to do this would be to modify
    73 +      # unix.exp -- but that's not an option since it's part of DejaGNU
    74 +      # proper, so we do it here.  We really only need to do 
    75 +      # this on IRIX, but it shouldn't hurt to do it anywhere else.
    76 +
    77 +      # Doing this causes us to be unable to run cross-compilers.
    78 +      setenv  LD_LIBRARY_PATH     $ld_library_path
    79 +      setenv  SHLIB_PATH          $ld_library_path
    80 +      setenv  LD_LIBRARYN32_PATH  $ld_library_path
    81 +      setenv  LD_LIBRARY64_PATH   $ld_library_path
    82 +    }
    83  
    84      return "$flags"
    85  }