# # spec file for package libgcj48 # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # icecream 0 %define building_libjava 1 # # spec file for package gcc48 # # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 %if %{suse_version} >= 1310 %define ada_arch %ix86 x86_64 ppc ppc64 s390 ia64 %else %define ada_arch %ix86 x86_64 ppc s390 ia64 %endif %ifarch %ada_arch %define build_ada !0%{?building_libjava:1}%{?building_libffi:1} %else %define build_ada 0 %endif %define quadmath_arch %ix86 x86_64 ia64 %define tsan_arch x86_64 %define asan_arch x86_64 %ix86 ppc ppc64 %sparc %define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc %define atomic_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 # We don't want to build java %ifarch mips %define build_java 0 %define build_libjava 0 %else %define build_java 1 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} %endif %define build_cp 1 %define build_fortran !0%{?building_libjava:1}%{?building_libffi:1} %define build_objc !0%{?building_libjava:1}%{?building_libffi:1} %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1} %define build_with_mudflap 0 %if %{build_objcp} %define build_cp 1 %define build_objc 1 %endif %if %{build_libjava} %define build_cp 1 %endif # For optional compilers only build C, C++, Fortran and Ada %if 0%{?build_optional_compiler_languages:1} %define build_java 0 %define build_libjava 0 %define build_objc 0 %define build_objcp 0 %endif # Shared library SONAME versions %ifarch hppa %define libgcc_s 4 %else %ifarch m68k %define libgcc_s 2 %else %define libgcc_s 1 %endif %endif %define libgcj_sover 14 %define libgcj_bc_sover 1 %define libffi_sover 4 %define libmudflap_sover 0 %define libgomp_sover 1 %define libstdcxx_sover 6 %define libobjc_sover 4 %define libgfortran_sover 3 %define libquadmath_sover 0 %define libasan_sover 0 %define libtsan_sover 0 %define libatomic_sover 1 %define libitm_sover 1 # Shared library package suffix # This is used for the "non-standard" set of libraries, the standard # being defined by %product_libs_gcc_ver, the GCC version that should # provide un-suffixed shared library packages following the shared-library # policy. Even suffixed variants should provide the shared-library policy # mandated names and ensure they conflict with each other. # Individual shared libraries can be directed to be built from individual # gcc versions by defining %product_libs_gcc_ver_libgcc_s1 for example, # generally %product_libs_gcc_ver_%name%sover, similarly. %define itsme48 1 %define plv_ %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} %define plv() %{expand:%%{!?itsme%{expand:%%{!?product_libs_gcc_ver_%{1}%{2}:%%{plv_}}%%{?product_libs_gcc_ver_%{1}%{2}}}:-gcc48}} %define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}} # libgcj SONAME changes with every GCC version %define libgcj_suffix %nil %define libgcj_bc_suffix %{plv libgcj_bc %{libgcj_bc_sover}} %define libffi_suffix %{plv libffi %{libffi_sover}} %define libmudflap_suffix %{plv libmudflap %{libmudflap_sover}} %define libgomp_suffix %{plv libgomp %{libgomp_sover}} %define libstdcxx_suffix %{plv libstdcxx %{libstdcxx_sover}} %define libobjc_suffix %{plv libobjc %{libobjc_sover}} %define libgfortran_suffix %{plv libgfortran %{libgfortran_sover}} %define libquadmath_suffix %{plv libquadmath %{libquadmath_sover}} %define libasan_suffix %{plv libasan %{libasan_sover}} %define libtsan_suffix %{plv libtsan %{libtsan_sover}} %define libatomic_suffix %{plv libatomic %{libatomic_sover}} %define libitm_suffix %{plv libitm %{libitm_sover}} %if %{suse_version} >= 1220 %define selfconflict() %1 %else %define selfconflict() otherproviders(%1) %endif Name: libgcj48 # With generated files in src we could drop the following BuildRequires: bison BuildRequires: flex BuildRequires: gettext-devel %if %{suse_version} > 1220 BuildRequires: makeinfo %else BuildRequires: texinfo %endif # until here, but at least renaming and patching info files breaks this BuildRequires: gcc-c++ BuildRequires: mpc-devel BuildRequires: mpfr-devel BuildRequires: perl BuildRequires: zlib-devel %if %{suse_version} >= 1230 %if %{suse_version} < 1330 %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-isl-devel BuildRequires: isl-devel %endif %endif %endif %if %{build_ada} %if %{suse_version} > 1230 %define hostsuffix %{binsuffix} BuildRequires: gcc48-ada %else %define hostsuffix %{nil} BuildRequires: gcc-ada %endif %endif %if 0%{?building_libjava:1}%{?building_testsuite:1} BuildRequires: fastjar # For building the libstdc++ API reference BuildRequires: doxygen BuildRequires: graphviz %endif %if 0%{?building_libffi:1} BuildRequires: pkg-config %endif %ifarch ia64 BuildRequires: libunwind-devel %endif %if 0%{?run_tests:1} BuildRequires: dejagnu BuildRequires: expect BuildRequires: gdb %endif %define separate_bi32 0 %define separate_bi64 0 %ifarch ppc sparcv9 # Beware, this does _not_ separate libgcj, as for that one multilibing # is inactive for the time being %define separate_bi64 1 %endif %ifarch x86_64 s390x ppc64 sparc64 %define separate_bi32 1 %endif # Define two macros to trigger -32bit or -64bit package variants %define separate_biarch 0 %if %{separate_bi32} %define separate_biarch 1 %define separate_biarch_suffix -32bit %endif %if %{separate_bi64} %define separate_biarch 1 %define separate_biarch_suffix -64bit %endif %ifarch x86_64 ia64 s390x alpha ppc64 sparc64 # 64-bit is primary build target %define build_primary_64bit 1 %else %define build_primary_64bit 0 %endif %define biarch_libjava 0 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ Version: 4.8.5 Release: 176.1 %define gcc_version %(echo %version | sed 's/+.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define binsuffix -4.8 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} Requires: binutils Requires: cpp48 = %{version}-%{release} Requires: glibc-devel Requires: libgcc_s%{libgcc_s} >= %{version}-%{release} Requires: libgomp%{libgomp_sover} >= %{version}-%{release} %if %{build_with_mudflap} Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release} Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release} %endif %ifarch %asan_arch Requires: libasan%{libasan_sover} >= %{version}-%{release} %endif %ifarch %tsan_arch Requires: libtsan%{libtsan_sover} >= %{version}-%{release} %endif %ifarch %atomic_arch Requires: libatomic%{libatomic_sover} >= %{version}-%{release} %endif %ifarch %itm_arch Requires: libitm%{libitm_sover} >= %{version}-%{release} %endif Suggests: gcc48-info gcc48-locale %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2 Source1: change_spec Source3: gcc48-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Source6: baselibs.conf Source7: libgcj48-rpmlintrc Source8: libffi48-rpmlintrc #testpatch begin Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch7: gcc-add-defaultsspec.diff Patch8: Wunprototyped-calls.diff Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch30: gcc43-no-unwind-tables.diff Patch31: libjava-aarch64-support.diff Patch32: libgcj_bc-install.patch Patch33: m68k-notice-update-cc.patch Patch34: pr58369.patch Patch36: stack-protector-aarch64.patch Patch37: function-profiling-aarch64.patch Patch38: gcc48-lto-plugin-short-readwrite.diff Patch39: gcc48-libstdc++-api-reference.patch Patch40: aarch64-vmlaq-lane-s32.diff Patch41: gcc48-bnc884738.patch Patch43: gcc48-bnc889990.patch Patch44: gcc48-aarch64-bsc948168.patch Patch45: gcc48-remove-mpfr-2.4.0-requirement.patch Patch46: gcc48-pr66306.patch Patch47: gcc48-bnc922534.patch Patch48: gcc48-aarch64-pr60010.patch Patch49: gcc48-aarch64-pr61997.patch Patch50: gcc48-bnc945842.patch Patch500: gcc48-pr65612.patch Patch501: gcc48-bnc1028744.patch # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches from IBM Patch70: gcc48-ibm-power8-bnc871635.diff Patch71: gcc48-s390x-keep-leaf-when-profiled.diff Patch72: gcc48-bnc947791.patch Patch73: gcc48-ppc-bnc949000.patch Patch74: gcc48-bnc955382.patch # Upstream backports Patch80: gcc48-bnc970009.patch Patch81: gcc48-bnc977654.patch Patch82: gcc48-bnc981311.diff Patch83: gcc48-bnc988274.patch Patch84: gcc48-bnc1011348-dr1288.patch # Patches from us Patch100: gcc48-bnc976627.patch #testpatch end Summary: Java Runtime Library for gcc License: GPL-2.0-with-classpath-exception Group: System/Libraries %if 0%{suse_version} > 1000 Recommends: libgcj48-jar = %{version}-%{release} %endif Provides: libgcj%{libgcj_sover} = %{version}-%{release} Conflicts: %selfconflict libgcj%{libgcj_sover} Provides: libgij%{libgcj_sover} = %{version}-%{release} Conflicts: %selfconflict libgij%{libgcj_sover} Provides: libgcj-tools%{libgcj_sover} = %{version}-%{release} Conflicts: %selfconflict libgcj-tools%{libgcj_sover} %description This library is needed if you want to use the GNU Java compiler, gcj. Source code for this package is in gcc. %post -n libgcj48 -p /sbin/ldconfig %postun -n libgcj48 -p /sbin/ldconfig %package -n gcc48-java Summary: The GNU Java Compiler License: GPL-3.0+ Group: Development/Languages/Java Requires: gcc48 = %{version} Requires: libgcj48-devel = %{version}-%{release} %description -n gcc48-java The Java compiler from the GCC-tools-suite. %package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} Summary: Fake library for BC-ABI compatibility. License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java # libgcj_bc is special in that it just contains a symlink to # a proper libgcj version. So require that library and add # provides for the shlib version as created at link time Requires: libgcj%{libgcj_sover} >= %{version}-%{release} %ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit) %else Provides: libgcj_bc.so.%{libgcj_bc_sover} %endif Provides: libgcj_bc%{libgcj_bc_sover} = %{version}-%{release} # Only one package may provide this - allows multiple gcc versions # to co-exist without an overly large list of provides/obsoletes Conflicts: %selfconflict libgcj_bc%{libgcj_bc_sover} %description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} A fake library that is used at link time only. It ensures that binaries built with the BC-ABI link against a constant SONAME. This way, BC-ABI binaries continue to work if the SONAME underlying libgcj.so changes. %package -n libgcj48-jar Summary: Java runtime library (jar files). License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java %description -n libgcj48-jar These are the jar files that go along with the gcj front end to gcc. %package -n libgcj48-devel Summary: Include Files and Libraries mandatory for Development. License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java Requires: glibc-devel Requires: gtk2-devel Requires: libart_lgpl-devel Requires: libgcj%{libgcj_sover} >= %{version}-%{release} Requires: libgcj48-jar = %{version}-%{release} Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release} Requires: libstdc++48-devel = %{version} Requires: zlib-devel %ifarch ia64 Requires: libunwind-devel %endif %description -n libgcj48-devel This package contains all necessary include files and libraries needed to develop applications that require these. %package -n gcc48-gij Summary: Java Bytecode Interpreter for gcc License: GPL-2.0-with-classpath-exception Group: Development/Libraries/Java Requires: libgcj%{libgcj_sover} >= %{version}-%{release} %description -n gcc48-gij This package contains the java bytecode interpreter gij and related tools. %package -n libstdc++48-doc Summary: Documentation for the GNU C++ standard library License: GPL-3.0+ Group: Documentation/HTML %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description -n libstdc++48-doc Extensive HTML documentation for the GNU C++ standard library. %package -n libffi%{libffi_sover}%{libffi_suffix} Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: libffi%{libffi_sover} = %{version}-%{release} # Only one package may provide this - allows multiple gcc versions # to co-exist without an overly large list of provides/obsoletes Conflicts: %selfconflict libffi%{libffi_sover} %description -n libffi%{libffi_sover}%{libffi_suffix} A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %post -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig %postun -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig %package -n libffi%{libffi_sover}%{libffi_suffix}-32bit Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: libffi%{libffi_sover}-32bit = %{version}-%{release} # Only one package may provide this - allows multiple gcc versions # to co-exist without an overly large list of provides/obsoletes Conflicts: %selfconflict libffi%{libffi_sover}-32bit %description -n libffi%{libffi_sover}%{libffi_suffix}-32bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig %postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig %package -n libffi%{libffi_sover}%{libffi_suffix}-64bit Summary: Foreign Function Interface library License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: libffi%{libffi_sover}-64bit = %{version}-%{release} # Only one package may provide this - allows multiple gcc versions # to co-exist without an overly large list of provides/obsoletes Conflicts: %selfconflict libffi%{libffi_sover}-64bit %description -n libffi%{libffi_sover}%{libffi_suffix}-64bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %post -n libffi%{libffi_sover}%{libffi_suffix}-64bit -p /sbin/ldconfig %postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit -p /sbin/ldconfig %package -n libffi48-devel Summary: Foreign Function Interface library development files License: BSD-3-Clause Group: Development/Languages/C and C++ Requires: libffi%{libffi_sover} >= %{version}-%{release} Provides: libffi-devel = %{version}-%{release} Conflicts: %selfconflict libffi-devel %description -n libffi48-devel A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %package -n libffi48-devel-32bit Summary: Foreign Function Interface library development files License: BSD-3-Clause Group: Development/Languages/C and C++ Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release} Provides: libffi-devel-32bit = %{version}-%{release} Conflicts: %selfconflict libffi-devel-32bit %description -n libffi48-devel-32bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %package -n libffi48-devel-64bit Summary: Foreign Function Interface library development files License: BSD-3-Clause Group: Development/Languages/C and C++ Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release} Provides: libffi-devel-64bit = %{version}-%{release} Conflicts: %selfconflict libffi-devel-64bit %description -n libffi48-devel-64bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. %package -n gcc48-testresults Summary: Testsuite results License: SUSE-Public-Domain Group: Development/Languages/C and C++ %description -n gcc48-testresults Results from running the gcc and target library testsuites. # Define the canonical target and host architecture # %gcc_target_arch is supposed to be the full target triple # %cross_arch is supposed to be the rpm target variant arch # %TARGET_ARCH will be the canonicalized target CPU part # %HOST_ARCH will be the canonicalized host CPU part %if 0%{?gcc_target_arch:1} %define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i486/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i486/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %endif %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i486/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %ifarch ppc %define GCCDIST powerpc64-pc-linux-gnu %else %ifarch %sparc %define GCCDIST sparc64-pc-linux-gnu %else %ifarch %arm %define GCCDIST %{HOST_ARCH}-pc-linux-gnu-gnueabi %else %define GCCDIST %{HOST_ARCH}-pc-linux-gnu %endif %endif %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # Versionspecific directories %define versmainlibdir %{libsubdir} %define versmainlibdirbi32 %{libsubdir}/32 %define versmainlibdirbi64 %{libsubdir}/64 %ifarch ppc %define versmainlibdirbi32 %{libsubdir} %define versmainlibdirbi64 %{libsubdir}/64 %endif %if %{build_primary_64bit} %define versmainlibdirbi %{versmainlibdirbi32} %else %define versmainlibdirbi %{versmainlibdirbi64} %endif %define mainlibdir %{_libdir} %define mainlibdirbi32 %{_prefix}/lib %define mainlibdirbi64 %{_prefix}/lib64 %if %{build_primary_64bit} %define mainlibdirbi %{mainlibdirbi32} %else %define mainlibdirbi %{mainlibdirbi64} %endif # Now define a few macros that make it easy to package libs and # related files just to the right package, without caring for the # exact path the files are in. # %mainlib package X from all dirs that belong to the main package # %biarchlib package X from all dirs that belong to the -32/64bit package %define mainlib() %{mainlibdir}/%1\ %{nil} %define biarchlib() %{nil} %if %{biarch} %if !%{separate_biarch} %define mainlib() %{mainlibdir}/%1\ %{mainlibdirbi}/%1\ %{nil} %else %define biarchlib() %{mainlibdirbi}/%1\ %{nil} %endif %endif %define versmainlib() %{versmainlibdir}/%1\ %{nil} %define versbiarchlib() %{nil} %if %{biarch} %if !%{separate_biarch} %define versmainlib() %{versmainlibdir}/%1\ %{versmainlibdirbi}/%1\ %{nil} %else %define versbiarchlib() %{versmainlibdirbi}/%1\ %{nil} %endif %endif %prep %setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision} #test patching start %patch1 %patch2 %patch3 %patch7 %patch8 %patch23 %patch24 %patch30 %patch31 %patch32 -p1 %patch33 -p1 %patch34 -p1 %patch36 -p1 %patch37 -p1 %patch38 %patch39 %patch40 %patch41 %patch43 -p1 %patch44 %if %{suse_version} < 1310 %patch45 %endif %patch46 -p1 %patch47 %patch48 -p1 %patch49 -p1 %patch50 %patch500 %patch501 %patch51 %patch55 %patch57 %patch60 %patch61 %patch70 %patch71 -p1 %patch72 %patch73 %patch74 %patch80 %patch81 %patch82 %patch83 -p1 %patch84 %patch100 #test patching end # We are configuring ppc as ppc64 but with switched multilibs. Adjust # the libstdc++ abi testsuite baseline files accordingly %ifarch ppc if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \ libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/ mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \ libstdc++-v3/config/abi/post/powerpc64-linux-gnu/ fi %endif %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Avoid fucking up testsuite results with Java and indirect dispatch export SUSE_ASNEEDED=0 # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector[^ ]*//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" # Work around tail/head -1 changes export _POSIX2_VERSION=199209 %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ %if "%{TARGET_ARCH}" == "armv7hl" # temporary workaround for a miscompilation of hash functions in java code GCJ_EXTRA_FLAGS="-marm" %endif CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --disable-plugin \ --with-pkgversion="eisfair Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --disable-java-awt \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{suse_version} > 1100 --enable-linker-build-id \ %endif %if 0%{suse_version} < 1220 --disable-initfini-array \ %endif --enable-linux-futex \ %if 0%{!?gcc_target_arch:1} --program-suffix=%{binsuffix} \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if 0%{?gcc_target_arch:1} --target=%{gcc_target_arch} \ --disable-nls \ %if 0%{?sysroot:1} --with-sysroot=%sysroot \ %else --with-sysroot=%{_prefix}/%{gcc_target_arch} \ %endif %if 0%{?build_sysroot:1} --with-build-sysroot=%{build_sysroot} \ %else %if 0%{?sysroot:1} --with-build-sysroot=%{sysroot} \ %else --with-build-sysroot=%{_prefix}/%{gcc_target_arch} \ %endif %endif %if 0%{?canonical_target:1} --with-build-time-tools=/usr/%{canonical_target}-pc-linux-gnu%{?canonical_target_abi:%canonical_target_abi}/bin \ %endif %if "%{TARGET_ARCH}" == "spu" --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif %endif %if "%{TARGET_ARCH}" == "armv5tel" --with-arch=armv5te \ --with-float=soft \ --with-mode=arm \ --with-abi=aapcs-linux \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "armv6hl" --with-arch=armv6zk \ --with-tune=arm1176jzf-s \ --with-float=hard \ --with-abi=aapcs-linux \ --with-fpu=vfp \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "armv7hl" --with-arch=armv7-a \ --with-tune=cortex-a15 \ --with-float=hard \ --with-abi=aapcs-linux \ --with-fpu=vfpv3-d16 \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le" %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ %endif %if "%{TARGET_ARCH}" == "powerpc64le" %if %{suse_version} == 1315 --with-cpu=power8 \ --with-tune=power8 \ %else --with-cpu=power7 \ --with-tune=power7 \ %endif %else --with-cpu-64=power4 \ %endif --enable-secureplt \ --with-long-double-128 \ %if "%{TARGET_ARCH}" == "powerpc64le" --enable-targets=powerpcle-linux \ --disable-multilib \ %endif %endif %if "%{TARGET_ARCH}" == "sparc64" --with-cpu=ultrasparc \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "sparc" --with-cpu=v8 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i486" --with-arch-32=i486 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i486 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" %if %{suse_version} >= 1310 --with-tune=zEC12 --with-arch=z196 \ %else --with-tune=z9-109 --with-arch=z900 \ %endif --with-long-double-128 \ --enable-decimal-float \ %endif %if "%{TARGET_ARCH}" == "s390x" %if %{suse_version} >= 1310 --with-tune=zEC12 --with-arch=z196 \ %else --with-tune=z9-109 --with-arch=z900 \ %endif --with-long-double-128 \ --enable-decimal-float \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} %if 0%{?building_libffi:1} make stage1-bubble $PARALLEL make all-target-libffi $PARALLEL %else STAGE1_FLAGS="-g" # Only run profiled bootstrap on archs where it works and matters %ifarch x86_64 ppc64le s390x make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL %else make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL %endif make info %if 0%{?building_libjava:1} make -C %{GCCDIST}/libstdc++-v3/doc doc-html-doxygen %endif %if 0%{?run_tests:1} echo "Run testsuite" (make -C %{GCCDIST}/libstdc++-v3 check-abi || true) mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum # asan needs a whole shadow address space ulimit -v unlimited || true make -k check $PARALLEL || true mkdir ../testresults ../contrib/test_summary | tee ../testresults/test_summary.txt %endif %endif %install export NO_BRP_CHECK_BYTECODE_VERSION=true cd obj-%{GCCDIST} # Work around tail/head -1 changes export _POSIX2_VERSION=199209 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi} %if 0%{?building_libffi:1} make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT %else %if 0%{?building_libjava:1} make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)' # copy the libstdc++ API reference cp -r %{GCCDIST}/libstdc++-v3/doc/doxygen/html ../libstdc++-v3/doc/html/api # install-common also installs collect2, gcov and the g++ and gfortran driver %if %{build_cp} rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix} %endif %if %{build_fortran} rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix} %endif rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix} rm $RPM_BUILD_ROOT%{libsubdir}/collect2 %else make install DESTDIR=$RPM_BUILD_ROOT %if %{build_java} make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix} rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1 rm $RPM_BUILD_ROOT%{libsubdir}/jc1 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain %endif %endif %endif # Remove libffi installed files if we did not want to build it %if !0%{?building_libffi:1} rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.* %if %{biarch} rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.* %endif rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3* rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3* rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3* rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3* %endif # Remove some useless .la files for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \ libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \ libasan libatomic libitm libtsan; do rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la %if %{biarch} rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la %endif done mkdir -p $RPM_BUILD_ROOT%{_libdir} %if %{biarch} %if %{build_primary_64bit} mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib %else mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 %endif %endif # move shared libs from versionspecific dir to main libdir for libname in \ %if 0%{?building_libjava:1} libgcj libgij libgcj-tools \ %else %if %{build_fortran} libgfortran \ %ifarch %quadmath_arch libquadmath \ %endif %endif %if %{build_objc} libobjc \ %endif %if %{build_cp} libstdc++ \ %endif libgomp \ %ifarch %atomic_arch libatomic \ %endif %ifarch %itm_arch libitm \ %endif %ifarch %asan_arch libasan \ %endif %ifarch %tsan_arch libtsan \ %endif %if %{build_with_mudflap} libmudflap libmudflapth \ %endif %endif ; do for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do mv $lib $RPM_BUILD_ROOT%{mainlibdir}/ done ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so %if %{biarch} if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/ done ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so fi %endif done # FIXME, tsan is not multilib %ifarch %tsan_arch %if %{biarch} rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so %endif %endif %if %{build_cp} %if !0%{?building_libjava:1} # And we want to move the shlib gdb pretty printers to a more sane # place so ldconfig does not complain mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir} mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py %if %{biarch} if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi} mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py fi %endif %endif %endif %if 0%{?building_libjava:1} # libgcj_bc is special as the .so file is actually a different # library as the library refered to by the SONAME which should # be a simple link to our libgcj. for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do rm $lib done ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover} %if %{biarch_libjava} for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do rm $lib done ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover} %endif %endif %if %{build_ada} mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir} ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so %if %{biarch} mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/ ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so %endif %endif rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix} # Remove some crap from the .la files: for l in `find $RPM_BUILD_ROOT -name '*.la'`; do echo "changing $l" # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \ -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ -e '/^dependency_libs/s|-L[^ ]* ||g' \ %if %{biarch} %if %{build_primary_64bit} -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ -e '/^libdir/s|lib64/\.\./||' \ %else -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \ %endif %endif < $l > $l.new mv $l.new $l done %if 0%{?run_tests:1} cp `find . -name "*.sum"` ../testresults/ cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/ chmod 644 ../testresults/* %endif %if %{build_cp} # Find C++ and Java headers find $RPM_BUILD_ROOT%{_prefix}/include/c++ \ -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \ -o \( -type d -printf "%%%%dir " , \ -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers %endif # Remove files that we do not need to clean up filelist rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-* rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux/a.out.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-generic/socket.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits/mathdef.h rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys/ucontext.h # no plugins rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} %if !0%{?building_libjava:1}%{?building_libffi:1} # delete compile flag tracking from crt files crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o %if %{biarch} %if %{build_primary_64bit} crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o %else crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o %endif %endif for o in $crt_list $crt32_list $crt64_list; do objcopy -R ".comment.SUSE.OPTs" $o done %endif %if 0%{?building_libjava:1} # gcj -static doesn't work properly anyway, unless using --whole-archive # let's save the space instead. find $RPM_BUILD_ROOT -name libgcj.a \ -o -name libgcj-tools.a \ -o -name libgij.a \ -o -name libjvm.a \ -o -name libgcj_bc.a \ | xargs rm -f find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' # security files have broken install locations, also they cause conflicts # between libgcj versions. Simply delete them here, libgcj will use its # defaults in this case (which is what these files contain anyway). rm $RPM_BUILD_ROOT%{_libdir}/logging.properties rm -r $RPM_BUILD_ROOT%{_libdir}/security %endif %if 0%{?building_libffi:1} # Move libffi headers, remove empty libffi libtool file mkdir -p $RPM_BUILD_ROOT%{_prefix}/include mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la %if %{biarch} rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la %endif # Generate a simple pkg-config file mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig echo -e 'Name: libffi\nVersion: 3.0.11\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc %endif %if %{build_java} %if !%{build_libjava} rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1 %endif rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py %endif rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a %if %{biarch} %if %{build_primary_64bit} rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a %else rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a %endif %endif rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la %if 0%{?building_libjava:1} # For building libjava only we need to delete other info docs rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info* # Remove stale manpages for binaries we do not build rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1 # For building the java frontend we need to copy the ecj jar mkdir -p $RPM_BUILD_ROOT%{libsubdir} cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir} %else # For regular build, some info files do not get renamed properly. # Do so here. mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info %ifarch %itm_arch mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info %endif %if %{build_fortran} %ifarch %quadmath_arch mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info %endif %endif %if %{build_ada} mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info %endif %endif %if %{build_java} %if 0%{?building_libjava:1} %files -n gcc48-java %defattr(-,root,root) %{_prefix}/bin/gcj%{binsuffix} %{_prefix}/bin/gcjh%{binsuffix} %{_prefix}/bin/gcj-dbtool%{binsuffix} %{_prefix}/bin/jcf-dump%{binsuffix} %{_prefix}/bin/jv-convert%{binsuffix} %{_prefix}/bin/gc-analyze%{binsuffix} %{_prefix}/bin/aot-compile%{binsuffix} %{_prefix}/bin/rebuild-gcj-db%{binsuffix} %{libsubdir}/jc1 %{libsubdir}/jvgenmain %{libsubdir}/ecj.jar %{libsubdir}/ecj1 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz %endif %endif %if %{build_java} %if %{build_libjava} %files %defattr(-,root,root) %dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover} %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{GCCDIST} %dir %{libsubdir} %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db # We usually do not multilib libjava %if %{biarch_libjava} %versbiarchlib libgcj.la %biarchlib libgcj.so.* %biarchlib libgij.so.* %biarchlib libgcj-tools.so.* %else %versmainlib libgcj.la %mainlib libgcj.so.* %mainlib libgij.so.* %mainlib libgcj-tools.so.* %endif %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix} %defattr(-,root,root) %if %{biarch_libjava} %biarchlib libgcj_bc.so.%{libgcj_bc_sover}* %else %mainlib libgcj_bc.so.%{libgcj_bc_sover}* %endif %files -n libgcj48-jar %defattr(-,root,root) %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar %files -n libgcj48-devel %defattr(-,root,root) %dir %{_prefix}/include/c++ %dir %{libsubdir} %dir %{libsubdir}/include %dir %{gxxinclude} %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc %{libsubdir}/include/jawt.h %{libsubdir}/include/jawt_md.h %{libsubdir}/include/jni.h %{libsubdir}/include/jni_md.h %{libsubdir}/include/jvmpi.h %{gxxinclude}/gnu %{gxxinclude}/gcj %{gxxinclude}/java %{gxxinclude}/javax %{gxxinclude}/org %{gxxinclude}/sun %{libsubdir}/include/gcj %if %{biarch_libjava} %versbiarchlib libgcj.so %versbiarchlib libgcj.spec %versbiarchlib libgcj-tools.so %versbiarchlib libgij.so %versbiarchlib libgcj_bc.so %else %versmainlib libgcj.so %versmainlib libgcj.spec %versmainlib libgcj-tools.so %versmainlib libgij.so %versmainlib libgcj_bc.so %endif %files -n gcc48-gij %defattr(-,root,root) %{_prefix}/bin/gij%{binsuffix} %{_prefix}/bin/gappletviewer%{binsuffix} %{_prefix}/bin/gjar%{binsuffix} %{_prefix}/bin/gjarsigner%{binsuffix} %{_prefix}/bin/gjavah%{binsuffix} %{_prefix}/bin/gkeytool%{binsuffix} %{_prefix}/bin/gnative2ascii%{binsuffix} %{_prefix}/bin/gorbd%{binsuffix} %{_prefix}/bin/grmic%{binsuffix} %{_prefix}/bin/grmid%{binsuffix} %{_prefix}/bin/grmiregistry%{binsuffix} %{_prefix}/bin/gserialver%{binsuffix} %{_prefix}/bin/gtnameserv%{binsuffix} %doc %{_mandir}/man1/gij%{binsuffix}.1.gz %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz %endif %endif %if 0%{?building_libjava:1} %files -n libstdc++48-doc %defattr(-,root,root) %doc libstdc++-v3/doc/html %endif %if %{build_java} %if 0%{?building_libffi:1} %files -n libffi%{libffi_sover}%{libffi_suffix} %defattr(-,root,root) %mainlib libffi.so.%{libffi_sover}* %if %{separate_biarch} %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix} %defattr(-,root,root) %biarchlib libffi.so.%{libffi_sover}* %endif %post -n libffi48-devel %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz %postun -n libffi48-devel %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz %files -n libffi48-devel %defattr(-,root,root) %{_prefix}/include/ffi.h %{_prefix}/include/ffitarget.h %mainlib libffi.so %mainlib libffi.a %{_libdir}/pkgconfig/libffi.pc %doc %{_infodir}/libffi%{binsuffix}.info.gz %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz %if %{separate_biarch} %files -n libffi48-devel%{separate_biarch_suffix} %defattr(-,root,root) %biarchlib libffi.so %biarchlib libffi.a %endif %endif %endif %if 0%{?run_tests:1} %files -n gcc48-testresults %defattr(-,root,root) %doc testresults/test_summary.txt %doc testresults/*.sum %doc testresults/*.log %endif %changelog * Fri Mar 31 2017 rguenther@suse.com - Fix ExclusiveArch for aarch64 crosses. * Wed Mar 22 2017 rguenther@suse.com - Bump libffi version in libffi.pc to 3.0.11. * Fri Mar 10 2017 rguenther@suse.com - Add gcc48-bnc1028744.patch to properly diagnose missing - fsanitize=address support on ppc64le. [bnc#1028744] * Mon Jan 30 2017 rguenther@suse.com - Backport patch for PR65612. [bnc#1022062] * Mon Nov 21 2016 rguenther@suse.com - Add patch gcc48-bnc1011348-dr1288.patch for DR#1288. [bnc#1011348] * Fri Sep 30 2016 matwey.kornilov@gmail.com - Apply patch gcc48-bnc988274.patch for fixing libffi issue for armv7l. [bnc#988274] * Mon Sep 26 2016 rguenther@suse.com - Add patch gcc48-bnc988274.patch for fixing libffi issue for armv7l. [bnc#988274] * Thu Jul 28 2016 matz@suse.com - Add patch gcc48-bnc981311.diff for fixing a kernel miscompile on aarch64. [bnc #981311] * Fri Apr 29 2016 matz@suse.com - Add patch gcc48-bnc976627.patch for fixing a ppc64le ICE. [bnc #976627] * Thu Apr 28 2016 rguenther@suse.com - Add gcc48-bnc977654.patch to fix issue with using gcov and #pragma pack. [bnc#977654] * Thu Mar 10 2016 rguenther@suse.com - Add gcc48-bnc970009.patch to fix samba build on AARCH64. [bnc#970009] * Fri Feb 12 2016 rguenther@suse.com - Build without GRAPHITE where cloog-isl is not available. * Tue Nov 17 2015 rguenther@suse.com - Add gcc48-bnc955382.patch to fix HTM builtins on powerpc. [bnc#955382] * Tue Oct 6 2015 rguenther@suse.com - Add gcc48-ppc-bnc949000.patch to fix build of SLOF. [bnc#949000] * Mon Oct 5 2015 rguenther@suse.com - Add gcc48-bnc945842.patch to fix C++11 std::random_device short reads, CVE-2015-5276. [bnc#945842] * Wed Sep 30 2015 rguenther@suse.com - Add gcc48-aarch64-bsc948168.patch to fix libffi issues on aarch64. [bsc#948168] * Tue Sep 29 2015 rguenther@suse.com - Add gcc48-bnc947791.patch to fix no_instrument_function attribute handling on PPC64 with -mprofile-kernel. [bsc#947791] * Mon Sep 28 2015 dmueller@suse.com - add gcc48-aarch64-pr60010.patch, gcc48-aarch64-pr61997.patch [bsc#947772] * Tue Jul 14 2015 rguenther@suse.com - Enable 32bit code generation for ppc64le but do not build 32bit target libraries. Fixes ppc64le kernel compile. * Tue Jun 23 2015 rguenther@suse.com - Update to GCC 4.8.5 release. * Fixes bogus integer overflow in constant expression. [bnc#934689] * Fixes ICE with atomics on aarch64. [bnc#930176] - Add patch gcc48-pr66306.patch for reload issue on S390. - Add patch to keep functions leaf when they are instrumented for profiling on s390[x]. [bnc#899871] - Add patch gcc48-bnc922534.patch to avoid accessing invalid memory when passing aggregates by value. [bnc#922534] - Add patch gcc48-s390x-keep-leaf-when-profiled.diff for kgraft. [bnc #899871] * Mon Jun 1 2015 rguenther@suse.com - Fix build against SLE11 SP4. [fate#317926] * Build without GRAPHITE support where isl and cloog-isl are not available. * Where mpfr 2.4.0 is not available disable the few features requiring it to allow building with mpfr 2.3.2, gcc48-remove-mpfr-2.4.0-requirement.patch. * Disable Ada build for ppc64. * Thu Apr 23 2015 rguenther@suse.com - Build s390[x] with --with-tune=z9-109 --with-arch=z900 on SLE11 again. [bnc#927993] * Mon Apr 20 2015 rguenther@suse.com - Remove obsolete libsanitizer-tsan-res-state.patch * Fri Mar 27 2015 rguenther@suse.com - Update to gcc-4_8-branch head (r221715). * Includes GCC 4.8.4 release. * Includes fix for -imacros bug. [bnc#917169] * Includes fix for incorrect -Warray-bounds warnings. [bnc#919274] * Includes updated -mhotpatch for s390x. [bnc#924525] * Includes fix for ppc64le issue with doubleword vector extract. [bnc#924687] - Add gcc48-bnc889990.patch to backport rework of the memory allocator for C++ exceptions used in OOM situations. [bnc#889990] * Mon Mar 2 2015 schwab@suse.de - libsanitizer-tsan-res-state.patch: Remove invalid use of glibc internals * Mon Dec 8 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r218481). * Includes patches to allow building against ISL 0.14. * Includes patches gcc48-bnc887141.patch, gcc48-ppc64le-abi-warnings.diff, gcc48-ppc64le-abi-warnings-fix.diff and gcc48-libgfortran-CVE-2014-5044.diff. * Tue Oct 28 2014 dmueller@suse.com - add aarch64-vmlaq-lane-s32.diff * Fri Aug 1 2014 rguenther@suse.com - Add patch gcc48-libgfortran-CVE-2014-5044.diff to fix integer overflows in libgfortran, CVE-2014-5044. [bnc#888791] * Mon Jul 28 2014 rguenther@suse.com - Add patch gcc48-ppc64le-abi-warnings-fix.diff to fix failure to link any Objective-C/C++ program on ppc64le. [ggo#61920] * Fri Jul 25 2014 rguenther@suse.com - Add patch gcc48-ppc64le-abi-warnings.diff to warn about future ABI changes for ppc64le. [bnc#888907] * Wed Jul 16 2014 rguenther@suse.com - Add patch gcc48-bnc887141.patch to fix INTERNAL_SYSCALL_NCS miscompile in glibc. [bnc#887141] - Add patch gcc48-bnc884738.patch to fix kernel atomic_dec_and_test miscompile. [bnc#884738] * Fri Jun 27 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r212056) * Fixes ppc64le miscompile with VSX vector extracts. [bnc#884628] * Fixes -march=native behavior when running in QEMU/KVM. [ggo#61570] * Fixes wrong-code on i686 with int to double conversions. [ggo#61423] * Fixes wrong-code on aarch64 for TLS accesses. [ggo#61545] * Thu Jun 26 2014 rguenther@suse.com - Add libgcj48-rpmlintrc and libffi48-rpmlintrc as sources. * Thu Jun 12 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r211485). * Fixes ppc64le V1TI memory operation miscompile. [bnc#882300] * Fixes ppc64le miscompile of calls to K&R functions. [ggo#61300] * Thu May 22 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r210846). * Includes GCC 4.8.3 release. * Fixes ppc64le HTM ttest code generation. [bnc#879504] - Fix libstdc++48-doc build conditional to really only build from libgcj48.spec. * Fri May 16 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r210488). * pulls GCC 4.8.3 release candidate * pulls fix for ppc64le ABI incompatibility with s390 for HTM. [bnc#878065] * Tue May 13 2014 rguenther@suse.com - Build libstdc++48-doc package from the libgcj48 build and build the libstdc++ API reference, build-requiring doxygen and graphviz. Add patch gcc48-libstdc++-api-reference.patch to refer to that instead of the online version. [bnc#871501] * Mon Apr 7 2014 rguenther@suse.com - Update to gcc-4_8-brach head (r209122). * pulls official backport of ppc64le support * drops gcc48-ibm-power8.diff, gcc48-ibm-power8-testsuite.diff, gcc48-ibm-power8-other.diff, gcc48-pr59844.diff, gcc48-ibm-power8-fixes1.diff, gcc48-ibm-power8-fixes2.diff, gcc48-ibm-power8-disable-sanitizer.diff, gcc48-ibm-power8-testsuite-fixes1.diff and gcc48-ibm-power8-fixes3.diff - tls-no-direct.diff, fix to only affect %%ix86 similar to SLE11. [bnc#185782] - refresh gcc41-ppc32-retaddr.patch - Drop old compatibility provide and conflict of/with libgcc%%{libgcc_s} * Fri Apr 4 2014 rguenther@suse.com - gcc48-ibm-power8-bnc871635.diff, fix glibc math testsuite. [bnc#871635] - gcc48-lto-plugin-short-readwrite.diff, backport lto-plugin changes to work more reliably in virtualized environments. * Mon Mar 24 2014 rguenther@suse.com - Update to gcc-4_8-brach head (r208789). * pulls latest fixes * Sun Mar 23 2014 schwab@linux-m68k.org - Use power8 code generation only for ppc64le. * Thu Mar 6 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r208375). * fixes issues with transactional memory support - Backport patch to disable sanitizer support for powerpc64le, gcc48-ibm-power8-disable-sanitizer.diff - Document IBM svn branch revision range for gcc48-ibm-power8-fixes2.diff. - Change -Wunprototyped-calls from being enabled by default to be enabled with -Wall to solve GCC testsuite fallout. - Cherry-pick testsuite fix from IBM svn branch, gcc48-ibm-power8-testsuite-fixes1.diff - Pickup more fixes from IBM svn branch, up to r208288, gcc48-ibm-power8-fixes3.diff * Thu Feb 27 2014 rguenther@suse.com - Fix typo in libgcj_bc suffix computation. * Tue Feb 25 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r208119). * Obsoletes gcc48-pr59860.diff - Add gcc48-ibm-power8-fixes2.diff, more Power8 fixes from IBM, drop gcc48-ibm-power8-pr60137.diff contained therein. * Wed Feb 19 2014 rguenther@suse.com - Drop sap303956-uchar.diff to not shadow full uchar.h provided by glibc since version 2.16. * Mon Feb 17 2014 rguenther@suse.com - Enable profiledbootstrap for x86_64, s390x and ppc64le. [bnc#863962] * Wed Feb 12 2014 rguenther@suse.com - Add gcc48-ibm-power8-pr60137.diff from IBM to fix ICE with - mno-vsx on Power8. [bnc#863462] * Tue Feb 4 2014 schwab@suse.de - stack-protector-aarch64.patch: enable support for -fstack-protector on arm64 - function-profiling-aarch64.patch: enable support for function profiling on arm64 * Tue Jan 28 2014 rguenther@suse.com - Pull gcc48-ibm-power8.diff from IBM to fix quad-word memory accesses for litte endian power8 for real. [bnc#860405] - Revert previous changes to gcc48-ibm-power8.diff. * Sun Jan 19 2014 matz@suse.de - Disable quad-word memory accesses for little endian power8 (modified patches: gcc48-ibm-power8.diff) - Enable power8 code generation for repos named "power8". * Fri Jan 17 2014 rguenther@suse.com - Update to gcc-4_8-branch head (r206703). * pulls fixes for PR58139 (ppc64le) and PR59803 (s390x) * reverts change causing x86 ABI breakage - gcc48-pr59844.diff: Add backport fixing power8 ppc64le bootstrap issue. - gcc48-pr59860.diff: Add backport fixing s390x ICEs. * Thu Jan 9 2014 rguenther@suse.com - Update to gcc-4_8-banch head (r206511). - gcc48-ibm-power8.diff, gcc48-ibm-power8-testsuite.diff, gcc48-ibm-power8-other.diff: Add backport for Power8 support. [fate#315446] - Add support for building for ppc64le. * Fri Dec 20 2013 rguenther@suse.com - Fix include-fixed removals. * Thu Dec 19 2013 rguenther@suse.com - Update to gcc-4_8-branch head (r206104). * Thu Dec 12 2013 schwab@suse.de - Wunprototyped-calls.diff: properly initialize warning * Tue Dec 10 2013 rguenther@suse.com - Update to gcc-4_8-branch head (r205850). * Mon Dec 9 2013 rguenther@suse.com - Cleanup include-fixed removals. * Thu Dec 5 2013 rguenther@suse.com - Fix icecream environments to include required shared libraries again. * Thu Nov 28 2013 rguenther@suse.com - Enhance suffixing of shared library packages to individual packages via %%product_libs_gcc_ver_$shlib$sover. * Sun Nov 17 2013 schwab@suse.de - pr58369.patch: Add backport of PR58369 * Wed Nov 13 2013 rguenther@suse.com - Disable new cross-compilers and use the icecream fallback again for now. * Mon Nov 4 2013 rguenther@suse.com - Change s390 and s390x to use -march=z196 -mtune=zEC12 by default. [fate#315297] * Mon Oct 28 2013 schwab@suse.de - m68k-notice-update-cc.patch: handle register conflict with PRE_DEC * Wed Oct 23 2013 rguenther@suse.com - Restructure cross compiler spec files. Build cross compilers and icecream backends from a single spec, when targeting * -pc-linux-gnu-gnu then use an available target glibc for building. * Wed Oct 16 2013 rguenther@suse.com - Update to GCC 4.8.2 release. [fate#315333, fate#315288] - Change package version scheme to use the SVN revision number instead of a date. * Wed Oct 16 2013 rguenther@suse.com - Change ppc and ppc64 compilers to default to code generation for power7 CPUs. [fate#315448] * Wed Oct 9 2013 schwab@suse.de - Add support for m68k: set libgcc_s to 2, enable libatomic and disable multilibs * Wed Oct 2 2013 idonmez@suse.com - Transactional memory on s390{x} is now supported with gcc 4.8, hence put s390{x} in itm_arch and fix filelist for those arches. * Wed Oct 2 2013 rguenther@suse.com - Avoid /bin/sh pre-requirement in shared library packages by using %%post[un] -p. [bnc#843331] * Thu Sep 12 2013 adrian@suse.de - openSUSE:Factroy:ARM switched to armv6 in favor of armv5 * enable cross armv6hl compiler * disable cross armv5tel compiler * Mon Sep 9 2013 rguenther@suse.com - Update to gcc-4_8-branch head (r202388). - Backports regression fixes for all architectures. * includes changes in aarch64-pthread-option.patch * Wed Sep 4 2013 rguenther@suse.com - Fix requires of gcc-32bit/gcc-64bit to include itm/atomic/asan/tsan libraries. [bnc#838229] * Tue Aug 6 2013 matz@suse.com - Update to current 4.8 branch (r201525) - Backports of bugfixes for i686, aarch64 and s390. - Addition of support of transactional memory for s390. * Thu Jul 11 2013 matz@suse.com - Update to current 4.8 branch (r200903) lot of back ports of bug fixes. * Thu Jul 11 2013 schwab@suse.de - Add aarch64-pthread-option.patch; Define _REENTRANT with -pthread on aarch64. * Mon Jul 8 2013 jengelh@inai.de - Deal with lib{asan,atomic,itm} that are generated on sparcv9/64 too. * Sat Jul 6 2013 coolo@suse.com - build against gcc48-ada * Wed Jul 3 2013 dmueller@suse.com - fix typo in last change * Sat Jun 29 2013 dmueller@suse.com - add armv6hl support (Tune for arm1176jzfs) - Update armv7hl tuning target to Cortex A15 - Remove temporary armv7l target * Tue Jun 4 2013 rguenther@suse.com - Update to GCC 4.8.1 release. * Lots of bugfixes. - Remove broken aarch64 cross-compiler target. * Thu May 23 2013 rguenther@suse.com - Only enable build of icecream backends for x86_64, ppc64, ia64 and s390x. - Do not build a ppc64->ppc icecream backend as that does not work. * Tue May 21 2013 rguenther@suse.com - Update to GCC 4.8.1 release candidate 1 (r199136). * Mon Apr 29 2013 rguenther@suse.com - Update to gcc-4_8-branch head (r198420). * Initial round of bugfixes - Enable release checking only. * Wed Apr 17 2013 schwab@suse.de - libgcj_bc-install.patch: Fix installation of libgcj_bc - Remove markers from generated spec files to avoid leaking them into scripts * Tue Apr 16 2013 schwab@suse.de - libjava-aarch64-support.diff: Enable java for aarch64 * Thu Apr 4 2013 rguenther@suse.com - Split libstdc++6-locale package from gcc48-locale and add proper conflicts. * Fri Mar 29 2013 schwab@suse.de - Fix libffi48-devel filelist * Thu Mar 28 2013 rguenther@suse.com - Adjust self-conflicts to use otherproviders() on openSUSE 12.1 and earlier. [bnc#812079] * Fri Mar 22 2013 rguenther@suse.com - Update to GCC 4.8.0 release. * Wed Mar 20 2013 rguenther@suse.com - Drop suse-record-gcc-opts.diff. * Wed Mar 20 2013 rguenther@suse.com - Adjust gcc48 rpmlintrc to ignore errors about suffixed shared library names. - Add rpmlintrc to libffi48 and libgcj48 packages for the same reason. * Mon Mar 18 2013 rguenther@suse.com - Update to first GCC 4.8.0 release candidate (r196783). * Fri Mar 15 2013 rguenther@suse.com - Dependent on %%product_libs_gcc_ver suffix shared library packages with -gcc48. - Adjust shared library package provides and conflicts. * Mon Mar 11 2013 rguenther@suse.com - Update to GCC trunk head (r196547). * Tue Mar 5 2013 rguenther@suse.com - Ship arm_neon.h for aarch64. - Drop -g from STAGE1_CFLAGS, do not use special-case STAGE1_CFLAGS for arm. * Tue Feb 26 2013 rguenther@suse.com - Update to GCC trunk head (r196281). * Mon Feb 18 2013 rguenther@suse.com - Update to GCC trunk head (r196121). * Fri Feb 8 2013 rguenther@suse.com - Update to GCC trunk head (r195885). * Thu Jan 31 2013 dmueller@suse.com - Add arm to itm/atomic_arches list * Thu Jan 17 2013 rguenther@suse.com - Update to GCC trunk head (r195262). - Remove unzip dependency for building libgcj. - Do not build Fortran or Objective C when building libgcj. * Wed Jan 9 2013 rguenther@suse.com - Update to GCC trunk head (r195049). * Sun Dec 23 2012 schwab@linux-m68k.org - Fix installation of gnat_ugn manual - Fix info references in dir file * Thu Dec 20 2012 rguenther@suse.com - Update to GCC trunk head (r194635). - Fixup cross.spec.in. * Wed Dec 19 2012 rguenther@suse.com - Update to GCC trunk head (r194606). * Mon Dec 17 2012 rguenther@suse.com - Update to GCC trunk head (r194556). - Fixup cross.spec.in and icecream-cross.spec.in. - Add aarch64 icecream and cross compiler target. * Fri Dec 14 2012 rguenther@suse.com - Update to GCC trunk head (r194496). * Wed Dec 12 2012 rguenther@suse.com - Update to GCC trunk head (r194442). * Tue Dec 11 2012 rguenther@suse.com - New package, created from GCC trunk head (r194392), which will develop to GCC 4.8.0. * Adds libatomic1 and libitm1 sub-packages for transactional memory * Adds libasan0 and libtsan0 sub-packages for address and thread sanitizing