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