]> git.pld-linux.org Git - packages/crossppc-gcc.git/commitdiff
- crossppc-gcc updated to 4.0.0.
authorPaweł Sikora <pluto@pld-linux.org>
Tue, 26 Apr 2005 10:09:39 +0000 (10:09 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    crossppc-gcc-libc-sysdeps-configure.patch -> 1.2
    crossppc-gcc-pr20973.patch -> 1.1
    crossppc-gcc-pr21173.patch -> 1.1
    crossppc-gcc.spec -> 1.20

crossppc-gcc-libc-sysdeps-configure.patch
crossppc-gcc-pr20973.patch [new file with mode: 0644]
crossppc-gcc-pr21173.patch [new file with mode: 0644]
crossppc-gcc.spec

index 4659f3c980df26c632995438cd98adc95c3073c4..7286d1d748799e0dec32f028854d31c325e53ca1 100644 (file)
@@ -1,5 +1,5 @@
---- gcc-3.4.3/libc/sysdeps/powerpc/configure.orig      2004-05-28 23:18:10.000000000 +0200
-+++ gcc-3.4.3/libc/sysdeps/powerpc/configure   2004-11-17 21:13:01.151745976 +0100
+--- a/glibc-2.3.5/sysdeps/powerpc/configure    2004-05-28 23:18:10.000000000 +0200
++++ b/glibc-2.3.5/sysdeps/powerpc/configure    2004-11-17 21:13:01.151745976 +0100
 @@ -11,7 +11,7 @@
        .machine "altivec"
        blr
diff --git a/crossppc-gcc-pr20973.patch b/crossppc-gcc-pr20973.patch
new file mode 100644 (file)
index 0000000..df3b450
--- /dev/null
@@ -0,0 +1,39 @@
+--- gcc-4.0.0-20050417/gcc/reload.c.orig       2005-04-19 18:30:49.000000000 +0200
++++ gcc-4.0.0-20050417/gcc/reload.c    2005-04-19 18:30:52.000000000 +0200
+@@ -1520,7 +1520,7 @@ push_reload (rtx in, rtx out, rtx *inloc
+      But if there is no spilling in this block, that is OK.
+      An explicitly used hard reg cannot be a spill reg.  */
+-  if (rld[i].reg_rtx == 0 && in != 0)
++  if (rld[i].reg_rtx == 0 && in != 0 && hard_regs_live_known)
+     {
+       rtx note;
+       int regno;
+@@ -1534,6 +1534,9 @@ push_reload (rtx in, rtx out, rtx *inloc
+           && REG_P (XEXP (note, 0))
+           && (regno = REGNO (XEXP (note, 0))) < FIRST_PSEUDO_REGISTER
+           && reg_mentioned_p (XEXP (note, 0), in)
++          && (ORIGINAL_REGNO (XEXP (note, 0)) < FIRST_PSEUDO_REGISTER
++              || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
++                                 ORIGINAL_REGNO (XEXP (note, 0))))
+           && ! refers_to_regno_for_reload_p (regno,
+                                              (regno
+                                               + hard_regno_nregs[regno]
+@@ -1997,7 +2000,16 @@ find_dummy_reload (rtx real_in, rtx real
+                               is a subreg, and in that case, out
+                               has a real mode.  */
+                            (GET_MODE (out) != VOIDmode
+-                            ? GET_MODE (out) : outmode)))
++                            ? GET_MODE (out) : outmode))
++        /* But only do all this if we can be sure, that this input
++           operand doesn't correspond with an uninitialized pseudoreg.
++           global can assign some hardreg to it, which is the same as
++         a different pseudo also currently live (as it can ignore the
++         conflict).  So we never must introduce writes to such hardregs,
++         as they would clobber the other live pseudo using the same.  */
++      && (ORIGINAL_REGNO (in) < FIRST_PSEUDO_REGISTER
++          || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
++                           ORIGINAL_REGNO (in))))
+     {
+       unsigned int regno = REGNO (in) + in_offset;
+       unsigned int nwords = hard_regno_nregs[regno][inmode];
diff --git a/crossppc-gcc-pr21173.patch b/crossppc-gcc-pr21173.patch
new file mode 100644 (file)
index 0000000..d9b2795
--- /dev/null
@@ -0,0 +1,34 @@
+===================================================================
+RCS file: /cvs/gcc/gcc/gcc/tree-ssa-pre.c,v
+retrieving revision 2.65.4.2
+retrieving revision 2.65.4.3
+diff -u -r2.65.4.2 -r2.65.4.3
+--- gcc/gcc/tree-ssa-pre.c     2005/04/17 23:40:31     2.65.4.2
++++ gcc/gcc/tree-ssa-pre.c     2005/04/25 14:02:31     2.65.4.3
+@@ -1330,7 +1330,8 @@
+       
+       folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr), 
+                             genop1, genop2));
+-      newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL);
++      newexpr = force_gimple_operand (unshare_expr (folded), 
++                                      &forced_stmts, false, NULL);
+       if (forced_stmts)
+         {
+           tsi = tsi_start (forced_stmts);
+@@ -1372,14 +1373,8 @@
+       add_referenced_tmp_var (temp);
+       folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr), 
+                             genop1));
+-      /* If the generated operand  is already GIMPLE min_invariant
+-         just use it instead of calling force_gimple_operand on it,
+-         since that may make it not invariant by copying it into an
+-         assignment.  */
+-      if (!is_gimple_min_invariant (genop1))
+-        newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL);
+-      else
+-        newexpr = genop1;
++      newexpr = force_gimple_operand (unshare_expr (folded), 
++                                      &forced_stmts, false, NULL);
+       if (forced_stmts)
+         {
+           tsi = tsi_start (forced_stmts);
index d45f510f92df4687c5180edab1a9ca4c00cbb9cd..1835b3a8f7477eaa2dead133775020a4d989f3b6 100644 (file)
@@ -5,19 +5,24 @@ Summary(pl):  Skro
 Summary(pt_BR):        Utilitários para desenvolvimento de binários da GNU - PPC gcc
 Summary(tr):   GNU geliþtirme araçlarý - PPC gcc
 Name:          crossppc-gcc
-Version:       3.4.3
-Release:       2
+Version:       4.0.0
+Release:       1
 Epoch:         1
 License:       GPL
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5: e744b30c834360fccac41eb7269a3011
-%define                _llh_ver        2.6.9.1
+# Source0-md5: 55ee7df1b29f719138ec063c57b89db6
+%define                _llh_ver        2.6.11.2
 Source1:       http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2
-# Source1-md5: d3507b2c0203a0760a677022badcf455
-Source2:       glibc-20041030.tar.bz2
-# Source2-md5: 4e14871efd881fbbf523a0ba16175bc7
+# Source1-md5: 2d21d8e7ff641da74272b114c786464e
+%define                _glibc_ver      2.3.5
+Source2:       ftp://sources.redhat.com/pub/glibc/releases/glibc-%{_glibc_ver}.tar.bz2
+# Source2-md5: 93d9c51850e0513aa4846ac0ddcef639
+Source3:       ftp://sources.redhat.com/pub/glibc/releases/glibc-linuxthreads-%{_glibc_ver}.tar.bz2
+# Source3-md5: 77011b0898393c56b799bc011a0f37bf
 Patch0:                %{name}-libc-sysdeps-configure.patch
+Patch1:                %{name}-pr20973.patch
+Patch2:                %{name}-pr21173.patch
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -63,8 +68,11 @@ This package adds C++ support to the GNU Compiler Collection for PPC.
 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc dla PPC.
 
 %prep
-%setup -q -n gcc-%{version} -a1 -a2
+%setup -q -n gcc-%{version} -a1 -a2 -a3
+mv linuxthreads* glibc-%{_glibc_ver}/
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
 FAKE_ROOT=$PWD/fake-root
@@ -73,7 +81,7 @@ rm -rf $FAKE_ROOT && install -d $FAKE_ROOT/usr/include
 cp -r linux-libc-headers-%{_llh_ver}/include/{asm-ppc,linux} $FAKE_ROOT/usr/include
 ln -s asm-ppc $FAKE_ROOT/usr/include/asm
 
-cd libc
+cd glibc-%{_glibc_ver}
 cp -f /usr/share/automake/config.* scripts
 rm -rf builddir && install -d builddir && cd builddir
 ../configure \
@@ -130,6 +138,8 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} -C obj-%{target} install-gcc \
        DESTDIR=$RPM_BUILD_ROOT
 
+install obj-%{target}/gcc/specs $RPM_BUILD_ROOT%{gcclib}
+
 # don't want this here
 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
 
This page took 0.045718 seconds and 4 git commands to generate.