Merge commit '5d9509e3f64655e542d9c0c64ee0ae14a220f641' into f17

This commit is contained in:
Jakub Jelinek 2012-09-20 19:05:21 +02:00
commit f8290a02dc
5 changed files with 164 additions and 6 deletions

7
.gitignore vendored
View File

@ -34,3 +34,10 @@
/gcc-4.7.0-20120525.tar.bz2
/gcc-4.7.0-20120604.tar.bz2
/gcc-4.7.1-20120629.tar.bz2
/gcc-4.7.1-20120716.tar.bz2
/gcc-4.7.1-20120718.tar.bz2
/gcc-4.7.1-20120720.tar.bz2
/gcc-4.7.1-20120810.tar.bz2
/gcc-4.7.1-20120813.tar.bz2
/gcc-4.7.1-20120913.tar.bz2
/gcc-4.7.2-20120920.tar.bz2

View File

@ -1,6 +1,6 @@
%global DATE 20120629
%global SVNREV 189066
%global gcc_version 4.7.1
%global DATE 20120920
%global SVNREV 191572
%global gcc_version 4.7.2
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 1
@ -12,7 +12,7 @@
%global build_ada 0
%endif
%global build_java 1
%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x
%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x %{arm}
%global build_go 1
%else
%global build_go 0
@ -27,7 +27,11 @@
%else
%global build_libitm 0
%endif
%if 0%{?rhel} >= 7
%global build_cloog 0
%else
%global build_cloog 1
%endif
%global build_libstdcxx_docs 1
# If you don't have already a usable gcc-java and libgcj for your arch,
# do on some arch which has it rpmbuild -bc --with java_tar gcc.spec
@ -145,6 +149,11 @@ Requires: glibc-devel >= 2.2.90-12
# Make sure glibc supports TFmode long double
Requires: glibc >= 2.3.90-35
%endif
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%ifarch %{arm}
Requires: glibc >= 2.16
%endif
%endif
Requires: libgcc >= %{version}-%{release}
Requires: libgomp = %{version}-%{release}
%if !%{build_ada}
@ -174,6 +183,8 @@ Patch12: gcc47-libstdc++-docs.patch
Patch13: gcc47-no-add-needed.patch
Patch14: gcc47-ppl-0.10.patch
Patch15: gcc47-libitm-fno-exceptions.patch
Patch16: gcc47-rh837630.patch
Patch17: gcc47-arm-hfp-ldso.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -675,6 +686,10 @@ package or when debugging this package.
%patch14 -p0 -b .ppl-0.10~
%endif
%patch15 -p0 -b .libitm-fno-exceptions~
%patch16 -p0 -b .rh837630~
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%patch17 -p0 -b .arm-hfp-ldso~
%endif
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -738,7 +753,7 @@ tar xzf %{SOURCE4}
tar xjf %{SOURCE10}
%endif
sed -i -e 's/4\.7\.2/4.7.1/' gcc/BASE-VER
sed -i -e 's/4\.7\.3/4.7.2/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
@ -904,6 +919,8 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
%endif
%if %{build_cloog}
--with-ppl --with-cloog \
%else
--without-ppl --without-cloog \
%endif
%ifarch %{arm}
--disable-sjlj-exceptions \
@ -1902,6 +1919,11 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/f16cintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fmaintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lzcntintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/rtmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xtestintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/adxintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/prfchwintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/rdseedintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
@ -2641,6 +2663,67 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Thu Sep 20 2012 Jakub Jelinek <jakub@redhat.com> 4.7.2-1
- update from the 4.7 branch
- GCC 4.7.2 release
- PRs c++/53661, lto/54312, tree-optimization/54563
* Thu Sep 13 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-8
- update from the 4.7 branch
- PRs c++/53836, c++/53839, c++/54086, c++/54197, c++/54253, c++/54341,
c++/54506, c++/54511, c/54363, c/54428, c/54559, debug/54534,
driver/54335, fortran/53306, fortran/54208, fortran/54225,
fortran/54435, fortran/54443, fortran/54556, gcov-profile/54487,
libstdc++/54172, libstdc++/54185, libstdc++/54297, libstdc++/54351,
libstdc++/54376, libstdc++/54388, lto/53572, middle-end/53667,
middle-end/53992, middle-end/54146, middle-end/54486,
middle-end/54515, rtl-optimization/54088, rtl-optimization/54369,
rtl-optimization/54455, target/45070, target/46254, target/54212,
target/54220, target/54252, target/54436, target/54461,
target/54476, target/54536, tree-opt/54494,
tree-optimization/53922, tree-optimization/54498
- fix up _mm_f{,n}m{add,sub}_s{s,d} fma intrinsics (PR target/54564)
* Mon Aug 13 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-7
- update from the 4.7 branch
- PR rtl-optimization/53942
- backport -mrdseed, -mprfchw and -madx support
* Fri Aug 10 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-6
- update from the 4.7 branch
- PRs libstdc++/54036, libstdc++/54075, rtl-optimization/54157,
target/33135, target/52530
* Fri Jul 20 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-5
- update from the 4.7 branch
- PRs c++/54026, middle-end/54017, rtl-optimization/52250, target/53877,
target/54029
- fix endless hang of C++ compiler (#841814, PR c++/54038)
* Wed Jul 18 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-4
- update from the 4.7 branch
- PRs c++/53549, c++/53989, c++/53995, libstdc++/53978
* Mon Jul 16 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-3
- update from the 4.7 branch
- C++11 ABI change - std::list and std::pair in C++11 ABI compatible again
with C++03, but ABI incompatible with C++11 in GCC 4.7.[01]
- PRs bootstrap/52947, c++/53733, c++/53816, c++/53821, c++/53826,
c++/53882, c++/53953, fortran/53732, libstdc++/49561,
libstdc++/53578, libstdc++/53657, libstdc++/53830, libstdc++/53872,
middle-end/38474, middle-end/50708, middle-end/52621,
middle-end/52786, middle-end/53433, rtl-optimization/53908,
target/53110, target/53811, target/53853, target/53961,
testsuite/20771, tree-optimization/53693
- backport -mrtm and -mhle support (PRs target/53194, target/53201,
target/53315)
- fix up ppc32 *movdi_internal32 pattern (#837630)
- apply ld.so arm hfp patch on all arm arches
- enable go support on arm
* Fri Jul 13 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-2
- change ld.so pathname for arm hfp for F18+
* Fri Jun 29 2012 Jakub Jelinek <jakub@redhat.com> 4.7.1-1
- update from the 4.7 branch
- GCC 4.7.1 release

52
gcc47-arm-hfp-ldso.patch Normal file
View File

@ -0,0 +1,52 @@
2012-05-01 Richard Earnshaw <rearnsha@arm.com>
* arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef
comparing enumeration values. Update comments.
2012-04-26 Michael Hope <michael.hope@linaro.org>
Richard Earnshaw <rearnsha@arm.com>
* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
(GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
--- gcc/config/arm/linux-eabi.h (revision 186858)
+++ gcc/config/arm/linux-eabi.h (revision 187012)
@@ -32,7 +32,8 @@
while (false)
/* We default to a soft-float ABI so that binaries can run on all
- target hardware. */
+ target hardware. If you override this to use the hard-float ABI then
+ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */
#undef TARGET_DEFAULT_FLOAT_ABI
#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
@@ -59,10 +60,23 @@
#undef SUBTARGET_EXTRA_LINK_SPEC
#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
-/* Use ld-linux.so.3 so that it will be possible to run "classic"
- GNU/Linux binaries on an EABI system. */
+/* GNU/Linux on ARM currently supports three dynamic linkers:
+ - ld-linux.so.2 - for the legacy ABI
+ - ld-linux.so.3 - for the EABI-derived soft-float ABI
+ - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI.
+ All the dynamic linkers live in /lib.
+ We default to soft-float, but this can be overridden by changing both
+ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
+
#undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+
+#define GLIBC_DYNAMIC_LINKER \
+ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */

16
gcc47-rh837630.patch Normal file
View File

@ -0,0 +1,16 @@
2012-07-16 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.md (*movdi_internal32): Use m constraint instead
of o<>.
--- gcc/config/rs6000/rs6000.md 2012-07-16 10:14:43.198085150 +0200
+++ gcc/config/rs6000/rs6000.md 2012-07-16 10:33:31.856023210 +0200
@@ -10145,7 +10145,7 @@
; List r->r after r->"o<>", otherwise reload will try to reload a
; non-offsettable address by using r->r which won't make progress.
(define_insn "*movdi_internal32"
- [(set (match_operand:DI 0 "rs6000_nonimmediate_operand" "=o<>,r,r,*d,*d,m,r,?wa")
+ [(set (match_operand:DI 0 "rs6000_nonimmediate_operand" "=m,r,r,*d,*d,m,r,?wa")
(match_operand:DI 1 "input_operand" "r,r,m,d,m,d,IJKnGHF,O"))]
"! TARGET_POWERPC64
&& (gpc_reg_operand (operands[0], DImode)

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
b8a5e8e7ec11d199d72e38e8055459fa gcc-4.7.1-20120629.tar.bz2
24e41bf33cf28647ad8f1cdf3df6301c gcc-4.7.2-20120920.tar.bz2