From 8d0243eb056d3525779753d9736a602a674d337b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 9 Apr 2014 08:46:36 +0200 Subject: [PATCH] 4.9.0-0.9 --- .gitignore | 3 + gcc.spec | 1174 +++++++---------- gcc48-pr28865.patch | 190 --- gcc48-pr56564.patch | 654 --------- gcc48-pr60010.patch | 16 - gcc48-pr60046.patch | 43 - gcc48-pr60137.patch | 46 - gcc48-cloog-dl.patch => gcc49-cloog-dl.patch | 22 +- ...8-cloog-dl2.patch => gcc49-cloog-dl2.patch | 0 ...color-auto.patch => gcc49-color-auto.patch | 0 gcc48-hack.patch => gcc49-hack.patch | 0 ...-libgomp.patch => gcc49-i386-libgomp.patch | 0 ...-nomulti.patch => gcc49-java-nomulti.patch | 0 ...libgo-p224.patch => gcc49-libgo-p224.patch | 407 ++---- ...atch => gcc49-libgomp-omp_h-multilib.patch | 0 ...+-docs.patch => gcc49-libstdc++-docs.patch | 4 +- ...path.patch => gcc49-libtool-no-rpath.patch | 0 ...-needed.patch => gcc49-no-add-needed.patch | 0 ...retaddr.patch => gcc49-ppc32-retaddr.patch | 6 +- gcc48-pr38757.patch => gcc49-pr38757.patch | 0 gcc48-pr56493.patch => gcc49-pr56493.patch | 0 gcc48-rh330771.patch => gcc49-rh330771.patch | 0 ...atch => gcc49-sparc-config-detection.patch | 8 +- isl-0.11.1-aarch64-config.patch | 392 ------ sources | 6 +- 25 files changed, 599 insertions(+), 2372 deletions(-) delete mode 100644 gcc48-pr28865.patch delete mode 100644 gcc48-pr56564.patch delete mode 100644 gcc48-pr60010.patch delete mode 100644 gcc48-pr60046.patch delete mode 100644 gcc48-pr60137.patch rename gcc48-cloog-dl.patch => gcc49-cloog-dl.patch (97%) rename gcc48-cloog-dl2.patch => gcc49-cloog-dl2.patch (100%) rename gcc48-color-auto.patch => gcc49-color-auto.patch (100%) rename gcc48-hack.patch => gcc49-hack.patch (100%) rename gcc48-i386-libgomp.patch => gcc49-i386-libgomp.patch (100%) rename gcc48-java-nomulti.patch => gcc49-java-nomulti.patch (100%) rename gcc48-libgo-p224.patch => gcc49-libgo-p224.patch (70%) rename gcc48-libgomp-omp_h-multilib.patch => gcc49-libgomp-omp_h-multilib.patch (100%) rename gcc48-libstdc++-docs.patch => gcc49-libstdc++-docs.patch (96%) rename gcc48-libtool-no-rpath.patch => gcc49-libtool-no-rpath.patch (100%) rename gcc48-no-add-needed.patch => gcc49-no-add-needed.patch (100%) rename gcc48-ppc32-retaddr.patch => gcc49-ppc32-retaddr.patch (91%) rename gcc48-pr38757.patch => gcc49-pr38757.patch (100%) rename gcc48-pr56493.patch => gcc49-pr56493.patch (100%) rename gcc48-rh330771.patch => gcc49-rh330771.patch (100%) rename gcc48-sparc-config-detection.patch => gcc49-sparc-config-detection.patch (89%) delete mode 100644 isl-0.11.1-aarch64-config.patch diff --git a/.gitignore b/.gitignore index 6d8921d..daefbad 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,6 @@ /gcc-4.8.2-20131212.tar.bz2 /gcc-4.8.2-20140115.tar.bz2 /gcc-4.8.2-20140120.tar.bz2 +/cloog-0.18.1.tar.gz +/gcc-4.9.0-20140409.tar.bz2 +/isl-0.12.2.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 2fa1ce1..610c9ff 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20140120 -%global SVNREV 206854 -%global gcc_version 4.8.2 +%global DATE 20140409 +%global SVNREV 209236 +%global gcc_version 4.9.0 # 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 15 +%global gcc_release 0.9 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 %global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64 @@ -27,7 +27,7 @@ %else %global build_libquadmath 0 %endif -%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} %global build_libasan 1 %else %global build_libasan 0 @@ -37,6 +37,21 @@ %else %global build_libtsan 0 %endif +%ifarch x86_64 +%global build_liblsan 1 +%else +%global build_liblsan 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} +%global build_libubsan 1 +%else +%global build_libubsan 0 +%endif +%ifarch %{ix86} x86_64 +%global build_libcilkrts 1 +%else +%global build_libcilkrts 0 +%endif %ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} %global build_libatomic 1 %else @@ -76,7 +91,7 @@ Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc Version: %{gcc_version} Release: %{gcc_release}%{?dist} -# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have +# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD Group: Development/Languages @@ -85,9 +100,9 @@ Group: Development/Languages # svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_7-branch@%{SVNREV} gcc-%{version}-%{DATE} # tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2 Source0: gcc-%{version}-%{DATE}.tar.bz2 -%global isl_version 0.11.1 +%global isl_version 0.12.2 Source1: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2 -%global cloog_version 0.18.0 +%global cloog_version 0.18.1 Source2: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-%{cloog_version}.tar.gz %global fastjar_ver 0.97 Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz @@ -181,32 +196,30 @@ Requires: libgomp = %{version}-%{release} Obsoletes: gcc-gnat < %{version}-%{release} Obsoletes: libgnat < %{version}-%{release} %endif +Obsoletes: libmudflap +Obsoletes: libmudflap-devel +Obsoletes: libmudflap-static Requires(post): /sbin/install-info Requires(preun): /sbin/install-info AutoReq: true Provides: bundled(libiberty) -Patch0: gcc48-hack.patch -Patch1: gcc48-java-nomulti.patch -Patch2: gcc48-ppc32-retaddr.patch -Patch3: gcc48-rh330771.patch -Patch4: gcc48-i386-libgomp.patch -Patch5: gcc48-sparc-config-detection.patch -Patch6: gcc48-libgomp-omp_h-multilib.patch -Patch7: gcc48-libtool-no-rpath.patch -Patch8: gcc48-cloog-dl.patch -Patch9: gcc48-cloog-dl2.patch -Patch10: gcc48-pr38757.patch -Patch11: gcc48-libstdc++-docs.patch -Patch12: gcc48-no-add-needed.patch -Patch13: gcc48-pr56564.patch -Patch14: gcc48-pr56493.patch -Patch15: gcc48-color-auto.patch -Patch16: gcc48-pr28865.patch -Patch17: gcc48-libgo-p224.patch -Patch18: gcc48-pr60137.patch -Patch19: gcc48-pr60010.patch -Patch20: gcc48-pr60046.patch +Patch0: gcc49-hack.patch +Patch1: gcc49-java-nomulti.patch +Patch2: gcc49-ppc32-retaddr.patch +Patch3: gcc49-rh330771.patch +Patch4: gcc49-i386-libgomp.patch +Patch5: gcc49-sparc-config-detection.patch +Patch6: gcc49-libgomp-omp_h-multilib.patch +Patch7: gcc49-libtool-no-rpath.patch +Patch8: gcc49-cloog-dl.patch +Patch9: gcc49-cloog-dl2.patch +Patch10: gcc49-pr38757.patch +Patch11: gcc49-libstdc++-docs.patch +Patch12: gcc49-no-add-needed.patch +Patch14: gcc49-pr56493.patch +Patch15: gcc49-color-auto.patch +Patch16: gcc49-libgo-p224.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -215,8 +228,6 @@ Patch1003: fastjar-CVE-2010-0831.patch Patch1004: fastjar-man.patch Patch1005: fastjar-0.97-aarch64-config.patch -Patch1100: isl-%{isl_version}-aarch64-config.patch - # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. %ifnarch %{arm} @@ -233,11 +244,11 @@ Patch1100: isl-%{isl_version}-aarch64-config.patch %endif %description -The gcc package contains the GNU Compiler Collection version 4.8. +The gcc package contains the GNU Compiler Collection version 4.9. You'll need this package in order to compile C code. %package -n libgcc -Summary: GCC version 4.8 shared support library +Summary: GCC version 4.9 shared support library Group: System Environment/Libraries Autoreq: false @@ -379,36 +390,6 @@ Requires(preun): /sbin/install-info This package contains GCC shared support library which is needed for OpenMP v3.0 support. -%package -n libmudflap -Summary: GCC mudflap shared support library -Group: System Environment/Libraries - -%description -n libmudflap -This package contains GCC shared support library which is needed -for mudflap support. - -%package -n libmudflap-devel -Summary: GCC mudflap support -Group: Development/Libraries -Requires: libmudflap = %{version}-%{release} -Requires: gcc = %{version}-%{release} - -%description -n libmudflap-devel -This package contains headers for building mudflap-instrumented programs. - -To instrument a non-threaded program, add -fmudflap -option to GCC and when linking add -lmudflap, for threaded programs -also add -fmudflapth and -lmudflapth. - -%package -n libmudflap-static -Summary: Static libraries for mudflap support -Group: Development/Libraries -Requires: libmudflap-devel = %{version}-%{release} - -%description -n libmudflap-static -This package contains static libraries for building mudflap-instrumented -programs. - %package -n libquadmath Summary: GCC __float128 shared support library Group: System Environment/Libraries @@ -521,6 +502,59 @@ Requires: libtsan = %{version}-%{release} %description -n libtsan-static This package contains Thread Sanitizer static runtime library. +%package -n libubsan +Summary: The Undefined Behavior Sanitizer runtime library +Group: System Environment/Libraries +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n libubsan +This package contains the Undefined Behavior Sanitizer library +which is used for -fsanitize=undefined instrumented programs. + +%package -n libubsan-static +Summary: The Undefined Behavior Sanitizer static library +Group: Development/Libraries +Requires: libubsan = %{version}-%{release} + +%description -n libubsan-static +This package contains Undefined Behavior Sanitizer static runtime library. + +%package -n liblsan +Summary: The Leak Sanitizer runtime library +Group: System Environment/Libraries +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n liblsan +This package contains the Leak Sanitizer library +which is used for -fsanitize=leak instrumented programs. + +%package -n liblsan-static +Summary: The Leak Sanitizer static library +Group: Development/Libraries +Requires: liblsan = %{version}-%{release} + +%description -n liblsan-static +This package contains Leak Sanitizer static runtime library. + +%package -n libcilkrts +Summary: The Cilk+ runtime library +Group: System Environment/Libraries +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n libcilkrts +This package contains the Cilk+ runtime library. + +%package -n libcilkrts-static +Summary: The Cilk+ static runtime library +Group: Development/Libraries +Requires: libcilkrts = %{version}-%{release} + +%description -n libcilkrts-static +This package contains the Cilk+ static runtime library. + %package java Summary: Java support for GCC Group: Development/Languages @@ -613,7 +647,7 @@ You should install this package if you are a C programmer and you use macros. %package gnat -Summary: Ada 95 support for GCC +Summary: Ada 83, 95, 2005 and 2012 support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release} @@ -622,35 +656,36 @@ Requires(preun): /sbin/install-info Autoreq: true %description gnat -GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools, -the documents and Ada 95 compiler. +GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes +development tools, the documents and Ada compiler. %package -n libgnat -Summary: GNU Ada 95 runtime shared libraries +Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries Group: System Environment/Libraries Autoreq: true %description -n libgnat -GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries, -which are required to run programs compiled with the GNAT. +GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes +shared libraries, which are required to run programs compiled with the GNAT. %package -n libgnat-devel -Summary: GNU Ada 95 libraries +Summary: GNU Ada 83, 95, 2005 and 2012 libraries Group: Development/Languages Autoreq: true %description -n libgnat-devel -GNAT is a GNU Ada 95 front-end to GCC. This package includes libraries, -which are required to compile with the GNAT. +GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes +libraries, which are required to compile with the GNAT. %package -n libgnat-static -Summary: GNU Ada 95 static libraries +Summary: GNU Ada 83, 95, 2005 and 2012 static libraries Group: Development/Languages Requires: libgnat-devel = %{version}-%{release} Autoreq: true %description -n libgnat-static -GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries. +GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes +static libraries. %package go Summary: Go support @@ -761,17 +796,12 @@ package or when debugging this package. %patch11 -p0 -b .libstdc++-docs~ %endif %patch12 -p0 -b .no-add-needed~ -%patch13 -p0 -b .pr56564~ %patch14 -p0 -b .pr56493~ %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7 %patch15 -p0 -b .color-auto~ %endif -%patch16 -p0 -b .pr28865~ -%patch17 -p0 -b .libgo-p224~ +%patch16 -p0 -b .libgo-p224~ rm -f libgo/go/crypto/elliptic/p224{,_test}.go -%patch18 -p0 -b .pr60137~ -%patch19 -p0 -b .pr60010~ -%patch20 -p0 -b .pr60046~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF @@ -836,9 +866,7 @@ tar xzf %{SOURCE4} tar xjf %{SOURCE10} %endif -%patch1100 -p0 -b .isl-aarch64~ - -sed -i -e 's/4\.8\.3/4.8.2/' gcc/BASE-VER +sed -i -e 's/4\.9\.0/4.9.0/' gcc/BASE-VER echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE %if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 @@ -962,7 +990,7 @@ cat >> ../../cloog-%{cloog_version}/source/isl/constraints.c << \EOF static void __attribute__((used)) *s1 = (void *) isl_union_map_compute_flow; static void __attribute__((used)) *s2 = (void *) isl_map_dump; EOF -sed -i 's|libcloog|libgcc48privatecloog|g' \ +sed -i 's|libcloog|libgcc49privatecloog|g' \ ../../cloog-%{cloog_version}/{,test/}Makefile.{am,in} isl_prefix=`cd ../isl-install; pwd` \ ../../cloog-%{cloog_version}/configure --with-isl=system \ @@ -975,8 +1003,8 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool make %{?_smp_mflags} make %{?_smp_mflags} install cd ../cloog-install/lib -rm libgcc48privatecloog-isl.so{,.4} -mv libgcc48privatecloog-isl.so.4.0.0 libcloog-isl.so.4 +rm libgcc49privatecloog-isl.so{,.4} +mv libgcc49privatecloog-isl.so.4.0.0 libcloog-isl.so.4 ln -sf libcloog-isl.so.4 libcloog-isl.so ln -sf libcloog-isl.so.4 libcloog.so cd ../.. @@ -1152,9 +1180,9 @@ cd .. mkdir -p rpm.doc/gfortran rpm.doc/objc mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm -mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp,libatomic,libsanitizer} +mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libgomp,libatomic,libsanitizer,libcilkrts} -for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp,libatomic,libsanitizer}/ChangeLog*; do +for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libgomp,libatomic,libsanitizer,libcilkrts}/ChangeLog*; do cp -p $i rpm.doc/changelogs/$i done @@ -1346,6 +1374,9 @@ mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/ %if %{build_libitm} mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/ %endif +%if %{build_libasan} +mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/ +%endif mkdir -p %{buildroot}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 @@ -1403,12 +1434,6 @@ pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform} make install DESTDIR=%{buildroot} popd -if [ "%{_lib}" != "lib" ]; then - mkdir -p %{buildroot}%{_prefix}/%{_lib}/pkgconfig - sed '/^libdir/s/lib$/%{_lib}/' %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc \ - > %{buildroot}%{_prefix}/%{_lib}/pkgconfig/`basename %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc` -fi - %endif mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} @@ -1427,10 +1452,8 @@ ln -sf ../../../libobjc.so.4 libobjc.so ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../libgfortran.so.3.* libgfortran.so ln -sf ../../../libgomp.so.1.* libgomp.so -ln -sf ../../../libmudflap.so.0.* libmudflap.so -ln -sf ../../../libmudflapth.so.0.* libmudflapth.so %if %{build_go} -ln -sf ../../../libgo.so.4.* libgo.so +ln -sf ../../../libgo.so.5.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../libquadmath.so.0.* libquadmath.so @@ -1442,23 +1465,27 @@ ln -sf ../../../libitm.so.1.* libitm.so ln -sf ../../../libatomic.so.1.* libatomic.so %endif %if %{build_libasan} -ln -sf ../../../libasan.so.0.* libasan.so +ln -sf ../../../libasan.so.1.* libasan.so mv ../../../libasan_preinit.o libasan_preinit.o %endif +%if %{build_libubsan} +ln -sf ../../../libubsan.so.0.* libubsan.so +%endif +%if %{build_libcilkrts} +ln -sf ../../../libcilkrts.so.5.* libcilkrts.so +%endif %if %{build_java} -ln -sf ../../../libgcj.so.14.* libgcj.so -ln -sf ../../../libgcj-tools.so.14.* libgcj-tools.so -ln -sf ../../../libgij.so.14.* libgij.so +ln -sf ../../../libgcj.so.15.* libgcj.so +ln -sf ../../../libgcj-tools.so.15.* libgcj-tools.so +ln -sf ../../../libgij.so.15.* libgij.so %endif else ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so -ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so -ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so %if %{build_go} -ln -sf ../../../../%{_lib}/libgo.so.4.* libgo.so +ln -sf ../../../../%{_lib}/libgo.so.5.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so @@ -1470,17 +1497,27 @@ ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so %endif %if %{build_libasan} -ln -sf ../../../../%{_lib}/libasan.so.0.* libasan.so +ln -sf ../../../../%{_lib}/libasan.so.1.* libasan.so mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o %endif +%if %{build_libubsan} +ln -sf ../../../../%{_lib}/libubsan.so.0.* libubsan.so +%endif +%if %{build_libcilkrts} +ln -sf ../../../../%{_lib}/libcilkrts.so.5.* libcilkrts.so +%endif %if %{build_libtsan} rm -f libtsan.so echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.0.* | sed 's,^.*libt,libt,'`' )' > libtsan.so %endif +%if %{build_liblsan} +rm -f liblsan.so +echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so +%endif %if %{build_java} -ln -sf ../../../../%{_lib}/libgcj.so.14.* libgcj.so -ln -sf ../../../../%{_lib}/libgcj-tools.so.14.* libgcj-tools.so -ln -sf ../../../../%{_lib}/libgij.so.14.* libgij.so +ln -sf ../../../../%{_lib}/libgcj.so.15.* libgcj.so +ln -sf ../../../../%{_lib}/libgcj-tools.so.15.* libgcj-tools.so +ln -sf ../../../../%{_lib}/libgij.so.15.* libgij.so %endif fi %if %{build_java} @@ -1491,7 +1528,6 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a . mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a . -mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/ %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/ %endif @@ -1504,9 +1540,18 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/ %if %{build_libasan} mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/ %endif +%if %{build_libubsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/ +%endif +%if %{build_libcilkrts} +mv -f %{buildroot}%{_prefix}/%{_lib}/libcilkrts.*a $FULLLPATH/ +%endif %if %{build_libtsan} mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLLPATH/ %endif +%if %{build_liblsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLLPATH/ +%endif %if %{build_go} mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/ @@ -1524,28 +1569,28 @@ mv -f $FULLPATH/ada{include,lib} $FULLLPATH/ pushd $FULLLPATH/adalib if [ "%{_lib}" = "lib" ]; then ln -sf ../../../../../libgnarl-*.so libgnarl.so -ln -sf ../../../../../libgnarl-*.so libgnarl-4.8.so +ln -sf ../../../../../libgnarl-*.so libgnarl-4.9.so ln -sf ../../../../../libgnat-*.so libgnat.so -ln -sf ../../../../../libgnat-*.so libgnat-4.8.so +ln -sf ../../../../../libgnat-*.so libgnat-4.9.so else ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so -ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.8.so +ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.9.so ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so -ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.8.so +ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.9.so fi popd else pushd $FULLPATH/adalib if [ "%{_lib}" = "lib" ]; then ln -sf ../../../../libgnarl-*.so libgnarl.so -ln -sf ../../../../libgnarl-*.so libgnarl-4.8.so +ln -sf ../../../../libgnarl-*.so libgnarl-4.9.so ln -sf ../../../../libgnat-*.so libgnat.so -ln -sf ../../../../libgnat-*.so libgnat-4.8.so +ln -sf ../../../../libgnat-*.so libgnat-4.9.so else ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so -ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.8.so +ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.9.so ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so -ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.8.so +ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.9.so fi popd fi @@ -1556,15 +1601,10 @@ ln -sf ../../../../../lib64/libobjc.so.4 64/libobjc.so ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so -rm -f libmudflap.so libmudflapth.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so %if %{build_go} rm -f libgo.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.4.* | sed 's,^.*libg,libg,'`' )' > libgo.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.4.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.5.* | sed 's,^.*libg,libg,'`' )' > libgo.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.5.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so %endif %if %{build_libquadmath} rm -f libquadmath.so @@ -1583,14 +1623,24 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's, %endif %if %{build_libasan} rm -f libasan.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.0.* | sed 's,^.*liba,liba,'`' )' > libasan.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.0.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.1.* | sed 's,^.*liba,liba,'`' )' > libasan.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so mv ../../../../lib64/libasan_preinit.o 64/libasan_preinit.o %endif +%if %{build_libubsan} +rm -f libubsan.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > libubsan.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > 64/libubsan.so +%endif +%if %{build_libcilkrts} +rm -f libcilkrts.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libcilkrts.so.5.* | sed 's,^.*libc,libc,'`' )' > libcilkrts.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libcilkrts.so.5.* | sed 's,^.*libc,libc,'`' )' > 64/libcilkrts.so +%endif %if %{build_java} -ln -sf ../`echo ../../../../lib/libgcj.so.14.* | sed s~/lib/~/lib64/~` 64/libgcj.so -ln -sf ../`echo ../../../../lib/libgcj-tools.so.14.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so -ln -sf ../`echo ../../../../lib/libgij.so.14.* | sed s~/lib/~/lib64/~` 64/libgij.so +ln -sf ../`echo ../../../../lib/libgcj.so.15.* | sed s~/lib/~/lib64/~` 64/libgcj.so +ln -sf ../`echo ../../../../lib/libgcj-tools.so.15.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so +ln -sf ../`echo ../../../../lib/libgij.so.15.* | sed s~/lib/~/lib64/~` 64/libgij.so ln -sf lib32/libgcj_bc.so libgcj_bc.so ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so %endif @@ -1602,10 +1652,6 @@ ln -sf lib32/libstdc++.a libstdc++.a ln -sf ../lib64/libstdc++.a 64/libstdc++.a ln -sf lib32/libsupc++.a libsupc++.a ln -sf ../lib64/libsupc++.a 64/libsupc++.a -ln -sf lib32/libmudflap.a libmudflap.a -ln -sf ../lib64/libmudflap.a 64/libmudflap.a -ln -sf lib32/libmudflapth.a libmudflapth.a -ln -sf ../lib64/libmudflapth.a 64/libmudflapth.a %if %{build_libquadmath} ln -sf lib32/libquadmath.a libquadmath.a ln -sf ../lib64/libquadmath.a 64/libquadmath.a @@ -1622,6 +1668,14 @@ ln -sf ../lib64/libatomic.a 64/libatomic.a ln -sf lib32/libasan.a libasan.a ln -sf ../lib64/libasan.a 64/libasan.a %endif +%if %{build_libubsan} +ln -sf lib32/libubsan.a libubsan.a +ln -sf ../lib64/libubsan.a 64/libubsan.a +%endif +%if %{build_libcilkrts} +ln -sf lib32/libcilkrts.a libcilkrts.a +ln -sf ../lib64/libcilkrts.a 64/libcilkrts.a +%endif %if %{build_go} ln -sf lib32/libgo.a libgo.a ln -sf ../lib64/libgo.a 64/libgo.a @@ -1641,15 +1695,10 @@ ln -sf ../../../../libobjc.so.4 32/libobjc.so ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so -rm -f libmudflap.so libmudflapth.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so %if %{build_go} rm -f libgo.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.4.* | sed 's,^.*libg,libg,'`' )' > libgo.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.4.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.5.* | sed 's,^.*libg,libg,'`' )' > libgo.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.5.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so %endif %if %{build_libquadmath} rm -f libquadmath.so @@ -1668,14 +1717,24 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's, %endif %if %{build_libasan} rm -f libasan.so -echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.0.* | sed 's,^.*liba,liba,'`' )' > libasan.so -echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.0.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.1.* | sed 's,^.*liba,liba,'`' )' > libasan.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o %endif +%if %{build_libubsan} +rm -f libubsan.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > libubsan.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so +%endif +%if %{build_libcilkrts} +rm -f libcilkrts.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libcilkrts.so.5.* | sed 's,^.*libc,libc,'`' )' > libcilkrts.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libcilkrts.so.5.* | sed 's,^.*libc,libc,'`' )' > 32/libcilkrts.so +%endif %if %{build_java} -ln -sf ../`echo ../../../../lib64/libgcj.so.14.* | sed s~/../lib64/~/~` 32/libgcj.so -ln -sf ../`echo ../../../../lib64/libgcj-tools.so.14.* | sed s~/../lib64/~/~` 32/libgcj-tools.so -ln -sf ../`echo ../../../../lib64/libgij.so.14.* | sed s~/../lib64/~/~` 32/libgij.so +ln -sf ../`echo ../../../../lib64/libgcj.so.15.* | sed s~/../lib64/~/~` 32/libgcj.so +ln -sf ../`echo ../../../../lib64/libgcj-tools.so.15.* | sed s~/../lib64/~/~` 32/libgcj-tools.so +ln -sf ../`echo ../../../../lib64/libgij.so.15.* | sed s~/../lib64/~/~` 32/libgij.so %endif mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/ mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/ @@ -1687,10 +1746,6 @@ ln -sf ../lib32/libstdc++.a 32/libstdc++.a ln -sf lib64/libstdc++.a libstdc++.a ln -sf ../lib32/libsupc++.a 32/libsupc++.a ln -sf lib64/libsupc++.a libsupc++.a -ln -sf ../lib32/libmudflap.a 32/libmudflap.a -ln -sf lib64/libmudflap.a libmudflap.a -ln -sf ../lib32/libmudflapth.a 32/libmudflapth.a -ln -sf lib64/libmudflapth.a libmudflapth.a %if %{build_libquadmath} ln -sf ../lib32/libquadmath.a 32/libquadmath.a ln -sf lib64/libquadmath.a libquadmath.a @@ -1707,6 +1762,14 @@ ln -sf lib64/libatomic.a libatomic.a ln -sf ../lib32/libasan.a 32/libasan.a ln -sf lib64/libasan.a libasan.a %endif +%if %{build_libubsan} +ln -sf ../lib32/libubsan.a 32/libubsan.a +ln -sf lib64/libubsan.a libubsan.a +%endif +%if %{build_libcilkrts} +ln -sf ../lib32/libcilkrts.a 32/libcilkrts.a +ln -sf lib64/libcilkrts.a libcilkrts.a +%endif %if %{build_go} ln -sf ../lib32/libgo.a 32/libgo.a ln -sf lib64/libgo.a libgo.a @@ -1728,8 +1791,6 @@ ln -sf lib64/adalib adalib ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgfortran.a 32/libgfortran.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libsupc++.a 32/libsupc++.a -ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflap.a 32/libmudflap.a -ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflapth.a 32/libmudflapth.a %if %{build_libquadmath} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libquadmath.a 32/libquadmath.a %endif @@ -1742,6 +1803,12 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/liba %if %{build_libasan} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libasan.a 32/libasan.a %endif +%if %{build_libubsan} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libubsan.a 32/libubsan.a +%endif +%if %{build_libcilkrts} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libcilkrts.a 32/libcilkrts.a +%endif %if %{build_go} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgo.a 32/libgo.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgobegin.a 32/libgobegin.a @@ -1758,15 +1825,14 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/adal # Strip debug info from Fortran/ObjC/Java static libraries strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \ - -o -name libmudflap.a -o -name libmudflapth.a \ -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \ -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \ - -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \ + -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \ + -o -name libubsan.a -o -name liblsan.a -o -name libcilkrts.a \) \ -a -type f` popd chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.* -chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.* %if %{build_libquadmath} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.* %endif @@ -1777,13 +1843,22 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.* %endif %if %{build_libasan} -chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.0.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.1.* +%endif +%if %{build_libubsan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.0.* +%endif +%if %{build_libcilkrts} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcilkrts.so.5.* %endif %if %{build_libtsan} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0.* %endif +%if %{build_liblsan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.* +%endif %if %{build_go} -chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.4.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.5.* %endif chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.* @@ -1838,6 +1913,7 @@ rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a} rm -f $FULLEPATH/install-tools/{mkheaders,fixincl} rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a rm -f %{buildroot}%{_prefix}/%{_lib}/libssp* +rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || : rm -f %{buildroot}%{_prefix}/bin/gappletviewer || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-%{version} || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || : @@ -2055,10 +2131,6 @@ fi %postun -n libgomp -p /sbin/ldconfig -%post -n libmudflap -p /sbin/ldconfig - -%postun -n libmudflap -p /sbin/ldconfig - %post -n libquadmath /sbin/ldconfig if [ -f %{_infodir}/libquadmath.info.gz ]; then @@ -2097,10 +2169,22 @@ fi %postun -n libasan -p /sbin/ldconfig +%post -n libubsan -p /sbin/ldconfig + +%postun -n libubsan -p /sbin/ldconfig + %post -n libtsan -p /sbin/ldconfig %postun -n libtsan -p /sbin/ldconfig +%post -n liblsan -p /sbin/ldconfig + +%postun -n liblsan -p /sbin/ldconfig + +%post -n libcilkrts -p /sbin/ldconfig + +%postun -n libcilkrts -p /sbin/ldconfig + %post -n libgo -p /sbin/ldconfig %postun -n libgo -p /sbin/ldconfig @@ -2154,6 +2238,7 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint-gcc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdalign.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdnoreturn.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdatomic.h %ifarch %{ix86} x86_64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h @@ -2188,6 +2273,11 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fxsrintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsaveintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsaveoptintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512cdintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512erintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512fintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512pfintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/shaintrin.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 @@ -2224,6 +2314,9 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/htmxlintrin.h %endif +%if %{build_libcilkrts} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cilk +%endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a @@ -2236,6 +2329,9 @@ fi %if %{build_libitm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.spec %endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsanitizer.spec +%endif %if %{build_cloog} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcloog-isl.so.* %endif @@ -2248,10 +2344,6 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.so @@ -2269,6 +2361,14 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libasan_preinit.o %endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libubsan.so +%endif +%if %{build_libcilkrts} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcilkrts.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcilkrts.so +%endif %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 @@ -2279,10 +2379,6 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.so @@ -2300,12 +2396,16 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libasan_preinit.o %endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libubsan.so +%endif +%if %{build_libcilkrts} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcilkrts.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcilkrts.so +%endif %endif %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so @@ -2323,10 +2423,22 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan_preinit.o %endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.so +%endif +%if %{build_libcilkrts} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.so +%endif %if %{build_libtsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.so %endif +%if %{build_liblsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.so +%endif %else %if %{build_libatomic} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libatomic.so @@ -2335,9 +2447,18 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libasan_preinit.o %endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.so +%endif +%if %{build_libcilkrts} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.so +%endif %if %{build_libtsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libtsan.so %endif +%if %{build_liblsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.so +%endif %endif %dir %{_prefix}/libexec/getconf %{_prefix}/libexec/getconf/default @@ -2773,44 +2894,6 @@ fi %{_infodir}/libgomp.info* %doc rpm.doc/changelogs/libgomp/ChangeLog* -%files -n libmudflap -%defattr(-,root,root,-) -%{_prefix}/%{_lib}/libmudflap.so.0* -%{_prefix}/%{_lib}/libmudflapth.so.0* - -%files -n libmudflap-devel -%defattr(-,root,root,-) -%dir %{_prefix}/lib/gcc -%dir %{_prefix}/lib/gcc/%{gcc_target_platform} -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h -%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so -%endif -%doc rpm.doc/changelogs/libmudflap/ChangeLog* - -%files -n libmudflap-static -%defattr(-,root,root,-) -%dir %{_prefix}/lib/gcc -%dir %{_prefix}/lib/gcc/%{gcc_target_platform} -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} -%ifarch sparcv9 ppc -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflapth.a -%endif -%ifarch sparc64 ppc64 ppc64p7 -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflapth.a -%endif -%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a -%endif - %if %{build_libquadmath} %files -n libquadmath %defattr(-,root,root,-) @@ -2913,7 +2996,7 @@ fi %if %{build_libasan} %files -n libasan %defattr(-,root,root,-) -%{_prefix}/%{_lib}/libasan.so.0* +%{_prefix}/%{_lib}/libasan.so.1* %files -n libasan-static %defattr(-,root,root,-) @@ -2934,6 +3017,30 @@ fi %doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT %endif +%if %{build_libubsan} +%files -n libubsan +%defattr(-,root,root,-) +%{_prefix}/%{_lib}/libubsan.so.0* + +%files -n libubsan-static +%defattr(-,root,root,-) +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libubsan.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libubsan.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libubsan.a +%endif +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%endif + %if %{build_libtsan} %files -n libtsan %defattr(-,root,root,-) @@ -2948,6 +3055,44 @@ fi %doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT %endif +%if %{build_liblsan} +%files -n liblsan +%defattr(-,root,root,-) +%{_prefix}/%{_lib}/liblsan.so.0* + +%files -n liblsan-static +%defattr(-,root,root,-) +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/liblsan.a +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%endif + +%if %{build_libcilkrts} +%files -n libcilkrts +%defattr(-,root,root,-) +%{_prefix}/%{_lib}/libcilkrts.so.5* + +%files -n libcilkrts-static +%defattr(-,root,root,-) +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libcilkrts.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libcilkrts.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.a +%endif +%doc rpm.doc/changelogs/libcilkrts/ChangeLog* libcilkrts/README +%endif + %if %{build_go} %files go %defattr(-,root,root,-) @@ -2983,7 +3128,7 @@ fi %files -n libgo %defattr(-,root,root,-) -%{_prefix}/%{_lib}/libgo.so.4* +%{_prefix}/%{_lib}/libgo.so.5* %doc rpm.doc/libgo/* %files -n libgo-devel @@ -3044,499 +3189,126 @@ fi %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog -* Thu Feb 20 2014 Jakub Jelinek 4.8.2-15 -- fix exception spec instantiation ICE (#1067398, PR c++/60046) -- fix pch on aarch64 (#1058991, PR pch/60010) +* Wed Apr 9 2014 Jakub Jelinek 4.9.0-0.9 +- update from the trunk + - PRs ada/60703, bootstrap/60620, bootstrap/60719, bootstrap/60743, + c++/21113, c++/44613, c++/44859, c++/58207, c++/59115, c++/60374, + c++/60573, c++/60626, c++/60642, c++/60708, c++/60713, c++/60731, + debug/55794, debug/60655, fortran/60191, ipa/59626, ipa/60640, + ipa/60659, ipa/60746, libstdc++/60270, middle-end/60706, + middle-end/60729, middle-end/60750, rtl-optimization/60155, + rtl-optimization/60604, rtl-optimization/60700, + rtl-optimization/60776, sanitizer/60745, target/43751, target/54083, + target/54407, target/60034, target/60363, target/60504, target/60602, + target/60609, target/60650, target/60657, target/60697, target/60704, + target/60735, target/60763, testsuite/60671, testsuite/60672, + tree-optimization/60505, tree-optimization/60656, + tree-optimization/60733, tree-optimization/60740, + tree-optimization/60766, tree-optimization/60785 + +* Fri Mar 28 2014 Jakub Jelinek 4.9.0-0.8 +- update from the trunk + - PRs c++/52369, c++/60331, c++/60375, c++/60566, c++/60574, c++/60627, + c++/60628, c++/60689, c/35449, c/37428, c/39525, c/50347, + fortran/34928, fortran/58880, fortran/60522, fortran/60677, ipa/60315, + ipa/60600, libstdc++/60612, libstdc++/60658, middle-end/60635, + middle-end/60682, other/59545, rtl-optimization/60452, + rtl-optimization/60501, rtl-optimization/60650, sanitizer/56781, + sanitizer/60636, target/60580, target/60672, target/60675, + target/60693, testsuite/58013 +- inliner speed fixes (PR ipa/60243) +- fortran wrong-code fix (PR fortran/60576) +- fix IPA-SRA with mismatched types between caller and callee + (PR middle-end/60647) +- fix expansion of switch with constant index not optimized during gimple + passes (PR target/60648) + +* Mon Mar 24 2014 Jakub Jelinek 4.9.0-0.7 +- update from the trunk + - PRs c++/60384, debug/60603, fortran/60599, ipa/59176, ipa/60419, + libstdc++/60587, libstdc++/60623, rtl-optimization/60601, + sanitizer/60613, target/60598, target/60610, tree-optimization/60577 + +* Thu Mar 20 2014 Jakub Jelinek 4.9.0-0.6 +- update from the trunk + - PRs ada/39172, c++/51474, c++/54250, c++/59571, c++/60305, c++/60332, + c++/60390, c++/60391, c++/60572, c/55383, fortran/55207, + fortran/60283, fortran/60543, fortran/60549, libfortran/48600, + libfortran/58324, libstdc++/60564, lto/59543, lto/60571, + middle-end/60534, middle-end/60553, middle-end/60597, other/60589, + rtl-optimization/56356, sanitizer/60535, sanitizer/60557, + sanitizer/60569, target/60039, target/60516, target/60562, + target/60563, target/60568, testsuite/58851, testsuite/60590, + tree-optimization/60559 + +* Sat Mar 15 2014 Jakub Jelinek 4.9.0-0.5 +- update from the trunk + - PRs ada/51483, ada/60411, bootstrap/58572, c++/53492, c++/58609, + c++/60033, c++/60254, c++/60367, c++/60383, c++/60389, c++/60393, + c++/60532, c/60197, debug/60438, fortran/51976, fortran/60392, + fortran/60447, ipa/58721, ipa/60457, libfortran/38199, + libfortran/60128, libgcc/59339, libgcc/60472, libgfortran/60128, + libstdc++/59392, libstdc++/60499, lto/60424, lto/60427, lto/60461, + middle-end/36282, middle-end/60418, middle-end/60445, + middle-end/60474, middle-end/60482, middle-end/60484, + middle-end/60518, rtl-optimization/57189, rtl-optimization/57320, + rtl-optimization/60508, target/58271, target/58595, target/59396, + target/60264, target/60486, target/60525, tree-optimization/59025, + tree-optimization/59779, tree-optimization/60429, + tree-optimization/60454, tree-optimization/60485, + tree-optimization/60502 + +* Thu Mar 6 2014 Jakub Jelinek 4.9.0-0.4 +- update from the trunk + - PRs c++/60361, c++/60409, debug/60381, testsuite/59308 + +* Wed Mar 5 2014 Jakub Jelinek 4.9.0-0.3 +- update from the trunk + - PRs bootstrap/48230, bootstrap/50927, bootstrap/52466, bootstrap/60343, + c++/11586, c++/14710, c++/50025, c++/54359, c++/54440, c++/55877, + c++/57132, c++/58170, c++/58606, c++/58610, c++/58678, c++/58835, + c++/58845, c++/58873, c++/59231, c++/59347, c++/60046, c++/60051, + c++/60052, c++/60053, c++/60064, c++/60065, c++/60108, c++/60146, + c++/60167, c++/60182, c++/60185, c++/60186, c++/60187, c++/60190, + c++/60215, c++/60216, c++/60219, c++/60222, c++/60224, c++/60225, + c++/60227, c++/60241, c++/60248, c++/60250, c++/60251, c++/60252, + c++/60253, c++/60267, c++/60272, c++/60311, c++/60312, c++/60314, + c++/60328, c++/60345, c++/60347, c++/60353, c++/60376, c++/60377, + c++/60379, c++/60415, c++/60417, c/37743, c/60195, debug/56563, + debug/57232, debug/59992, debug/60152, driver/60233, fortran/49397, + fortran/55907, fortran/59599, fortran/60231, fortran/60232, + fortran/60234, fortran/60236, fortran/60286, fortran/60302, + fortran/60341, fortran/60359, ipa/55260, ipa/58555, ipa/60150, + ipa/60243, ipa/60266, ipa/60306, ipa/60327, libfortran/58015, + libfortran/59313, libfortran/60148, libgcc/60166, libgcj/55637, + libjava/60261, libstdc++/58338, libstdc++/60308, lto/53808, lto/60179, + lto/60295, lto/60319, lto/60404, lto/60405, middle-end/58477, + middle-end/59223, middle-end/60147, middle-end/60175, + middle-end/60221, middle-end/60291, objc++/60398, objc/56870, + pch/60010, plugins/59335, preprocessor/58844, preprocessor/60400, + rtl-optimization/49847, rtl-optimization/52714, + rtl-optimization/58960, rtl-optimization/59535, + rtl-optimization/60131, rtl-optimization/60268, + rtl-optimization/60292, rtl-optimization/60317, sanitizer/60142, + target/46898, target/55426, target/57896, target/57935, target/57936, + target/58675, target/59222, target/59794, target/59799, target/60071, + target/60169, target/60193, target/60203, target/60204, target/60205, + target/60207, target/60280, target/60298, testsuite/60173, + tree-optimization/56490, tree-optimization/58028, + tree-optimization/60174, tree-optimization/60183, + tree-optimization/60276, tree-optimization/60382 - configure with --enable-gnu-indirect-function on architectures and distros that support it and don't support it by default yet (#1067245) - -* Wed Feb 19 2014 Jakub Jelinek 4.8.2-14 - remove libgo P.224 elliptic curve (#1066539) -- fix -mcpu=power8 ICE (#1064242, PR target/60137) -* Tue Jan 21 2014 Jakub Jelinek 4.8.2-13 -- when removing -Wall from CXXFLAGS, if -Werror=format-security - is present, add -Wformat to it, so that GCC builds on F21 +* Thu Feb 13 2014 Jakub Jelinek 4.9.0-0.2 +- update from the trunk + - PRs bootstrap/59878, c++/60047, c/60101, debug/59776, fortran/52370, + libffi/60073, lto/59468, lto/60060, middle-end/59737, + middle-end/60092, rtl-optimization/60116, target/43546, target/49008, + target/59927, target/60137, target/60151, testsuite/58630 +- upgrade to newer cloog and isl -* Mon Jan 20 2014 Jakub Jelinek 4.8.2-12 -- update from the 4.8 branch (#1052892) - - PRs c++/59838, debug/54694, fortran/34547, fortran/58410, - middle-end/59827, middle-end/59860, target/58139, target/59142, - target/59695, target/59794, target/59826, target/59839 -- fix handling of initialized vars with flexible array members - (#1035413, PR middle-end/28865) - -* Wed Jan 15 2014 Jakub Jelinek 4.8.2-11 -- update from the 4.8 branch - - fix s390x reload bug (#1052372, PR target/59803) - -* Tue Jan 14 2014 Jakub Jelinek 4.8.2-10 -- update from the 4.8 branch (#1052892) - - PRs ada/55946, ada/59772, c++/56060, c++/58954, c++/59255, c++/59730, - fortran/57042, fortran/58998, fortran/59493, fortran/59612, - fortran/59654, ipa/59610, middle-end/59584, pch/59436, - rtl-optimization/54300, rtl-optimization/58668, - rtl-optimization/59137, rtl-optimization/59647, - rtl-optimization/59724, target/57386, target/59587, target/59625, - target/59652, testsuite/58630, tree-optimization/54570, - tree-optimization/59125, tree-optimization/59362, - tree-optimization/59715, tree-optimization/59745 -- default to -march=z196 instead of -march=z10 on s390/s390x (#1052890) - -* Fri Jan 10 2014 Jakub Jelinek 4.8.2-9 -- define %%global _performance_build 1 (#1051064) - -* Tue Jan 7 2014 Jakub Jelinek 4.8.2-8 -- treat ppc64p7 as ppc64 (#1048859) - -* Thu Dec 12 2013 Jakub Jelinek 4.8.2-7 -- update from the 4.8 branch - - PRs libgomp/59467, rtl-optimization/58295, target/56807, - testsuite/59442 - - fix LRA coalescing for real (PR middle-end/59470) - -* Wed Dec 11 2013 Jakub Jelinek 4.8.2-6 -- temporarily revert PR middle-end/58956 to avoid libstdc++ - miscompilation on i?86 (PR middle-end/59470) - -* Mon Dec 9 2013 Jakub Jelinek 4.8.2-5 -- update from the 4.8 branch - - PRs ada/59382, bootstrap/57683, c++/58162, c++/59031, c++/59032, - c++/59044, c++/59052, c++/59268, c++/59297, c/59280, c/59351, - fortran/57445, fortran/58099, fortran/58471, fortran/58771, - middle-end/58742, middle-end/58941, middle-end/58956, - middle-end/59011, middle-end/59037, middle-end/59138, - rtl-optimization/58726, target/50751, target/51244, target/56788, - target/58854, target/58864, target/59021, target/59088, - target/59101, target/59153, target/59163, target/59207, - target/59343, target/59405, tree-optimization/57517, - tree-optimization/58137, tree-optimization/58143, - tree-optimization/58653, tree-optimization/58794, - tree-optimization/59014, tree-optimization/59047, - tree-optimization/59139, tree-optimization/59164, - tree-optimization/59288, tree-optimization/59330, - tree-optimization/59334, tree-optimization/59358, - tree-optimization/59388 -- aarch64 gcj enablement (#1023789) -- look for libgfortran.spec and libitm.spec in %%{_lib} rather than lib - subdirs (#1023789) - -* Mon Nov 11 2013 Jakub Jelinek 4.8.2-4 -- update from the 4.8 branch - - PRs plugins/52872, regression/58985, target/59034 - -* Wed Nov 6 2013 Jakub Jelinek 4.8.2-3 -- update from the 4.8 branch - - PRs c++/58282, c++/58979, fortran/58355, fortran/58989, libstdc++/58839, - libstdc++/58912, libstdc++/58952, lto/57084, middle-end/58789, - rtl-optimization/58079, rtl-optimization/58831, rtl/58542, - target/58690, target/58779, target/58792, target/58838, - tree-optimization/57488, tree-optimization/58805, - tree-optimization/58984 -- fix ICEs in get_bit_range (PR middle-end/58970) -- fix ICEs in RTL loop unswitching (PR rtl-optimization/58997) - -* Sun Oct 20 2013 Jakub Jelinek 4.8.2-2 -- update from the 4.8 branch - - PRs c++/58596, libstdc++/58800 -- power8 TImode fix (#1014053, PR target/58673) - -* Thu Oct 17 2013 Jakub Jelinek 4.8.2-1 -- update from the 4.8 branch - - GCC 4.8.2 release - - PRs c++/57850, c++/58633, libstdc++/58191 - -* Thu Oct 10 2013 Jakub Jelinek 4.8.1-12 -- update from the 4.8 branch - - PRs c++/58568, fortran/55469, fortran/57697, fortran/58469, - libstdc++/57465, libstdc++/57641, libstdc++/58659, target/58460, - tree-optimization/58539 - - fix asm goto handling (#1017704, PR middle-end/58670) - -* Wed Oct 2 2013 Jakub Jelinek 4.8.1-11 -- update from the 4.8 branch - - PRs c++/58535, libstdc++/58437, libstdc++/58569, middle-end/56791, - middle-end/58463, middle-end/58564, target/58330, - tree-optimization/56716 - - fix s390x z10+ chunkification (#1012870, PR target/58574) -- disable ppc{,64} -mvsx-timode by default (#1014053, PR target/58587) - -* Fri Sep 20 2013 Jakub Jelinek 4.8.1-10 -- update from the 4.8 branch - - PRs ada/58264, c++/58457, c++/58458, libstdc++/58358, - tree-optimization/58088 -- on RHEL7, configure on ppc/ppc64 with default -mcpu=power7, - on s390/s390x with default -march=z10 -mtune=zEC12 and - on i?86 default to -march=x86-64 -mtune=generic (#805157) -- on Fedora 20+ and RHEL7 default to -fdiagnostics-color=auto - rather than -fdiagnostics-color=never, if GCC_COLORS isn't - in the environment; to turn it off by default, set GCC_COLORS= - in the environment - -* Sun Sep 15 2013 Jakub Jelinek 4.8.1-9 -- update from the 4.8 branch - - PRs c++/58273, libstdc++/58415, middle-end/58377, rtl-optimization/58365, - target/58314, target/58361, target/58382, tree-optimization/58385 -- add arm_neon.h on aarch64 (#1007490) - -* Mon Sep 9 2013 Jakub Jelinek 4.8.1-8 -- update from the 4.8 branch - - PRs c++/58325, libstdc++/58302, libstdc++/58341, middle-end/57656, - other/12081, target/57735, tree-optimization/57521, - tree-optimization/57685, tree-optimization/58010, - tree-optimization/58223, tree-optimization/58228, - tree-optimization/58246, tree-optimization/58277, - tree-optimization/58364 - -* Thu Aug 29 2013 Jakub Jelinek 4.8.1-7 -- update from the 4.8 branch - - PRs c++/58083, c++/58119, c++/58190, fortran/57798, fortran/58185, - middle-end/56977, middle-end/57381, middle-end/58257, target/56979, - target/57865, target/57927, target/58218, tree-optimization/57343, - tree-optimization/57396, tree-optimization/57417, - tree-optimization/58006, tree-optimization/58164, - tree-optimization/58165, tree-optimization/58209 -- fix up x86-64 -mcmodel=large -fpic TLS GD and LD model - (#994244, PR target/58067) -- power8 fusion support fixes (#731884, PR target/58160) - -* Wed Aug 14 2013 Jakub Jelinek 4.8.1-6 -- update from the 4.8 branch - - PRs c++/57825, c++/57901, c++/57981, c++/58022, fortran/57435, - fortran/58058, libstdc++/56627, libstdc++/57914, libstdc++/58098, - middle-end/58041, rtl-optimization/57459, rtl-optimization/57708, - rtl-optimization/57878, sanitizer/56417, target/51784, target/57516, - target/58067, target/58132, tree-optimization/57980 -- power8 fusion support (#731884) -- fix up ABI alignment patch (#947197) -- fix up SRA with volatile struct accesses (PR tree-optimization/58145) - -* Wed Jul 17 2013 Jakub Jelinek 4.8.1-5 -- update from the 4.8 branch - - PRs target/55656, target/55657 - - update to Go 1.1.1 -- backport power8 HTM support from trunk (#731884) -- backport s390 zEC12 HTM support from trunk - -* Mon Jul 15 2013 Jakub Jelinek 4.8.1-4 -- update from the 4.8 branch - - PRs c++/57437, c++/57526, c++/57532, c++/57545, c++/57550, c++/57551, - c++/57645, c++/57771, c++/57831, fortran/57785, - rtl-optimization/57829, target/56102, target/56892, target/56987, - target/57506, target/57631, target/57736, target/57744, - target/57777, target/57792, target/57844 -- backport some raw-string literal handling fixes (#981029, - PRs preprocessor/57757, preprocessor/57824) -- improve convert_to_* (PR c++/56493) -- tune for power7 on RHEL7 - -* Fri Jun 28 2013 Jakub Jelinek 4.8.1-3 -- update from the 4.8 branch - - PRs c++/53211, c++/56544, driver/57652, libstdc++/57619, libstdc++/57666, - libstdc++/57674, rtl-optimization/57518, target/57623, target/57655, - tree-optimization/57358, tree-optimization/57537 - - fix up gcc-{ar,nm,ranlib} (#974853, PR driver/57651) -- fix two libitm HTM handling bugs (PR libitm/57643) -- speed up __popcount[sdt]i2 library function (PR middle-end/36041) -- backport power8 support from trunk (#731884, PR target/57615) -- for Fedora 20+ test -fstack-protector-strong during %%check instead - of -fstack-protector - -* Wed Jun 12 2013 Jakub Jelinek 4.8.1-2 -- update from the 4.8 branch - - PRs fortran/57364, fortran/57508, target/56547, target/57379, target/57568 -- backport backwards compatible alignment ABI fixes (#947197, PR target/56564) -- fix up widening multiplication vectorization on big-endian - (PR tree-optimization/57537) - -* Mon Jun 3 2013 Jakub Jelinek 4.8.1-1 -- update from the 4.8 branch - - GCC 4.8.1 release - - PRs c++/56930, c++/57319, fortran/57217, target/49146, target/56742 -- backport Intel Silvermont enablement and tuning from trunk -- backport 3 small AMD improvement patches from trunk - -* Sun May 26 2013 Jakub Jelinek 4.8.0-8 -- update from the 4.8 branch - - std::chrono::steady_clock ABI fixes from 4.8.0-7 - -* Fri May 24 2013 Jakub Jelinek 4.8.0-7 -- update from the 4.8 branch - - PRs c++/57016, c++/57317, c++/57325, c++/57388, libffi/56033, - libstdc++/57336, middle-end/57344, middle-end/57347, plugins/56754, - rtl-optimization/57341, target/56732, target/57356, - tree-optimization/57303, tree-optimization/57318, - tree-optimization/57321, tree-optimization/57330, tree-ssa/57385 - - std::chrono::steady_clock now really steady - -* Fri May 17 2013 Jakub Jelinek 4.8.0-6 -- update from the 4.8 branch - - PRs c++/56782, c++/56998, c++/57041, c++/57196, c++/57243, c++/57252, - c++/57253, c++/57254, c++/57274, c++/57279, middle-end/57251, - rtl-optimization/57281, rtl-optimization/57300, target/45359, - target/46396, target/57264 -- backport color diagnostics support from trunk, enable with - -fdiagnostics-color=auto, -fdiagnostics-color=always or - having non-empty GCC_COLORS variable in environment -- backport -fstack-protector-strong support from trunk - -* Fri May 10 2013 Jakub Jelinek 4.8.0-5 -- update from the 4.8 branch - - PRs bootstrap/54281, bootstrap/54659, c++/57047, c++/57068, c++/57222, - fortran/57142, libstdc++/57212, middle-end/56988, target/55033, - target/57237, tree-optimization/57200, tree-optimization/57214 -- fix up strlen pass (PR tree-optimization/57230) - -* Tue May 7 2013 Jakub Jelinek 4.8.0-4 -- update from the 4.8 branch - - PRs ada/56474, c++/50261, c++/56450, c++/56859, c++/56970, c++/57064, - c++/57092, c++/57183, debug/57184, fortran/51825, fortran/52512, - fortran/53685, fortran/56786, fortran/56814, fortran/56872, - fortran/56968, fortran/57022, libfortran/51825, libfortran/52512, - libfortran/56786, libstdc++/57010, middle-end/57103, - rtl-optimization/56605, rtl-optimization/56847, - rtl-optimization/57003, rtl-optimization/57130, - rtl-optimization/57131, rtl-optimizations/57046, sanitizer/56990, - target/44578, target/55445, target/56797, target/56866, target/57018, - target/57091, target/57097, target/57098, target/57106, target/57108, - target/57150, tree-optimization/57051, tree-optimization/57066, - tree-optimization/57083, tree-optimization/57104, - tree-optimization/57149, tree-optimization/57185 - - fix gcj with -fsection-anchors (#952673, PR libgcj/57074) -- enable libitm on s390{,x} -- error when linking with both -fsanitize=address and -fsanitize=thread - (#957778) - -* Fri Apr 19 2013 Jakub Jelinek 4.8.0-3 -- update from the 4.8 branch - - PRs c++/56388, fortran/56816, fortran/56994, rtl-optimization/56992, - target/56890, target/56903, target/56948, tree-optimization/56962, - tree-optimization/56984 -- fix up LRA caused miscompilation of xulrunner on i?86 - (#949553, PR rtl-optimization/56999) -- reassoc fix for -Ofast -frounding-math (PR tree-optimization/57000) - -* Fri Apr 12 2013 Jakub Jelinek 4.8.0-2 -- update from the 4.8 branch - - PRs c++/35722, c++/45282, c++/52014, c++/52374, c++/52748, c++/54277, - c++/54359, c++/54764, c++/55532, c++/55951, c++/55972, c++/56039, - c++/56447, c++/56582, c++/56646, c++/56692, c++/56699, c++/56722, - c++/56728, c++/56749, c++/56772, c++/56774, c++/56793, c++/56794, - c++/56821, c++/56895, c++/56913, debug/56819, fortran/54932, - fortran/56696, fortran/56735, fortran/56737, fortran/56782, - libstdc++/55977, libstdc++/55979, libstdc++/56002, libstdc++/56678, - libstdc++/56834, lto/56777, middle-end/56694, middle-end/56768, - middle-end/56883, other/55274, rtl-optimization/48182, - rtl-optimization/56745, sanitizer/55702, target/54805, target/55487, - target/56560, target/56720, target/56771, tree-optimization/48184, - tree-optimization/48186, tree-optimization/48762, - tree-optimization/56407, tree-optimization/56501, - tree-optimization/56817, tree-optimization/56837, - tree-optimization/56899, tree-optimization/56918, - tree-optimization/56920 - -* Fri Mar 22 2013 Jakub Jelinek 4.8.0-1 -- update from the 4.8 branch - - GCC 4.8.0 release - - PRs c++/56607, other/43620 - - fix length in .debug_aranges in some cases -- improve debug info for optimized away global vars (PR debug/56608) -- don't warn about signed 1-bit enum bitfields containing values 0 and -1 - or just -1 (PR c/56566) - -* Wed Mar 20 2013 Jakub Jelinek 4.8.0-0.18 -- update from the 4.8 branch - - PRs libstdc++/56468, target/56640, tree-optimization/56635, - tree-optimization/56661 -- package libasan_preinit.o - -* Sat Mar 16 2013 Jakub Jelinek 4.8.0-0.17 -- update from trunk and the 4.8 branch - - PRs ada/52123, c++/51412, c++/51494, c++/51884, c++/52183, c++/56222, - c++/56346, c++/56565, c++/56567, c++/56611, c++/56614, debug/56307, - fortran/56575, fortran/56615, libstdc++/56492, libstdc++/56609, - libstdc++/56613, lto/56557, middle-end/56524, middle-end/56571, - target/40797, target/49880, target/56470, target/56591, target/56619, - testsuite/54119, tree-optimization/53265, tree-optimization/56478, - tree-optimization/56570, tree-optimization/56608 - -* Thu Mar 7 2013 Jakub Jelinek 4.8.0-0.16 -- updated from trunk - - PRs bootstrap/56509, c++/54383, c++/55135, c++/56464, c++/56530, - c++/56534, c++/56543, debug/55364, debug/56510, libquadmath/55473, - lto/50293, lto/56515, middle-end/50494, middle-end/56294, - middle-end/56525, middle-end/56526, middle-end/56548, - rtl-optimization/56484, rtl-optimization/56494, target/56529, - tree-optimization/56270, tree-optimization/56521, - tree-optimization/56539, tree-optimization/56559 - - include arm-cores.def in gcc-python-plugin on arm (#910926) -- include vxworks-dummy.h in gcc-python-plugin where needed (PR plugins/45078) - -* Mon Mar 4 2013 Jakub Jelinek 4.8.0-0.15 -- updated from trunk - - PRs c++/10291, c++/40405, c++/52688, c++/55632, c++/55813, c++/56243, - c++/56358, c++/56359, c++/56377, c++/56395, c++/56403, c++/56419, - c++/56438, c++/56481, fortran/54730, fortran/56385, fortran/56416, - fortran/56477, fortran/56491, libfortran/30162, libstdc++/56011, - libstdc++/56012, middle-end/45472, middle-end/56077, - middle-end/56108, middle-end/56420, middle-end/56461, - rtl-optimization/50339, rtl-optimization/56466, sanitizer/56393, - sanitizer/56454, target/48901, target/52500, target/52501, - target/52550, target/54639, target/54640, target/54662, target/56444, - target/56445, target/56455, testsuite/52641, tree-optimization/55481, - tree-optimization/56175, tree-optimization/56294, - tree-optimization/56310, tree-optimization/56415, - tree-optimization/56426, tree-optimization/56443, - tree-optimization/56448 -- fnsplit fix (PR tree-optimization/56424) - -* Wed Feb 20 2013 Jakub Jelinek 4.8.0-0.14 -- updated from trunk - - PRs asan/56330, c++/51242, c++/54276, c++/56373, libquadmath/56379, - middle-end/55889, middle-end/56349, pch/54117, - rtl-optimization/56348, target/52555, target/54685, target/56214, - target/56347, tree-optimization/55334, tree-optimization/56321, - tree-optimization/56350, tree-optimization/56366, - tree-optimization/56381, tree-optimization/56384, - tree-optimization/56396, tree-optimization/56398 -- add BuildRequires: /usr/bin/pod2man to fix man pages generation -- don't ICE on bogus inline asm in kernel (#912857, PR inline-asm/56405) -- fix up info page building with texinfo 5.0 (PR bootstrap/56258) -- devirtualization ICE fix (PR tree-optimization/56265) - -* Fri Feb 15 2013 Jakub Jelinek 4.8.0-0.13 -- updated from trunk - - PRs bootstrap/56327, c++/52026, c++/54922, c++/55003, c++/55220, - c++/55223, c++/55232, c++/55582, c++/55670, c++/55680, c++/56323, - c++/56343, fortran/53818, fortran/56224, fortran/56318, - libstdc++/56111, lto/50494, target/55431, target/55941, - testsuite/56138 -- asan fixes (PR sanitizer/56330) -- asan speedup - use 0x7fff8000 shadow offset instead of 1LL << 44 on - x86_64 - -* Wed Feb 13 2013 Jakub Jelinek 4.8.0-0.12 -- updated from trunk - - PRs c++/55710, c++/55879, c++/55993, c++/56135, c++/56155, c++/56285, - c++/56291, c/44938, fortran/46952, fortran/56204, inline-asm/56148, - libitm/55693, lto/56295, lto/56297, middle-end/56288, - sanitizer/56128, target/52122, testsuite/56082 - - fix IRA bug that caused reload ICE on ARM (#910153, target/56184) - - attempt harder to fold "n" constrainted asm input operands in C++ - with -O0 (#910421, c++/56302) - -* Mon Feb 11 2013 Jakub Jelinek 4.8.0-0.11 -- updated from trunk - - PRs c++/56238, c++/56247, c++/56268, fortran/55362, libstdc++/56267, - libstdc++/56278, libstdc++/56282, rtl-optimization/56246, - rtl-optimization/56275, target/56043, tree-optimization/56264, - tree-optimization/56273 -- improve expansion of mem1 op= mem2 (PR rtl-optimization/56151) - -* Fri Feb 8 2013 Jakub Jelinek 4.8.0-0.10 -- updated from trunk - - PRs bootstrap/56227, c++/56235, c++/56237, c++/56239, c++/56241, - debug/53363, fortran/54339, fortran/55789, libstdc++/56193, - libstdc++/56216, lto/56231, middle-end/56181, - rtl-optimization/56195, rtl-optimization/56225, target/50678, - target/54009, target/54131, tree-optimization/56250 - - fix Ada frontend miscompilation with profiledbootstrap (#906516, - PR rtl-optimization/56178) -- restore parsing of ppc inline asm dialects (#909298, PR target/56256) -- fix up libiberty old regex (PR other/56245) -- fix IRA -O0 -g code debug regression (PR debug/53948) - -* Wed Feb 6 2013 Jakub Jelinek 4.8.0-0.9 -- updated from trunk - - PRs c++/54122, c++/56177, c++/56208, debug/54793, fortran/47517, - fortran/50627, fortran/54195, fortran/56008, fortran/56054, - libstdc++/56202, lto/56168, middle-end/56113, middle-end/56167, - middle-end/56217, rtl-optimization/56131, sanitizer/55617, - target/52123, target/54601, target/55146, target/56186, - tree-optimization/53185, tree-optimization/53342, - tree-optimization/54386, tree-optimization/55789, - tree-optimization/56188 - - fix up stdarg pass (PR tree-optimization/56205, #906367) - - remove unused thread_local bitfield (#907882) -- fix cselim pass on calls that might free memory (PR tree-optimization/52448) -- fix libgfortran internal_pack (PR fortran/55978) -- fix up .debug_loc for first function in CU, if it contains empty ranges - at the beginning of the function (PR debug/56154, #904252) -- fix ppc64 indirect calls (PR target/56228, #908388) - -* Thu Jan 31 2013 Jakub Jelinek 4.8.0-0.8 -- updated from trunk - - PRs c++/56162, debug/54410, debug/54508, debug/55059, fortran/54107, - fortran/56138, libgomp/55561, libstdc++/54314, lto/56147, - middle-end/53073, other/53413, other/54620, rtl-optimization/56144, - sanitizer/55374, target/39064, target/56121, tree-optimization/55270, - tree-optimization/56064, tree-optimization/56113, - tree-optimization/56150, tree-optimization/56157 - -* Tue Jan 29 2013 Jakub Jelinek 4.8.0-0.7 -- updated from trunk - - PRs c++/56095, c++/56104, c/56078, fortran/53537, fortran/55984, - fortran/56047, inline-asm/55934, libstdc++/56085, libstdc++/56112, - other/54814, other/56076, rtl-optimization/56117, target/54663, - target/56114, testsuite/56053, tree-optimization/55927, - tree-optimization/56034, tree-optimization/56035, - tree-optimization/56094, tree-optimization/56098, - tree-optimization/56125 - -* Thu Jan 24 2013 Jakub Jelinek 4.8.0-0.6 -- updated from trunk - - PRs c++/53609, c++/55944, c++/56067, c++/56071, fortran/56081, - libgomp/51376, libgomp/56073, libquadmath/56072, middle-end/56074, - sanitizer/55989, target/49069, target/54222, target/55686, - target/56028 -- update TeX related BuildRequires (#891460) - -* Tue Jan 22 2013 Jakub Jelinek 4.8.0-0.5 -- updated from trunk - - PRs c++/56059, fortran/55919, rtl-optimization/56023, - tree-optimization/56051 -- fix up cloog dlopen patches for upgrade to cloog-0.18.0 -- fix Fortran OpenMP OOP ICE (PR fortran/56052) - -* Mon Jan 21 2013 Jakub Jelinek 4.8.0-0.4 -- updated from trunk - - PRs ada/864, bootstrap/55792, bootstrap/55961, c++/52343, c++/55663, - c++/55753, c++/55801, c++/55878, c++/55893, c/48418, debug/49888, - debug/53235, debug/53671, debug/54114, debug/54402, debug/55579, - debug/56006, driver/55470, driver/55884, fortran/42769, fortran/45836, - fortran/45900, fortran/47203, fortran/52865, fortran/53876, - fortran/54286, fortran/54678, fortran/54990, fortran/54992, - fortran/55072, fortran/55341, fortran/55618, fortran/55758, - fortran/55763, fortran/55806, fortran/55852, fortran/55868, - fortran/55935, fortran/55983, libmudflap/53359, libstdc++/51007, - libstdc++/55043, libstdc++/55233, libstdc++/55594, libstdc++/55728, - libstdc++/55847, libstdc++/55861, libstdc++/55908, lto/45375, - middle-end/55114, middle-end/55851, middle-end/55882, - middle-end/55890, middle-end/56015, other/55973, other/55982, - rtl-optimization/52573, rtl-optimization/53827, - rtl-optimization/55153, rtl-optimization/55547, - rtl-optimization/55672, rtl-optimization/55829, - rtl-optimization/55833, rtl-optimization/55845, - rtl-optimization/56005, sanitizer/55488, sanitizer/55679, - sanitizer/55844, target/42661, target/43961, target/54461, - target/54908, target/55301, target/55433, target/55565, - target/55718, target/55719, target/55876, target/55897, - target/55940, target/55948, target/55974, target/55981, - target/56058, testsuite/54622, testsuite/55994, - tree-optimization/44061, tree-optimization/48189, - tree-optimization/48766, tree-optimization/52631, - tree-optimization/53465, tree-optimization/54120, - tree-optimization/54767, tree-optimization/55273, - tree-optimization/55569, tree-optimization/55823, - tree-optimization/55862, tree-optimization/55875, - tree-optimization/55888, tree-optimization/55920, - tree-optimization/55921, tree-optimization/55955, - tree-optimization/55964, tree-optimization/55995, - tree-optimization/56029, tree-optimization/55264 -- fix up multiversioning (PR c++/55742) -- fix up ICE with target attribute (PR middle-end/56022) -- update isl to 0.11.1 and cloog to 0.18.0 - -* Sun Jan 6 2013 Jakub Jelinek 4.8.0-0.3 +* Tue Feb 11 2014 Jakub Jelinek 4.9.0-0.1 - new package diff --git a/gcc48-pr28865.patch b/gcc48-pr28865.patch deleted file mode 100644 index 8e07e94..0000000 --- a/gcc48-pr28865.patch +++ /dev/null @@ -1,190 +0,0 @@ -2014-01-16 Nick Clifton - - PR middle-end/28865 - * varasm.c (output_constant): Return the number of bytes actually - emitted. - (output_constructor_array_range): Update the field size with the - number of bytes emitted by output_constant. - (output_constructor_regular_field): Likewise. Also do not - complain if the total number of bytes emitted is now greater - than the expected fieldpos. - * output.h (output_constant): Update prototype and descriptive - comment. - - * gcc.c-torture/compile/pr28865.c: New. - * gcc.c-torture/execute/pr28865.c: New. - ---- gcc/varasm.c (revision 206660) -+++ gcc/varasm.c (revision 206661) -@@ -4474,8 +4474,10 @@ static unsigned HOST_WIDE_INT - This includes the pseudo-op such as ".int" or ".byte", and a newline. - Assumes output_addressed_constants has been done on EXP already. - -- Generate exactly SIZE bytes of assembler data, padding at the end -- with zeros if necessary. SIZE must always be specified. -+ Generate at least SIZE bytes of assembler data, padding at the end -+ with zeros if necessary. SIZE must always be specified. The returned -+ value is the actual number of bytes of assembler data generated, which -+ may be bigger than SIZE if the object contains a variable length field. - - SIZE is important for structure constructors, - since trailing members may have been omitted from the constructor. -@@ -4490,14 +4492,14 @@ static unsigned HOST_WIDE_INT - - ALIGN is the alignment of the data in bits. */ - --void -+unsigned HOST_WIDE_INT - output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align) - { - enum tree_code code; - unsigned HOST_WIDE_INT thissize; - - if (size == 0 || flag_syntax_only) -- return; -+ return size; - - /* See if we're trying to initialize a pointer in a non-default mode - to the address of some declaration somewhere. If the target says -@@ -4562,7 +4564,7 @@ output_constant (tree exp, unsigned HOST - && vec_safe_is_empty (CONSTRUCTOR_ELTS (exp))) - { - assemble_zeros (size); -- return; -+ return size; - } - - if (TREE_CODE (exp) == FDESC_EXPR) -@@ -4574,7 +4576,7 @@ output_constant (tree exp, unsigned HOST - #else - gcc_unreachable (); - #endif -- return; -+ return size; - } - - /* Now output the underlying data. If we've handling the padding, return. -@@ -4612,8 +4614,7 @@ output_constant (tree exp, unsigned HOST - switch (TREE_CODE (exp)) - { - case CONSTRUCTOR: -- output_constructor (exp, size, align, NULL); -- return; -+ return output_constructor (exp, size, align, NULL); - case STRING_CST: - thissize = MIN ((unsigned HOST_WIDE_INT)TREE_STRING_LENGTH (exp), - size); -@@ -4648,11 +4649,10 @@ output_constant (tree exp, unsigned HOST - case RECORD_TYPE: - case UNION_TYPE: - gcc_assert (TREE_CODE (exp) == CONSTRUCTOR); -- output_constructor (exp, size, align, NULL); -- return; -+ return output_constructor (exp, size, align, NULL); - - case ERROR_MARK: -- return; -+ return 0; - - default: - gcc_unreachable (); -@@ -4660,6 +4660,8 @@ output_constant (tree exp, unsigned HOST - - if (size > thissize) - assemble_zeros (size - thissize); -+ -+ return size; - } - - -@@ -4759,7 +4761,7 @@ output_constructor_array_range (oc_local - if (local->val == NULL_TREE) - assemble_zeros (fieldsize); - else -- output_constant (local->val, fieldsize, align2); -+ fieldsize = output_constant (local->val, fieldsize, align2); - - /* Count its size. */ - local->total_bytes += fieldsize; -@@ -4808,9 +4810,8 @@ output_constructor_regular_field (oc_loc - Note no alignment needed in an array, since that is guaranteed - if each element has the proper size. */ - if ((local->field != NULL_TREE || local->index != NULL_TREE) -- && fieldpos != local->total_bytes) -+ && fieldpos > local->total_bytes) - { -- gcc_assert (fieldpos >= local->total_bytes); - assemble_zeros (fieldpos - local->total_bytes); - local->total_bytes = fieldpos; - } -@@ -4847,7 +4848,7 @@ output_constructor_regular_field (oc_loc - if (local->val == NULL_TREE) - assemble_zeros (fieldsize); - else -- output_constant (local->val, fieldsize, align2); -+ fieldsize = output_constant (local->val, fieldsize, align2); - - /* Count its size. */ - local->total_bytes += fieldsize; ---- gcc/output.h (revision 206660) -+++ gcc/output.h (revision 206661) -@@ -294,11 +294,13 @@ extern void output_quoted_string (FILE * - This includes the pseudo-op such as ".int" or ".byte", and a newline. - Assumes output_addressed_constants has been done on EXP already. - -- Generate exactly SIZE bytes of assembler data, padding at the end -- with zeros if necessary. SIZE must always be specified. -+ Generate at least SIZE bytes of assembler data, padding at the end -+ with zeros if necessary. SIZE must always be specified. The returned -+ value is the actual number of bytes of assembler data generated, which -+ may be bigger than SIZE if the object contains a variable length field. - - ALIGN is the alignment in bits that may be assumed for the data. */ --extern void output_constant (tree, unsigned HOST_WIDE_INT, unsigned int); -+extern unsigned HOST_WIDE_INT output_constant (tree, unsigned HOST_WIDE_INT, unsigned int); - - /* When outputting delayed branch sequences, this rtx holds the - sequence being output. It is null when no delayed branch ---- gcc/testsuite/gcc.c-torture/execute/pr28865.c (revision 0) -+++ gcc/testsuite/gcc.c-torture/execute/pr28865.c (revision 206661) -@@ -0,0 +1,21 @@ -+struct A { int a; char b[]; }; -+union B { struct A a; char b[sizeof (struct A) + 31]; }; -+union B b = { { 1, "123456789012345678901234567890" } }; -+union B c = { { 2, "123456789012345678901234567890" } }; -+ -+__attribute__((noinline, noclone)) void -+foo (int *x[2]) -+{ -+ x[0] = &b.a.a; -+ x[1] = &c.a.a; -+} -+ -+int -+main () -+{ -+ int *x[2]; -+ foo (x); -+ if (*x[0] != 1 || *x[1] != 2) -+ __builtin_abort (); -+ return 0; -+} ---- gcc/testsuite/gcc.c-torture/compile/pr28865.c (revision 0) -+++ gcc/testsuite/gcc.c-torture/compile/pr28865.c (revision 206661) -@@ -0,0 +1,16 @@ -+struct var_len -+{ -+ int field1; -+ const char field2[]; -+}; -+ -+/* Note - strictly speaking this array declaration is illegal -+ since each element has a variable length. GCC allows it -+ (for the moment) because it is used in existing code, such -+ as glibc. */ -+static const struct var_len var_array[] = -+{ -+ { 1, "Long exposure noise reduction" }, -+ { 2, "Shutter/AE lock buttons" }, -+ { 3, "Mirror lockup" } -+}; diff --git a/gcc48-pr56564.patch b/gcc48-pr56564.patch deleted file mode 100644 index d81e02d..0000000 --- a/gcc48-pr56564.patch +++ /dev/null @@ -1,654 +0,0 @@ -2013-06-19 Igor Zamyatin - - * gcc.dg/tree-ssa/loop-19.c: Add -fno-common. - -2013-06-12 Jakub Jelinek - - PR target/56564 - * varasm.c (decl_binds_to_current_def_p): Call binds_local_p - target hook even for !TREE_PUBLIC decls. If no resolution info - is available, return false for common and external decls. - - * gcc.target/i386/pr56564-1.c: Skip on darwin, mingw and cygwin. - * gcc.target/i386/pr56564-3.c: Likewise. - -2013-06-11 Jakub Jelinek - - PR target/56564 - * varasm.c (get_variable_align): Move #endif to the right place. - -2013-06-10 Jakub Jelinek - - PR target/56564 - * varasm.c (align_variable): Don't use DATA_ALIGNMENT or - CONSTANT_ALIGNMENT if !decl_binds_to_current_def_p (decl). - Use DATA_ABI_ALIGNMENT for that case instead if defined. - (get_variable_align): New function. - (get_variable_section, emit_bss, emit_common, - assemble_variable_contents, place_block_symbol): Use - get_variable_align instead of DECL_ALIGN. - (assemble_noswitch_variable): Add align argument, use it - instead of DECL_ALIGN. - (assemble_variable): Adjust caller. Use get_variable_align - instead of DECL_ALIGN. - * config/i386/i386.h (DATA_ALIGNMENT): Adjust x86_data_alignment - caller. - (DATA_ABI_ALIGNMENT): Define. - * config/i386/i386-protos.h (x86_data_alignment): Adjust prototype. - * config/i386/i386.c (x86_data_alignment): Add opt argument. If - opt is false, only return the psABI mandated alignment increase. - * config/c6x/c6x.h (DATA_ALIGNMENT): Renamed to... - (DATA_ABI_ALIGNMENT): ... this. - * config/mmix/mmix.h (DATA_ALIGNMENT): Renamed to... - (DATA_ABI_ALIGNMENT): ... this. - * config/mmix/mmix.c (mmix_data_alignment): Adjust function comment. - * config/s390/s390.h (DATA_ALIGNMENT): Renamed to... - (DATA_ABI_ALIGNMENT): ... this. - * doc/tm.texi.in (DATA_ABI_ALIGNMENT): Document. - * doc/tm.texi: Regenerated. - - * gcc.target/i386/pr56564-1.c: New test. - * gcc.target/i386/pr56564-2.c: New test. - * gcc.target/i386/pr56564-3.c: New test. - * gcc.target/i386/pr56564-4.c: New test. - * gcc.target/i386/avx256-unaligned-load-4.c: Add -fno-common. - * gcc.target/i386/avx256-unaligned-store-1.c: Likewise. - * gcc.target/i386/avx256-unaligned-store-3.c: Likewise. - * gcc.target/i386/avx256-unaligned-store-4.c: Likewise. - * gcc.target/i386/vect-sizes-1.c: Likewise. - * gcc.target/i386/memcpy-1.c: Likewise. - * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c (tmp): Initialize. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c (tmp): Likewise. - ---- gcc/doc/tm.texi.in (revision 199897) -+++ gcc/doc/tm.texi.in (revision 199898) -@@ -1062,6 +1062,15 @@ arrays to be word-aligned so that @code{ - constants to character arrays can be done inline. - @end defmac - -+@defmac DATA_ABI_ALIGNMENT (@var{type}, @var{basic-align}) -+Similar to @code{DATA_ALIGNMENT}, but for the cases where the ABI mandates -+some alignment increase, instead of optimization only purposes. E.g.@ -+AMD x86-64 psABI says that variables with array type larger than 15 bytes -+must be aligned to 16 byte boundaries. -+ -+If this macro is not defined, then @var{basic-align} is used. -+@end defmac -+ - @defmac CONSTANT_ALIGNMENT (@var{constant}, @var{basic-align}) - If defined, a C expression to compute the alignment given to a constant - that is being placed in memory. @var{constant} is the constant and ---- gcc/doc/tm.texi (revision 199897) -+++ gcc/doc/tm.texi (revision 199898) -@@ -1078,6 +1078,15 @@ arrays to be word-aligned so that @code{ - constants to character arrays can be done inline. - @end defmac - -+@defmac DATA_ABI_ALIGNMENT (@var{type}, @var{basic-align}) -+Similar to @code{DATA_ALIGNMENT}, but for the cases where the ABI mandates -+some alignment increase, instead of optimization only purposes. E.g.@ -+AMD x86-64 psABI says that variables with array type larger than 15 bytes -+must be aligned to 16 byte boundaries. -+ -+If this macro is not defined, then @var{basic-align} is used. -+@end defmac -+ - @defmac CONSTANT_ALIGNMENT (@var{constant}, @var{basic-align}) - If defined, a C expression to compute the alignment given to a constant - that is being placed in memory. @var{constant} is the constant and ---- gcc/varasm.c (revision 199897) -+++ gcc/varasm.c (revision 199984) -@@ -966,13 +966,80 @@ align_variable (tree decl, bool dont_out - align = MAX_OFILE_ALIGNMENT; - } - -- /* On some machines, it is good to increase alignment sometimes. */ - if (! DECL_USER_ALIGN (decl)) - { -+#ifdef DATA_ABI_ALIGNMENT -+ unsigned int data_abi_align -+ = DATA_ABI_ALIGNMENT (TREE_TYPE (decl), align); -+ /* For backwards compatibility, don't assume the ABI alignment for -+ TLS variables. */ -+ if (! DECL_THREAD_LOCAL_P (decl) || data_abi_align <= BITS_PER_WORD) -+ align = data_abi_align; -+#endif -+ -+ /* On some machines, it is good to increase alignment sometimes. -+ But as DECL_ALIGN is used both for actually emitting the variable -+ and for code accessing the variable as guaranteed alignment, we -+ can only increase the alignment if it is a performance optimization -+ if the references to it must bind to the current definition. */ -+ if (decl_binds_to_current_def_p (decl)) -+ { -+#ifdef DATA_ALIGNMENT -+ unsigned int data_align = DATA_ALIGNMENT (TREE_TYPE (decl), align); -+ /* Don't increase alignment too much for TLS variables - TLS space -+ is too precious. */ -+ if (! DECL_THREAD_LOCAL_P (decl) || data_align <= BITS_PER_WORD) -+ align = data_align; -+#endif -+#ifdef CONSTANT_ALIGNMENT -+ if (DECL_INITIAL (decl) != 0 -+ && DECL_INITIAL (decl) != error_mark_node) -+ { -+ unsigned int const_align -+ = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align); -+ /* Don't increase alignment too much for TLS variables - TLS -+ space is too precious. */ -+ if (! DECL_THREAD_LOCAL_P (decl) || const_align <= BITS_PER_WORD) -+ align = const_align; -+ } -+#endif -+ } -+ } -+ -+ /* Reset the alignment in case we have made it tighter, so we can benefit -+ from it in get_pointer_alignment. */ -+ DECL_ALIGN (decl) = align; -+} -+ -+/* Return DECL_ALIGN (decl), possibly increased for optimization purposes -+ beyond what align_variable returned. */ -+ -+static unsigned int -+get_variable_align (tree decl) -+{ -+ unsigned int align = DECL_ALIGN (decl); -+ -+ /* For user aligned vars or static vars align_variable already did -+ everything. */ -+ if (DECL_USER_ALIGN (decl) || !TREE_PUBLIC (decl)) -+ return align; -+ -+#ifdef DATA_ABI_ALIGNMENT -+ if (DECL_THREAD_LOCAL_P (decl)) -+ align = DATA_ABI_ALIGNMENT (TREE_TYPE (decl), align); -+#endif -+ -+ /* For decls that bind to the current definition, align_variable -+ did also everything, except for not assuming ABI required alignment -+ of TLS variables. For other vars, increase the alignment here -+ as an optimization. */ -+ if (!decl_binds_to_current_def_p (decl)) -+ { -+ /* On some machines, it is good to increase alignment sometimes. */ - #ifdef DATA_ALIGNMENT - unsigned int data_align = DATA_ALIGNMENT (TREE_TYPE (decl), align); - /* Don't increase alignment too much for TLS variables - TLS space -- is too precious. */ -+ is too precious. */ - if (! DECL_THREAD_LOCAL_P (decl) || data_align <= BITS_PER_WORD) - align = data_align; - #endif -@@ -989,9 +1056,7 @@ align_variable (tree decl, bool dont_out - #endif - } - -- /* Reset the alignment in case we have made it tighter, so we can benefit -- from it in get_pointer_alignment. */ -- DECL_ALIGN (decl) = align; -+ return align; - } - - /* Return the section into which the given VAR_DECL or CONST_DECL -@@ -1043,7 +1108,8 @@ get_variable_section (tree decl, bool pr - return bss_noswitch_section; - } - -- return targetm.asm_out.select_section (decl, reloc, DECL_ALIGN (decl)); -+ return targetm.asm_out.select_section (decl, reloc, -+ get_variable_align (decl)); - } - - /* Return the block into which object_block DECL should be placed. */ -@@ -1780,7 +1846,8 @@ emit_bss (tree decl ATTRIBUTE_UNUSED, - unsigned HOST_WIDE_INT rounded ATTRIBUTE_UNUSED) - { - #if defined ASM_OUTPUT_ALIGNED_BSS -- ASM_OUTPUT_ALIGNED_BSS (asm_out_file, decl, name, size, DECL_ALIGN (decl)); -+ ASM_OUTPUT_ALIGNED_BSS (asm_out_file, decl, name, size, -+ get_variable_align (decl)); - return true; - #endif - } -@@ -1796,10 +1863,11 @@ emit_common (tree decl ATTRIBUTE_UNUSED, - { - #if defined ASM_OUTPUT_ALIGNED_DECL_COMMON - ASM_OUTPUT_ALIGNED_DECL_COMMON (asm_out_file, decl, name, -- size, DECL_ALIGN (decl)); -+ size, get_variable_align (decl)); - return true; - #elif defined ASM_OUTPUT_ALIGNED_COMMON -- ASM_OUTPUT_ALIGNED_COMMON (asm_out_file, name, size, DECL_ALIGN (decl)); -+ ASM_OUTPUT_ALIGNED_COMMON (asm_out_file, name, size, -+ get_variable_align (decl)); - return true; - #else - ASM_OUTPUT_COMMON (asm_out_file, name, size, rounded); -@@ -1828,7 +1896,8 @@ emit_tls_common (tree decl ATTRIBUTE_UNU - NAME is the name of DECL's SYMBOL_REF. */ - - static void --assemble_noswitch_variable (tree decl, const char *name, section *sect) -+assemble_noswitch_variable (tree decl, const char *name, section *sect, -+ unsigned int align) - { - unsigned HOST_WIDE_INT size, rounded; - -@@ -1850,7 +1919,7 @@ assemble_noswitch_variable (tree decl, c - * (BIGGEST_ALIGNMENT / BITS_PER_UNIT)); - - if (!sect->noswitch.callback (decl, name, size, rounded) -- && (unsigned HOST_WIDE_INT) DECL_ALIGN_UNIT (decl) > rounded) -+ && (unsigned HOST_WIDE_INT) (align / BITS_PER_UNIT) > rounded) - warning (0, "requested alignment for %q+D is greater than " - "implemented alignment of %wu", decl, rounded); - } -@@ -1880,7 +1949,7 @@ assemble_variable_contents (tree decl, c - /* Output the actual data. */ - output_constant (DECL_INITIAL (decl), - tree_low_cst (DECL_SIZE_UNIT (decl), 1), -- DECL_ALIGN (decl)); -+ get_variable_align (decl)); - else - /* Leave space for it. */ - assemble_zeros (tree_low_cst (DECL_SIZE_UNIT (decl), 1)); -@@ -1904,6 +1973,7 @@ assemble_variable (tree decl, int top_le - const char *name; - rtx decl_rtl, symbol; - section *sect; -+ unsigned int align; - bool asan_protected = false; - - /* This function is supposed to handle VARIABLES. Ensure we have one. */ -@@ -2003,6 +2073,8 @@ assemble_variable (tree decl, int top_le - - set_mem_align (decl_rtl, DECL_ALIGN (decl)); - -+ align = get_variable_align (decl); -+ - if (TREE_PUBLIC (decl)) - maybe_assemble_visibility (decl); - -@@ -2032,12 +2104,12 @@ assemble_variable (tree decl, int top_le - place_block_symbol (symbol); - } - else if (SECTION_STYLE (sect) == SECTION_NOSWITCH) -- assemble_noswitch_variable (decl, name, sect); -+ assemble_noswitch_variable (decl, name, sect, align); - else - { - switch_to_section (sect); -- if (DECL_ALIGN (decl) > BITS_PER_UNIT) -- ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (DECL_ALIGN_UNIT (decl))); -+ if (align > BITS_PER_UNIT) -+ ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); - assemble_variable_contents (decl, name, dont_output_data); - if (asan_protected) - { -@@ -6709,10 +6781,10 @@ bool - decl_binds_to_current_def_p (tree decl) - { - gcc_assert (DECL_P (decl)); -- if (!TREE_PUBLIC (decl)) -- return true; - if (!targetm.binds_local_p (decl)) - return false; -+ if (!TREE_PUBLIC (decl)) -+ return true; - /* When resolution is available, just use it. */ - if (TREE_CODE (decl) == VAR_DECL - && (TREE_STATIC (decl) || DECL_EXTERNAL (decl))) -@@ -6730,10 +6802,20 @@ decl_binds_to_current_def_p (tree decl) - return resolution_to_local_definition_p (node->symbol.resolution); - } - /* Otherwise we have to assume the worst for DECL_WEAK (hidden weaks -- binds locally but still can be overwritten). -+ binds locally but still can be overwritten), DECL_COMMON (can be merged -+ with a non-common definition somewhere in the same module) or -+ DECL_EXTERNAL. - This rely on fact that binds_local_p behave as decl_replaceable_p - for all other declaration types. */ -- return !DECL_WEAK (decl); -+ if (DECL_WEAK (decl)) -+ return false; -+ if (DECL_COMMON (decl) -+ && (DECL_INITIAL (decl) == NULL -+ || DECL_INITIAL (decl) == error_mark_node)) -+ return false; -+ if (DECL_EXTERNAL (decl)) -+ return false; -+ return true; - } - - /* A replaceable function or variable is one which may be replaced -@@ -6959,7 +7041,7 @@ place_block_symbol (rtx symbol) - else - { - decl = SYMBOL_REF_DECL (symbol); -- alignment = DECL_ALIGN (decl); -+ alignment = get_variable_align (decl); - size = tree_low_cst (DECL_SIZE_UNIT (decl), 1); - if (flag_asan && asan_protect_global (decl)) - { ---- gcc/config/s390/s390.h (revision 199897) -+++ gcc/config/s390/s390.h (revision 199898) -@@ -221,7 +221,7 @@ enum processor_flags - - /* Alignment on even addresses for LARL instruction. */ - #define CONSTANT_ALIGNMENT(EXP, ALIGN) (ALIGN) < 16 ? 16 : (ALIGN) --#define DATA_ALIGNMENT(TYPE, ALIGN) (ALIGN) < 16 ? 16 : (ALIGN) -+#define DATA_ABI_ALIGNMENT(TYPE, ALIGN) (ALIGN) < 16 ? 16 : (ALIGN) - - /* Alignment is not required by the hardware. */ - #define STRICT_ALIGNMENT 0 ---- gcc/config/i386/i386.h (revision 199897) -+++ gcc/config/i386/i386.h (revision 199898) -@@ -859,7 +859,18 @@ enum target_cpu_default - cause character arrays to be word-aligned so that `strcpy' calls - that copy constants to character arrays can be done inline. */ - --#define DATA_ALIGNMENT(TYPE, ALIGN) ix86_data_alignment ((TYPE), (ALIGN)) -+#define DATA_ALIGNMENT(TYPE, ALIGN) \ -+ ix86_data_alignment ((TYPE), (ALIGN), true) -+ -+/* Similar to DATA_ALIGNMENT, but for the cases where the ABI mandates -+ some alignment increase, instead of optimization only purposes. E.g. -+ AMD x86-64 psABI says that variables with array type larger than 15 bytes -+ must be aligned to 16 byte boundaries. -+ -+ If this macro is not defined, then ALIGN is used. */ -+ -+#define DATA_ABI_ALIGNMENT(TYPE, ALIGN) \ -+ ix86_data_alignment ((TYPE), (ALIGN), false) - - /* If defined, a C expression to compute the alignment for a local - variable. TYPE is the data type, and ALIGN is the alignment that ---- gcc/config/i386/i386-protos.h (revision 199897) -+++ gcc/config/i386/i386-protos.h (revision 199898) -@@ -207,7 +207,7 @@ extern void init_cumulative_args (CUMULA - #endif /* RTX_CODE */ - - #ifdef TREE_CODE --extern int ix86_data_alignment (tree, int); -+extern int ix86_data_alignment (tree, int, bool); - extern unsigned int ix86_local_alignment (tree, enum machine_mode, - unsigned int); - extern unsigned int ix86_minimum_alignment (tree, enum machine_mode, ---- gcc/config/i386/i386.c (revision 199897) -+++ gcc/config/i386/i386.c (revision 199898) -@@ -25292,12 +25292,13 @@ ix86_constant_alignment (tree exp, int a - instead of that alignment to align the object. */ - - int --ix86_data_alignment (tree type, int align) -+ix86_data_alignment (tree type, int align, bool opt) - { - int max_align - = optimize_size ? BITS_PER_WORD : MIN (256, MAX_OFILE_ALIGNMENT); - -- if (AGGREGATE_TYPE_P (type) -+ if (opt -+ && AGGREGATE_TYPE_P (type) - && TYPE_SIZE (type) - && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST - && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= (unsigned) max_align -@@ -25309,14 +25310,17 @@ ix86_data_alignment (tree type, int alig - to 16byte boundary. */ - if (TARGET_64BIT) - { -- if (AGGREGATE_TYPE_P (type) -- && TYPE_SIZE (type) -- && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST -- && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 128 -- || TREE_INT_CST_HIGH (TYPE_SIZE (type))) && align < 128) -+ if ((opt ? AGGREGATE_TYPE_P (type) : TREE_CODE (type) == ARRAY_TYPE) -+ && TYPE_SIZE (type) -+ && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST -+ && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 128 -+ || TREE_INT_CST_HIGH (TYPE_SIZE (type))) && align < 128) - return 128; - } - -+ if (!opt) -+ return align; -+ - if (TREE_CODE (type) == ARRAY_TYPE) - { - if (TYPE_MODE (TREE_TYPE (type)) == DFmode && align < 64) ---- gcc/config/c6x/c6x.h (revision 199897) -+++ gcc/config/c6x/c6x.h (revision 199898) -@@ -134,7 +134,7 @@ extern c6x_cpu_t c6x_arch; - Really only externally visible arrays must be aligned this way, as - only those are directly visible from another compilation unit. But - we don't have that information available here. */ --#define DATA_ALIGNMENT(TYPE, ALIGN) \ -+#define DATA_ABI_ALIGNMENT(TYPE, ALIGN) \ - (((ALIGN) < BITS_PER_UNIT * 8 && TREE_CODE (TYPE) == ARRAY_TYPE) \ - ? BITS_PER_UNIT * 8 : (ALIGN)) - ---- gcc/config/mmix/mmix.h (revision 199897) -+++ gcc/config/mmix/mmix.h (revision 199898) -@@ -164,7 +164,7 @@ struct GTY(()) machine_function - /* Copied from elfos.h. */ - #define MAX_OFILE_ALIGNMENT (32768 * 8) - --#define DATA_ALIGNMENT(TYPE, BASIC_ALIGN) \ -+#define DATA_ABI_ALIGNMENT(TYPE, BASIC_ALIGN) \ - mmix_data_alignment (TYPE, BASIC_ALIGN) - - #define CONSTANT_ALIGNMENT(CONSTANT, BASIC_ALIGN) \ ---- gcc/config/mmix/mmix.c (revision 199897) -+++ gcc/config/mmix/mmix.c (revision 199898) -@@ -313,7 +313,7 @@ mmix_init_machine_status (void) - return ggc_alloc_cleared_machine_function (); - } - --/* DATA_ALIGNMENT. -+/* DATA_ABI_ALIGNMENT. - We have trouble getting the address of stuff that is located at other - than 32-bit alignments (GETA requirements), so try to give everything - at least 32-bit alignment. */ ---- gcc/testsuite/gcc.target/i386/memcpy-1.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/memcpy-1.c (revision 199898) -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-require-effective-target ia32 } */ --/* { dg-options "-O2 -march=pentiumpro -minline-all-stringops" } */ -+/* { dg-options "-O2 -march=pentiumpro -minline-all-stringops -fno-common" } */ - /* { dg-final { scan-assembler "rep" } } */ - /* { dg-final { scan-assembler "movs" } } */ - /* { dg-final { scan-assembler-not "test" } } */ ---- gcc/testsuite/gcc.target/i386/vect-sizes-1.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/vect-sizes-1.c (revision 199898) -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O3 -ffast-math -mavx -mtune=generic" } */ -+/* { dg-options "-O3 -ffast-math -mavx -mtune=generic -fno-common" } */ - - double a[1024]; - ---- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c (revision 199898) -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" } */ -+/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store -fno-common" } */ - - #define N 1024 - ---- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c (revision 199898) -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store" } */ -+/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store -fno-common" } */ - - #define N 1024 - ---- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c (revision 199898) -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store -mtune=generic" } */ -+/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store -mtune=generic -fno-common" } */ - - #define N 1024 - ---- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c (revision 199897) -+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c (revision 199898) -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" } */ -+/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store -fno-common" } */ - - #define N 1024 - ---- gcc/testsuite/gcc.target/i386/pr56564-1.c (revision 0) -+++ gcc/testsuite/gcc.target/i386/pr56564-1.c (revision 199985) -@@ -0,0 +1,26 @@ -+/* PR target/56564 */ -+/* { dg-do compile { target { fpic && lp64 } } } */ -+/* { dg-skip-if "No symbol interposition for PIC" { *-*-mingw* *-*-cygwin* *-*-darwin* } } */ -+/* { dg-options "-O3 -fpic -fdump-tree-optimized" } */ -+ -+struct S { long a, b; } s = { 5, 6 }; -+char t[16] = { 7 }; -+ -+int -+foo (void) -+{ -+ return ((__UINTPTR_TYPE__) &s) & 15; -+} -+ -+int -+bar (void) -+{ -+ return ((__UINTPTR_TYPE__) &t[0]) & 15; -+} -+ -+/* { dg-final { scan-tree-dump-times "&s" 1 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "&t" 0 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "return 0" 1 "optimized" } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]s:" { target { *-*-linux* } } } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]t:" { target { *-*-linux* } } } } */ -+/* { dg-final { cleanup-tree-dump "optimized" } } */ ---- gcc/testsuite/gcc.target/i386/pr56564-2.c (revision 0) -+++ gcc/testsuite/gcc.target/i386/pr56564-2.c (revision 199898) -@@ -0,0 +1,25 @@ -+/* PR target/56564 */ -+/* { dg-do compile { target { *-*-linux* && lp64 } } } */ -+/* { dg-options "-O3 -fno-pic -fdump-tree-optimized" } */ -+ -+struct S { long a, b; } s = { 5, 6 }; -+char t[16] = { 7 }; -+ -+int -+foo (void) -+{ -+ return ((__UINTPTR_TYPE__) &s) & 15; -+} -+ -+int -+bar (void) -+{ -+ return ((__UINTPTR_TYPE__) &t[0]) & 15; -+} -+ -+/* { dg-final { scan-tree-dump-times "&s" 0 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "&t" 0 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "return 0" 2 "optimized" } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]s:" { target { *-*-linux* } } } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]t:" { target { *-*-linux* } } } } */ -+/* { dg-final { cleanup-tree-dump "optimized" } } */ ---- gcc/testsuite/gcc.target/i386/pr56564-3.c (revision 0) -+++ gcc/testsuite/gcc.target/i386/pr56564-3.c (revision 199985) -@@ -0,0 +1,29 @@ -+/* PR target/56564 */ -+/* { dg-do compile { target { fpic && lp64 } } } */ -+/* { dg-skip-if "No symbol interposition for PIC" { *-*-mingw* *-*-cygwin* *-*-darwin* } } */ -+/* { dg-options "-O3 -fpic -fdump-tree-optimized" } */ -+ -+__thread struct S { long a, b; } s = { 5, 6 }; -+__thread char t[16] = { 7 }; -+ -+int -+foo (void) -+{ -+ return ((__UINTPTR_TYPE__) &s) & 15; -+} -+ -+/* For backwards compatibility we don't assume that t must -+ be aligned to 16 bytes, but align it anyway. */ -+ -+int -+bar (void) -+{ -+ return ((__UINTPTR_TYPE__) &t[0]) & 15; -+} -+ -+/* { dg-final { scan-tree-dump-times "&s" 1 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "&t" 1 "optimized" } } */ -+/* { dg-final { scan-tree-dump-times "return 0" 0 "optimized" } } */ -+/* { dg-final { scan-assembler-not ".align\[ \t]*16\[^:]*\[\n\r]s:" { target { *-*-linux* } } } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]t:" { target { *-*-linux* } } } } */ -+/* { dg-final { cleanup-tree-dump "optimized" } } */ ---- gcc/testsuite/gcc.target/i386/pr56564-4.c (revision 0) -+++ gcc/testsuite/gcc.target/i386/pr56564-4.c (revision 199898) -@@ -0,0 +1,22 @@ -+/* PR target/56564 */ -+/* { dg-do compile { target { *-*-linux* && lp64 } } } */ -+/* { dg-options "-O3 -fno-pic -fdump-tree-optimized" } */ -+ -+__thread struct S { long a, b; } s = { 5, 6 }; -+__thread char t[16] = { 7 }; -+ -+int -+foo (void) -+{ -+ return ((__UINTPTR_TYPE__) &s) & 15; -+} -+ -+int -+bar (void) -+{ -+ return ((__UINTPTR_TYPE__) &t[0]) & 15; -+} -+ -+/* { dg-final { scan-assembler-not ".align\[ \t]*16\[^:]*\[\n\r]s:" { target { *-*-linux* } } } } */ -+/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]t:" { target { *-*-linux* } } } } */ -+/* { dg-final { cleanup-tree-dump "optimized" } } */ ---- gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-vect-31.c (revision 199897) -+++ gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-vect-31.c (revision 199898) -@@ -18,7 +18,7 @@ struct s{ - struct t e; /* unaligned (offset 2N+4N+4 B) */ - }; - --struct s tmp; -+struct s tmp = { 1 }; - - int main1 () - { ---- gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c (revision 199897) -+++ gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c (revision 199898) -@@ -18,7 +18,7 @@ struct s{ - struct t e; /* unaligned (offset 2N+4N+4 B) */ - }; - --struct s tmp; -+struct s tmp = { 1 }; - - int main1 () - { ---- gcc/testsuite/gcc.dg/tree-ssa/loop-19.c (revision 200212) -+++ gcc/testsuite/gcc.dg/tree-ssa/loop-19.c (revision 200213) -@@ -6,7 +6,7 @@ - - /* { dg-do compile { target { i?86-*-* || { x86_64-*-* || powerpc_hard_double } } } } */ - /* { dg-require-effective-target nonpic } */ --/* { dg-options "-O3 -fno-tree-loop-distribute-patterns -fno-prefetch-loop-arrays -fdump-tree-optimized" } */ -+/* { dg-options "-O3 -fno-tree-loop-distribute-patterns -fno-prefetch-loop-arrays -fdump-tree-optimized -fno-common" } */ - - # define N 2000000 - double a[N],c[N]; diff --git a/gcc48-pr60010.patch b/gcc48-pr60010.patch deleted file mode 100644 index 0baa553..0000000 --- a/gcc48-pr60010.patch +++ /dev/null @@ -1,16 +0,0 @@ -2014-02-14 Kyle McMartin - - PR pch/60010 - * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64. - ---- gcc/config/host-linux.c (revision 207784) -+++ gcc/config/host-linux.c (revision 207785) -@@ -86,6 +86,8 @@ - # define TRY_EMPTY_VM_SPACE 0x60000000 - #elif defined(__mc68000__) - # define TRY_EMPTY_VM_SPACE 0x40000000 -+#elif defined(__aarch64__) -+# define TRY_EMPTY_VM_SPACE 0x1000000000 - #elif defined(__ARM_EABI__) - # define TRY_EMPTY_VM_SPACE 0x60000000 - #elif defined(__mips__) && defined(__LP64__) diff --git a/gcc48-pr60046.patch b/gcc48-pr60046.patch deleted file mode 100644 index fde6da9..0000000 --- a/gcc48-pr60046.patch +++ /dev/null @@ -1,43 +0,0 @@ -2014-02-19 Jason Merrill - - PR c++/60046 - * pt.c (maybe_instantiate_noexcept): Don't instantiate exception - spec from template context. - ---- gcc/cp/pt.c (revision 207920) -+++ gcc/cp/pt.c (revision 207921) -@@ -18567,6 +18567,10 @@ maybe_instantiate_noexcept (tree fn) - { - tree fntype, spec, noex, clone; - -+ /* Don't instantiate a noexcept-specification from template context. */ -+ if (processing_template_decl) -+ return; -+ - if (DECL_CLONED_FUNCTION_P (fn)) - fn = DECL_CLONED_FUNCTION (fn); - fntype = TREE_TYPE (fn); ---- gcc/testsuite/g++.dg/cpp0x/noexcept22.C (revision 0) -+++ gcc/testsuite/g++.dg/cpp0x/noexcept22.C (revision 207921) -@@ -0,0 +1,21 @@ -+// PR c++/60046 -+// { dg-require-effective-target c++11 } -+ -+constexpr bool foo () { return noexcept (true); } -+template -+struct V -+{ -+ void bar (V &) noexcept (foo ()) {} -+}; -+template -+struct W : public V -+{ -+ void bar (W &x) { V ::bar (x); } -+}; -+ -+int -+main () -+{ -+ W a, b; -+ a.bar (b); -+} diff --git a/gcc48-pr60137.patch b/gcc48-pr60137.patch deleted file mode 100644 index 74cd998..0000000 --- a/gcc48-pr60137.patch +++ /dev/null @@ -1,46 +0,0 @@ -2014-02-11 Michael Meissner - - PR target/60137 - * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter - for VSX/Altivec vectors that land in GPR registers. - - * gcc.target/powerpc/pr60137.c: New file. - ---- gcc/config/rs6000/rs6000.md (revision 207698) -+++ gcc/config/rs6000/rs6000.md (revision 207699) -@@ -9963,6 +9963,15 @@ (define_insn_and_split "reload_vsx_from_ - [(set_attr "length" "12") - (set_attr "type" "three")]) - -+(define_split -+ [(set (match_operand:FMOVE128_GPR 0 "nonimmediate_operand" "") -+ (match_operand:FMOVE128_GPR 1 "input_operand" ""))] -+ "reload_completed -+ && (int_reg_operand (operands[0], mode) -+ || int_reg_operand (operands[1], mode))" -+ [(pc)] -+{ rs6000_split_multireg_move (operands[0], operands[1]); DONE; }) -+ - ;; Move SFmode to a VSX from a GPR register. Because scalar floating point - ;; type is stored internally as double precision in the VSX registers, we have - ;; to convert it from the vector format. ---- gcc/testsuite/gcc.target/powerpc/pr60137.c (revision 0) -+++ gcc/testsuite/gcc.target/powerpc/pr60137.c (revision 207699) -@@ -0,0 +1,17 @@ -+/* { dg-do compile { target { powerpc*-*-* } } } */ -+/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ -+/* { dg-require-effective-target powerpc_p8vector_ok } */ -+/* { dg-options "-mcpu=power8 -O3 -mno-vsx" } */ -+ -+/* target/60137, compiler got a 'could not split insn error'. */ -+ -+extern int target_flags; -+extern char fixed_regs[53]; -+extern char call_used_regs[53]; -+ -+void init_reg_sets_1(void) -+{ -+ int i; -+ for (i = 0; i < 53; i++) -+ fixed_regs[i] = call_used_regs[i] = (call_used_regs[i] &((target_flags & 0x02000000) ? 2 : 1)) != 0; -+} diff --git a/gcc48-cloog-dl.patch b/gcc49-cloog-dl.patch similarity index 97% rename from gcc48-cloog-dl.patch rename to gcc49-cloog-dl.patch index 52b5c51..8a72509 100644 --- a/gcc48-cloog-dl.patch +++ b/gcc49-cloog-dl.patch @@ -1,6 +1,6 @@ --- gcc/Makefile.in.jj 2012-12-13 17:09:20.000000000 +0100 +++ gcc/Makefile.in 2012-12-14 11:45:22.585670055 +0100 -@@ -1022,7 +1022,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) +@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) # and the system's installed libraries. LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \ $(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS) @@ -9,10 +9,10 @@ $(ZLIB) # Any system libraries needed just for GNAT. SYSLIBS = @GNAT_LIBEXC@ -@@ -3442,6 +3442,15 @@ $(common_out_object_file): $(common_out_ - $(DIAGNOSTIC_CORE_H) $(FLAGS_H) $(OPTS_H) $(TM_H) $(TM_P_H) $(MACHMODE_H) - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) +@@ -2011,6 +2011,15 @@ $(out_object_file): $(out_file) + $(common_out_object_file): $(common_out_file) + $(COMPILE) $< + $(POSTCOMPILE) + +graphite%.o : \ + ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) @@ -27,7 +27,7 @@ # and compile them. --- gcc/graphite-poly.h.jj 2012-12-13 11:31:27.000000000 +0100 +++ gcc/graphite-poly.h 2012-12-14 13:41:41.970800726 +0100 -@@ -22,6 +22,369 @@ along with GCC; see the file COPYING3. +@@ -22,6 +22,371 @@ along with GCC; see the file COPYING3. #ifndef GCC_GRAPHITE_POLY_H #define GCC_GRAPHITE_POLY_H @@ -163,6 +163,7 @@ + DYNSYM (isl_set_is_empty); \ + DYNSYM (isl_set_max); \ + DYNSYM (isl_set_min); \ ++ DYNSYM (isl_set_n_dim); \ + DYNSYM (isl_set_nat_universe); \ + DYNSYM (isl_set_project_out); \ + DYNSYM (isl_set_set_tuple_id); \ @@ -345,6 +346,7 @@ +#define isl_set_is_empty (*cloog_pointers__.p_isl_set_is_empty) +#define isl_set_max (*cloog_pointers__.p_isl_set_max) +#define isl_set_min (*cloog_pointers__.p_isl_set_min) ++#define isl_set_n_dim (*cloog_pointers__.p_isl_set_n_dim) +#define isl_set_nat_universe (*cloog_pointers__.p_isl_set_nat_universe) +#define isl_set_project_out (*cloog_pointers__.p_isl_set_project_out) +#define isl_set_set_tuple_id (*cloog_pointers__.p_isl_set_set_tuple_id) @@ -399,7 +401,7 @@ typedef struct poly_bb *poly_bb_p; --- gcc/graphite.c.jj 2012-12-13 11:31:00.000000000 +0100 +++ gcc/graphite.c 2012-12-14 13:40:44.155136961 +0100 -@@ -66,6 +66,34 @@ along with GCC; see the file COPYING3. +@@ -78,6 +78,34 @@ along with GCC; see the file COPYING3. CloogState *cloog_state; @@ -434,11 +436,11 @@ /* Print global statistics to FILE. */ static void -@@ -264,6 +292,15 @@ graphite_transform_loops (void) +@@ -277,6 +305,15 @@ graphite_transform_loops (void) if (parallelized_function_p (cfun->decl)) return; -+ if (number_of_loops () <= 1) ++ if (number_of_loops (cfun) <= 1) + return; + + if (!init_cloog_pointers ()) @@ -448,7 +450,7 @@ + } + ctx = isl_ctx_alloc (); - isl_options_set_on_error(ctx, ISL_ON_ERROR_ABORT); + isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT); if (!graphite_initialize (ctx)) --- gcc/graphite-clast-to-gimple.c.jj 2012-12-13 11:31:27.000000000 +0100 +++ gcc/graphite-clast-to-gimple.c 2012-12-14 13:27:47.196519858 +0100 diff --git a/gcc48-cloog-dl2.patch b/gcc49-cloog-dl2.patch similarity index 100% rename from gcc48-cloog-dl2.patch rename to gcc49-cloog-dl2.patch diff --git a/gcc48-color-auto.patch b/gcc49-color-auto.patch similarity index 100% rename from gcc48-color-auto.patch rename to gcc49-color-auto.patch diff --git a/gcc48-hack.patch b/gcc49-hack.patch similarity index 100% rename from gcc48-hack.patch rename to gcc49-hack.patch diff --git a/gcc48-i386-libgomp.patch b/gcc49-i386-libgomp.patch similarity index 100% rename from gcc48-i386-libgomp.patch rename to gcc49-i386-libgomp.patch diff --git a/gcc48-java-nomulti.patch b/gcc49-java-nomulti.patch similarity index 100% rename from gcc48-java-nomulti.patch rename to gcc49-java-nomulti.patch diff --git a/gcc48-libgo-p224.patch b/gcc49-libgo-p224.patch similarity index 70% rename from gcc48-libgo-p224.patch rename to gcc49-libgo-p224.patch index 50461bc..89e06e1 100644 --- a/gcc48-libgo-p224.patch +++ b/gcc49-libgo-p224.patch @@ -1,30 +1,26 @@ ---- libgo/Makefile.am.jj 2013-12-12 19:01:49.000000000 +0100 -+++ libgo/Makefile.am 2014-02-18 17:31:54.798484657 +0100 -@@ -1109,8 +1109,7 @@ go_crypto_dsa_files = \ - go_crypto_ecdsa_files = \ +--- libgo/Makefile.am.jj 2014-01-08 13:53:06.000000000 +0100 ++++ libgo/Makefile.am 2014-03-05 15:20:09.938466093 +0100 +@@ -1133,7 +1133,6 @@ go_crypto_ecdsa_files = \ go/crypto/ecdsa/ecdsa.go go_crypto_elliptic_files = \ -- go/crypto/elliptic/elliptic.go \ -- go/crypto/elliptic/p224.go -+ go/crypto/elliptic/elliptic.go + go/crypto/elliptic/elliptic.go \ +- go/crypto/elliptic/p224.go \ + go/crypto/elliptic/p256.go go_crypto_hmac_files = \ go/crypto/hmac/hmac.go - go_crypto_md5_files = \ ---- libgo/Makefile.in.jj 2013-12-12 19:01:49.000000000 +0100 -+++ libgo/Makefile.in 2014-02-18 17:32:11.350389191 +0100 -@@ -1274,8 +1274,7 @@ go_crypto_ecdsa_files = \ - go/crypto/ecdsa/ecdsa.go +--- libgo/Makefile.in.jj 2014-01-08 13:53:06.000000000 +0100 ++++ libgo/Makefile.in 2014-03-05 15:20:20.372465471 +0100 +@@ -1291,7 +1291,6 @@ go_crypto_ecdsa_files = \ go_crypto_elliptic_files = \ -- go/crypto/elliptic/elliptic.go \ -- go/crypto/elliptic/p224.go -+ go/crypto/elliptic/elliptic.go + go/crypto/elliptic/elliptic.go \ +- go/crypto/elliptic/p224.go \ + go/crypto/elliptic/p256.go go_crypto_hmac_files = \ - go/crypto/hmac/hmac.go ---- libgo/go/crypto/elliptic/elliptic.go.jj 2012-12-13 11:32:02.640039537 +0100 -+++ libgo/go/crypto/elliptic/elliptic.go 2014-02-18 17:28:22.909692022 +0100 -@@ -327,7 +327,6 @@ var p384 *CurveParams +--- libgo/go/crypto/elliptic/elliptic.go.jj 2013-11-07 11:59:09.000000000 +0100 ++++ libgo/go/crypto/elliptic/elliptic.go 2014-03-05 15:21:04.186462859 +0100 +@@ -326,7 +326,6 @@ var p384 *CurveParams var p521 *CurveParams func initAll() { @@ -32,16 +28,16 @@ initP256() initP384() initP521() ---- libgo/go/crypto/elliptic/elliptic_test.go.jj 2012-12-13 11:32:02.640039537 +0100 -+++ libgo/go/crypto/elliptic/elliptic_test.go 2014-02-18 17:31:04.052774265 +0100 -@@ -5,329 +5,14 @@ +--- libgo/go/crypto/elliptic/elliptic_test.go.jj 2013-11-07 11:59:09.000000000 +0100 ++++ libgo/go/crypto/elliptic/elliptic_test.go 2014-03-05 15:46:03.739373453 +0100 +@@ -5,26 +5,16 @@ package elliptic import ( - "crypto/rand" - "encoding/hex" - "fmt" -- "math/big" + "math/big" "testing" ) @@ -52,274 +48,20 @@ - } -} - --type baseMultTest struct { -- k string -- x, y string --} -- + type baseMultTest struct { + k string + x, y string + } + -var p224BaseMultTests = []baseMultTest{ -- { -- "1", -- "b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", -- "bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", -- }, -- { -- "2", -- "706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6", -- "1c2b76a7bc25e7702a704fa986892849fca629487acf3709d2e4e8bb", -- }, -- { -- "3", -- "df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04", -- "a3f7f03cadd0be444c0aa56830130ddf77d317344e1af3591981a925", -- }, -- { -- "4", -- "ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301", -- "482580a0ec5bc47e88bc8c378632cd196cb3fa058a7114eb03054c9", -- }, -- { -- "5", -- "31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa", -- "27e8bff1745635ec5ba0c9f1c2ede15414c6507d29ffe37e790a079b", -- }, -- { -- "6", -- "1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408", -- "89faf0ccb750d99b553c574fad7ecfb0438586eb3952af5b4b153c7e", -- }, -- { -- "7", -- "db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28", -- "f3a30085497f2f611ee2517b163ef8c53b715d18bb4e4808d02b963", -- }, -- { -- "8", -- "858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550", -- "46dcd3ea5c43898c5c5fc4fdac7db39c2f02ebee4e3541d1e78047a", -- }, -- { -- "9", -- "2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d", -- "371732e4f41bf4f7883035e6a79fcedc0e196eb07b48171697517463", -- }, -- { -- "10", -- "aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd", -- "39bb30eab337e0a521b6cba1abe4b2b3a3e524c14a3fe3eb116b655f", -- }, -- { -- "11", -- "ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c", -- "20b510004092e96636cfb7e32efded8265c266dfb754fa6d6491a6da", -- }, -- { -- "12", -- "6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a", -- "207dddf0385bfdeab6e9acda8da06b3bbef224a93ab1e9e036109d13", -- }, -- { -- "13", -- "34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca", -- "252819f71c7fb7fbcb159be337d37d3336d7feb963724fdfb0ecb767", -- }, -- { -- "14", -- "a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa", -- "d5814cd724199c4a5b974a43685fbf5b8bac69459c9469bc8f23ccaf", -- }, -- { -- "15", -- "baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9", -- "979a5f4759f80f4fb4ec2e34f5566d595680a11735e7b61046127989", -- }, -- { -- "16", -- "b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d", -- "3399d464345906b11b00e363ef429221f2ec720d2f665d7dead5b482", -- }, -- { -- "17", -- "b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc", -- "ff149efa6606a6bd20ef7d1b06bd92f6904639dce5174db6cc554a26", -- }, -- { -- "18", -- "c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc", -- "ea98d60e5ffc9b8fcf999fab1df7e7ef7084f20ddb61bb045a6ce002", -- }, -- { -- "19", -- "a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c", -- "dcf1f6c3db09c70acc25391d492fe25b4a180babd6cea356c04719cd", -- }, -- { -- "20", -- "fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455", -- "d5d7110274cba7cdee90e1a8b0d394c376a5573db6be0bf2747f530", -- }, -- { -- "112233445566778899", -- "61f077c6f62ed802dad7c2f38f5c67f2cc453601e61bd076bb46179e", -- "2272f9e9f5933e70388ee652513443b5e289dd135dcc0d0299b225e4", -- }, -- { -- "112233445566778899112233445566778899", -- "29895f0af496bfc62b6ef8d8a65c88c613949b03668aab4f0429e35", -- "3ea6e53f9a841f2019ec24bde1a75677aa9b5902e61081c01064de93", -- }, -- { -- "6950511619965839450988900688150712778015737983940691968051900319680", -- "ab689930bcae4a4aa5f5cb085e823e8ae30fd365eb1da4aba9cf0379", -- "3345a121bbd233548af0d210654eb40bab788a03666419be6fbd34e7", -- }, -- { -- "13479972933410060327035789020509431695094902435494295338570602119423", -- "bdb6a8817c1f89da1c2f3dd8e97feb4494f2ed302a4ce2bc7f5f4025", -- "4c7020d57c00411889462d77a5438bb4e97d177700bf7243a07f1680", -- }, -- { -- "13479971751745682581351455311314208093898607229429740618390390702079", -- "d58b61aa41c32dd5eba462647dba75c5d67c83606c0af2bd928446a9", -- "d24ba6a837be0460dd107ae77725696d211446c5609b4595976b16bd", -- }, -- { -- "13479972931865328106486971546324465392952975980343228160962702868479", -- "dc9fa77978a005510980e929a1485f63716df695d7a0c18bb518df03", -- "ede2b016f2ddffc2a8c015b134928275ce09e5661b7ab14ce0d1d403", -- }, -- { -- "11795773708834916026404142434151065506931607341523388140225443265536", -- "499d8b2829cfb879c901f7d85d357045edab55028824d0f05ba279ba", -- "bf929537b06e4015919639d94f57838fa33fc3d952598dcdbb44d638", -- }, -- { -- "784254593043826236572847595991346435467177662189391577090", -- "8246c999137186632c5f9eddf3b1b0e1764c5e8bd0e0d8a554b9cb77", -- "e80ed8660bc1cb17ac7d845be40a7a022d3306f116ae9f81fea65947", -- }, -- { -- "13479767645505654746623887797783387853576174193480695826442858012671", -- "6670c20afcceaea672c97f75e2e9dd5c8460e54bb38538ebb4bd30eb", -- "f280d8008d07a4caf54271f993527d46ff3ff46fd1190a3f1faa4f74", -- }, -- { -- "205688069665150753842126177372015544874550518966168735589597183", -- "eca934247425cfd949b795cb5ce1eff401550386e28d1a4c5a8eb", -- "d4c01040dba19628931bc8855370317c722cbd9ca6156985f1c2e9ce", -- }, -- { -- "13479966930919337728895168462090683249159702977113823384618282123295", -- "ef353bf5c73cd551b96d596fbc9a67f16d61dd9fe56af19de1fba9cd", -- "21771b9cdce3e8430c09b3838be70b48c21e15bc09ee1f2d7945b91f", -- }, -- { -- "50210731791415612487756441341851895584393717453129007497216", -- "4036052a3091eb481046ad3289c95d3ac905ca0023de2c03ecd451cf", -- "d768165a38a2b96f812586a9d59d4136035d9c853a5bf2e1c86a4993", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368041", -- "fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455", -- "f2a28eefd8b345832116f1e574f2c6b2c895aa8c24941f40d8b80ad1", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368042", -- "a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c", -- "230e093c24f638f533dac6e2b6d01da3b5e7f45429315ca93fb8e634", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368043", -- "c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc", -- "156729f1a003647030666054e208180f8f7b0df2249e44fba5931fff", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368044", -- "b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc", -- "eb610599f95942df1082e4f9426d086fb9c6231ae8b24933aab5db", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368045", -- "b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d", -- "cc662b9bcba6f94ee4ff1c9c10bd6ddd0d138df2d099a282152a4b7f", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368046", -- "baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9", -- "6865a0b8a607f0b04b13d1cb0aa992a5a97f5ee8ca1849efb9ed8678", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368047", -- "a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa", -- "2a7eb328dbe663b5a468b5bc97a040a3745396ba636b964370dc3352", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368048", -- "34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca", -- "dad7e608e380480434ea641cc82c82cbc92801469c8db0204f13489a", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368049", -- "6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a", -- "df82220fc7a4021549165325725f94c3410ddb56c54e161fc9ef62ee", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368050", -- "ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c", -- "df4aefffbf6d1699c930481cd102127c9a3d992048ab05929b6e5927", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368051", -- "aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd", -- "c644cf154cc81f5ade49345e541b4d4b5c1adb3eb5c01c14ee949aa2", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368052", -- "2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d", -- "c8e8cd1b0be40b0877cfca1958603122f1e6914f84b7e8e968ae8b9e", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368053", -- "858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550", -- "fb9232c15a3bc7673a3a03b0253824c53d0fd1411b1cabe2e187fb87", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368054", -- "db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28", -- "f0c5cff7ab680d09ee11dae84e9c1072ac48ea2e744b1b7f72fd469e", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368055", -- "1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408", -- "76050f3348af2664aac3a8b05281304ebc7a7914c6ad50a4b4eac383", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368056", -- "31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa", -- "d817400e8ba9ca13a45f360e3d121eaaeb39af82d6001c8186f5f866", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368057", -- "ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301", -- "fb7da7f5f13a43b81774373c879cd32d6934c05fa758eeb14fcfab38", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368058", -- "df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04", -- "5c080fc3522f41bbb3f55a97cfecf21f882ce8cbb1e50ca6e67e56dc", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368059", -- "706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6", -- "e3d4895843da188fd58fb0567976d7b50359d6b78530c8f62d1b1746", -- }, -- { -- "26959946667150639794667015087019625940457807714424391721682722368060", -- "b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", -- "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", -- }, --} -- ++var p256BaseMultTests = []baseMultTest{ + { + "1", + "b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", +@@ -287,47 +277,12 @@ var p224BaseMultTests = []baseMultTest{ + }, + } + -func TestBaseMult(t *testing.T) { - p224 := P224() - for i, e := range p224BaseMultTests { @@ -355,8 +97,27 @@ - } -} - - func TestInfinity(t *testing.T) { - tests := []struct { + func TestP256BaseMult(t *testing.T) { + p256 := P256() + p256Generic := p256.Params() + +- scalars := make([]*big.Int, 0, len(p224BaseMultTests)+1) +- for _, e := range p224BaseMultTests { ++ scalars := make([]*big.Int, 0, len(p256BaseMultTests)+1) ++ for _, e := range p256BaseMultTests { + k, _ := new(big.Int).SetString(e.k, 10) + scalars = append(scalars, k) + } +@@ -352,7 +307,7 @@ func TestP256Mult(t *testing.T) { + p256 := P256() + p256Generic := p256.Params() + +- for i, e := range p224BaseMultTests { ++ for i, e := range p256BaseMultTests { + x, _ := new(big.Int).SetString(e.x, 16) + y, _ := new(big.Int).SetString(e.y, 16) + k, _ := new(big.Int).SetString(e.k, 10) +@@ -373,7 +328,6 @@ func TestInfinity(t *testing.T) { name string curve Curve }{ @@ -364,11 +125,10 @@ {"p256", P256()}, } -@@ -359,43 +44,3 @@ func TestInfinity(t *testing.T) { - } +@@ -406,53 +360,13 @@ func TestInfinity(t *testing.T) { } } -- + -func BenchmarkBaseMult(b *testing.B) { - b.ResetTimer() - p224 := P224() @@ -379,6 +139,18 @@ - p224.ScalarBaseMult(k.Bytes()) - } -} +- + func BenchmarkBaseMultP256(b *testing.B) { + b.ResetTimer() + p256 := P256() +- e := p224BaseMultTests[25] ++ e := p256BaseMultTests[25] + k, _ := new(big.Int).SetString(e.k, 10) + b.StartTimer() + for i := 0; i < b.N; i++ { + p256.ScalarBaseMult(k.Bytes()) + } + } - -func TestMarshal(t *testing.T) { - p224 := P224() @@ -408,8 +180,8 @@ - t.Error("P224 failed to validate a correct point") - } -} ---- libgo/go/crypto/ecdsa/ecdsa_test.go.jj 2012-12-13 11:32:02.589039782 +0100 -+++ libgo/go/crypto/ecdsa/ecdsa_test.go 2014-02-18 17:28:22.909692022 +0100 +--- libgo/go/crypto/ecdsa/ecdsa_test.go.jj 2012-11-15 18:26:56.000000000 +0100 ++++ libgo/go/crypto/ecdsa/ecdsa_test.go 2014-03-05 15:26:38.461442929 +0100 @@ -33,7 +33,6 @@ func testKeyGeneration(t *testing.T, c e } @@ -435,9 +207,9 @@ case "P-256": pub.Curve = elliptic.P256() case "P-384": ---- libgo/go/crypto/x509/x509.go.jj 2013-08-14 13:55:08.939843607 +0200 -+++ libgo/go/crypto/x509/x509.go 2014-02-18 17:28:22.943691764 +0100 -@@ -283,9 +283,6 @@ func getPublicKeyAlgorithmFromOID(oid as +--- libgo/go/crypto/x509/x509.go.jj 2013-11-07 11:59:09.000000000 +0100 ++++ libgo/go/crypto/x509/x509.go 2014-03-05 15:27:37.022439437 +0100 +@@ -305,9 +305,6 @@ func getPublicKeyAlgorithmFromOID(oid as // RFC 5480, 2.1.1.1. Named Curve // @@ -447,7 +219,7 @@ // secp256r1 OBJECT IDENTIFIER ::= { // iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3) // prime(1) 7 } -@@ -298,7 +295,6 @@ func getPublicKeyAlgorithmFromOID(oid as +@@ -320,7 +317,6 @@ func getPublicKeyAlgorithmFromOID(oid as // // NB: secp256r1 is equivalent to prime256v1 var ( @@ -455,7 +227,7 @@ oidNamedCurveP256 = asn1.ObjectIdentifier{1, 2, 840, 10045, 3, 1, 7} oidNamedCurveP384 = asn1.ObjectIdentifier{1, 3, 132, 0, 34} oidNamedCurveP521 = asn1.ObjectIdentifier{1, 3, 132, 0, 35} -@@ -306,8 +302,6 @@ var ( +@@ -328,8 +324,6 @@ var ( func namedCurveFromOID(oid asn1.ObjectIdentifier) elliptic.Curve { switch { @@ -464,7 +236,7 @@ case oid.Equal(oidNamedCurveP256): return elliptic.P256() case oid.Equal(oidNamedCurveP384): -@@ -320,8 +314,6 @@ func namedCurveFromOID(oid asn1.ObjectId +@@ -342,8 +336,6 @@ func namedCurveFromOID(oid asn1.ObjectId func oidFromNamedCurve(curve elliptic.Curve) (asn1.ObjectIdentifier, bool) { switch curve { @@ -473,7 +245,7 @@ case elliptic.P256(): return oidNamedCurveP256, true case elliptic.P384(): -@@ -1212,7 +1204,7 @@ func CreateCertificate(rand io.Reader, t +@@ -1373,7 +1365,7 @@ func CreateCertificate(rand io.Reader, t hashFunc = crypto.SHA1 case *ecdsa.PrivateKey: switch priv.Curve { @@ -482,8 +254,8 @@ hashFunc = crypto.SHA256 signatureAlgorithm.Algorithm = oidSignatureECDSAWithSHA256 case elliptic.P384(): ---- libgo/go/crypto/elliptic/p224.go.jj 2012-12-13 11:32:02.641039533 +0100 -+++ libgo/go/crypto/elliptic/p224.go 2014-02-15 11:40:56.191557928 +0100 +--- libgo/go/crypto/elliptic/p224.go.jj 2012-11-15 18:26:57.000000000 +0100 ++++ libgo/go/crypto/elliptic/p224.go 2014-03-05 15:30:01.189430842 +0100 @@ -1,765 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style @@ -1250,8 +1022,8 @@ - - return new(big.Int).SetBytes(buf[:]) -} ---- libgo/go/crypto/elliptic/p224_test.go.jj 2014-02-18 18:03:31.615598561 +0100 -+++ libgo/go/crypto/elliptic/p224_test.go 2014-02-15 11:40:56.191557928 +0100 +--- libgo/go/crypto/elliptic/p224_test.go.jj 2012-11-15 18:26:57.000000000 +0100 ++++ libgo/go/crypto/elliptic/p224_test.go 2014-03-05 15:29:58.743430988 +0100 @@ -1,47 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style @@ -1300,3 +1072,22 @@ - } - } -} +--- libgo/go/crypto/elliptic/p256.go.jj 2013-11-07 11:59:09.000000000 +0100 ++++ libgo/go/crypto/elliptic/p256.go 2014-03-05 15:34:31.910414701 +0100 +@@ -233,6 +233,8 @@ func p256ReduceCarry(inout *[p256Limbs]u + inout[7] += carry << 25 + } + ++const bottom28Bits = 0xfffffff ++ + // p256Sum sets out = in+in2. + // + // On entry, in[i]+in2[i] must not overflow a 32-bit word. +@@ -265,6 +267,7 @@ const ( + two31m2 = 1<<31 - 1<<2 + two31p24m2 = 1<<31 + 1<<24 - 1<<2 + two30m27m2 = 1<<30 - 1<<27 - 1<<2 ++ two31m3 = 1<<31 - 1<<3 + ) + + // p256Zero31 is 0 mod p. diff --git a/gcc48-libgomp-omp_h-multilib.patch b/gcc49-libgomp-omp_h-multilib.patch similarity index 100% rename from gcc48-libgomp-omp_h-multilib.patch rename to gcc49-libgomp-omp_h-multilib.patch diff --git a/gcc48-libstdc++-docs.patch b/gcc49-libstdc++-docs.patch similarity index 96% rename from gcc48-libstdc++-docs.patch rename to gcc49-libstdc++-docs.patch index 6f87ea5..dd328a2 100644 --- a/gcc48-libstdc++-docs.patch +++ b/gcc49-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 4.8.1 ++ Release 4.9.0 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -18,7 +18,7 @@ - The API documentation, rendered into HTML, can be viewed online: + The API documentation, rendered into HTML, can be viewed here: