Author: ludo
Date: Thu Mar 24 22:36:09 2011
New Revision: 26499
URL: https://svn.nixos.org/websvn/nix/?rev=26499&sc=1

Log:
GCC 4.5.2: Attempt to fix compilation of libstdc++.

Added:
   
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/pr45894.patch
Modified:
   
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/default.nix

Modified: 
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/default.nix
==============================================================================
--- 
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/default.nix  
    Thu Mar 24 22:25:03 2011        (r26498)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/default.nix  
    Thu Mar 24 22:36:09 2011        (r26499)
@@ -137,7 +137,7 @@
   };
 
   patches =
-    [ ]
+    [ ./pr45894.patch ]
     ++ optional (cross != null) ./libstdc++-target.patch
     ++ optional noSysDirs ./no-sys-dirs.patch
     # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its

Added: 
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/pr45894.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/compilers/gcc-4.5/pr45894.patch
    Thu Mar 24 22:36:09 2011        (r26499)
@@ -0,0 +1,23 @@
+See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894> for details.
+
+Without this, compilation of GCC itself fails:
+
+  ./../../../gcc-4.5.2/libstdc++-v3/src/pool_allocator.cc  -fPIC -DPIC -o 
.libs/pool_allocator.o
+  In file included from 
../../../../gcc-4.5.2/libstdc++-v3/src/pool_allocator.cc:31:0:
+  
/tmp/nix-build-7d6ii7c1hqf0vzhxklbmnpbmzhq7glgr-gcc-4.5.2.drv-0/build/i686-pc-linux-gnu/libstdc++-v3/include/ext/pool_allocator.h:
 In constructor '__gnu_cxx::__pool_alloc<_Tp>::__pool_alloc() [with _Tp = 
char]':
+  ../../../../gcc-4.5.2/libstdc++-v3/src/pool_allocator.cc:171:18:   
instantiated from here
+  
/tmp/nix-build-7d6ii7c1hqf0vzhxklbmnpbmzhq7glgr-gcc-4.5.2.drv-0/build/i686-pc-linux-gnu/libstdc++-v3/include/ext/pool_allocator.h:140:30:
 internal compiler error: Segmentation fault
+  Please submit a full bug report,
+
+--- gcc-4_5-branch/gcc/cp/tree.c       2010/11/11 20:40:32     166620
++++ gcc-4_5-branch/gcc/cp/tree.c       2010/11/11 20:41:34     166621
+@@ -72,7 +72,8 @@
+         == REFERENCE_TYPE)
+     return lvalue_p_1 (TREE_OPERAND (ref, 0));
+ 
+-  if (TREE_CODE (TREE_TYPE (ref)) == REFERENCE_TYPE)
++  if (TREE_TYPE (ref)
++      && TREE_CODE (TREE_TYPE (ref)) == REFERENCE_TYPE)
+     {
+       /* unnamed rvalue references are rvalues */
+       if (TYPE_REF_IS_RVALUE (TREE_TYPE (ref))
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to