%bcond_with check # version of tarball %global gcc_version 10.2.0 %global gcc_major 10 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. %global gcc_release 1%{?_dist_release} #global _unpackaged_files_terminate_build 0 %{?!_fmoddir: %global _fmoddir %{_libdir}/gfortran/modules} %global multilib_64_archs sparc64 ppc64 s390x x86_64 %global build_objc 1 # %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha # %global build_ada 1 # %else %global build_ada 0 # %endif %global build_java 0 %ifarch %{ix86} x86_64 %{arm} %global build_go 1 %global go_soversion 16 %else %global build_go 0 %endif %ifarch %{ix86} x86_64 ia64 %global build_libquadmath 1 %else %global build_libquadmath 0 %endif %ifarch %{ix86} x86_64 ppc ppc64 %global build_libasan 1 %else %global build_libasan 0 %endif %ifarch x86_64 %global build_libtsan 1 %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} aarch64 %global build_libubsan 1 %else %global build_libubsan 0 %endif %ifarch %{ix86} x86_64 ppc ppc64 %{arm} %global build_libatomic 1 %else %global build_libatomic 0 %endif %ifarch %{ix86} x86_64 %{arm} ppc ppc64 %global build_libitm 1 %else %global build_libitm 0 %endif %global build_isl 1 %global isl_soversion 23 %ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %global attr_ifunc 1 %else %global attr_ifunc 0 %endif # %global build_cloog 1 %global build_cloog 0 %global build_libstdcxx_docs 1 # If you don't have already a usable gcc-java and libgcj for your arch, # do on some arch which has it rpmbuild -bc --with java_tar gcc.spec # which creates libjava-classes-%{version}-%{release}.tar.bz2 # With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc.spec %global bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0} %global build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0} %ifarch s390x %global multilib_32_arch s390 %endif %ifarch sparc64 %global multilib_32_arch sparcv9 %endif %ifarch ppc64 %global multilib_32_arch ppc %endif %ifarch x86_64 %global multilib_32_arch i686 %endif Summary: GNU Compiler Collection (C, C++, Objective-C, ...) Summary(ja): GNU コンパイラコレクション (C, C++, Objective-C, ...) Name: gcc Version: 10.2.1 Release: %{gcc_release} Group: programming Vendor: Project Vine Distribution: Vine Linux # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{gcc_version}/%{name}-%{gcc_version}.tar.xz URL: https://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # Need binutils with -pie support >= 2.14.90.0.4-4 # Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4 # Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2 # Need binutils which support .weakref >= 2.16.91.0.3-1 # Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7 # Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 # Need binutils which support --build-id >= 2.17.50.0.17-3 # Need binutils which support %gnu_unique_object >= 2.19.51.0.14 # Need binutils which support .cfi_sections >= 2.19.51.0.14-33 # Need binutils which support --no-add-needed >= 2.20.51.0.2-12 BuildRequires: binutils >= 2.20.51.0.2-12 # While gcc doesn't include statically linked binaries, during testing # -static is used several times. BuildRequires: glibc-static BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils ##VINE##TODO## BuildRequires: systemtap-sdt-devel >= 1.3 # For VTA guality testing BuildRequires: gdb # Make sure pthread.h doesn't contain __thread tokens # Make sure glibc supports stack protector # Make sure glibc supports DT_GNU_HASH BuildRequires: glibc-devel >= 2.4.90-13 BuildRequires: elfutils-devel >= 0.147 BuildRequires: elfutils-libelf-devel >= 0.147 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha # Make sure glibc supports TFmode long double BuildRequires: glibc >= 2.3.90-35 %endif %ifarch %{multilib_64_archs} # Ensure glibc{,-devel} is installed for both multilib arches # BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so BuildRequires: compat32-glibc-devel BuildRequires: compat32-glibc-static %endif %if %{build_ada} # Ada requires Ada to build BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1 %endif %ifarch ia64 BuildRequires: libunwind >= 0.98 %endif %if %{build_cloog} %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 BuildRequires: ppl >= 0.11.2, ppl-devel >= 0.11.2 %else BuildRequires: ppl >= 0.10, ppl-devel >= 0.10 %endif BuildRequires: cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15 %endif %if %{build_isl} BuildRequires: isl-devel >= 0.23 Requires: isl >= 0.23 %else %if 0%{?__isa_bits} == 64 Requires: libisl.so.%{isl_soversion}()(64bit) %else Requires: libisl.so.%{isl_soversion} %endif %endif %if %{build_libstdcxx_docs} BuildRequires: doxygen >= 1.7.1 BuildRequires: graphviz %endif # for testsuite BuildRequires: net-tools Requires: gcc-cpp = %{version}-%{release} # Need .eh_frame ld optimizations # Need proper visibility support # Need -pie support # Need --as-needed/--no-as-needed support # On ppc64, need omit dot symbols support and --non-overlapping-opd # Need binutils that owns /usr/bin/c++filt # Need binutils that support .weakref # Need binutils that supports --hash-style=gnu # Need binutils that support mffgpr/mftgpr # Need binutils that support --build-id # Need binutils that support %gnu_unique_object # Need binutils that support .cfi_sections # Need binutils that support --no-add-needed Requires: binutils >= 2.20.51.0.2-12 # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha # Make sure glibc supports TFmode long double Requires: glibc >= 2.3.90-35 %endif Requires: libgcc >= %{version}-%{release} Requires: libgomp = %{version}-%{release} %if !%{build_ada} Obsoletes: gcc-gnat < %{version}-%{release} Obsoletes: libgnat < %{version}-%{release} %endif %if %{build_cloog} Requires: cloog-ppl >= 0.15 %endif Obsoletes: gcc3 Obsoletes: egcs Obsoletes: gcc34 Obsoletes: gcc35 Obsoletes: gcc4 %ifarch %{ix86} x86_64 Obsoletes: libcilkrts < %{version} Obsoletes: libcilkrts-static < %{version} Obsoletes: libmpx < %{version} Obsoletes: libmpx-static < %{version} %endif Provides: gcc4 = %{version}-%{release} Requires(post): /sbin/install-info Requires(preun): /sbin/install-info AutoReq: true Patch0: gcc10-hack.patch Patch1: gcc10-i386-libgomp.patch Patch2: gcc10-sparc-config-detection.patch Patch3: gcc10-libgomp-omp_h-multilib.patch Patch4: gcc10-libtool-no-rpath.patch Patch5: gcc10-isl-dl.patch Patch6: gcc10-libstdc++-docs.patch Patch7: gcc10-no-add-needed.patch Patch8: gcc10-foffload-default.patch Patch9: gcc10-Wno-format-security.patch Patch10: gcc10-rh1574936.patch Patch11: gcc10-d-shared-libphobos.patch Patch10000: gcc-10.2-20210209.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. %ifnarch %{arm} %global _gnu %{nil} %endif %ifarch sparcv9 %global gcc_target_platform sparc64-%{_vendor}-%{_target_os} %endif %ifarch ppc %global gcc_target_platform ppc64-%{_vendor}-%{_target_os} %endif %ifnarch sparcv9 ppc %global gcc_target_platform %{_target_platform} %endif ################################################# gcc %description The gcc package contains the GNU Compiler Collection version %{version}. You'll need this package in order to compile C code. %description -l ja gcc パッケージには、GNU Compiler Collection バージョン %{version} が 含まれています。C のソースコードをコンパイルするにはこのパッケージが 必要となります。 ################################################# libgcc %package -n libgcc Summary: GCC version %{version} shared support library Summary(ja): GCC バージョン %{version} 共有サポートライブラリ Group: system Autoreq: false Obsoletes: libmudflap Obsoletes: libmudflap-devel Obsoletes: libmudflap-static %description -n libgcc This package contains GCC shared support library which is needed e.g. for exception handling support. %description -n libgcc -l ja このパッケージには GCC 共有サポートライブラリが含まれます。 これは例えば例外ハンドリングサポートに必要です。 ################################################# c++ %package c++ Summary: C++ support for GCC Summary(ja): GNU コンパイラ集 - C++ サポート Group: programming Requires: gcc = %{version}-%{release} Requires: libstdc++ = %{version}-%{release} Requires: libstdc++-devel = %{version}-%{release} Obsoletes: gcc34-c++ Obsoletes: gcc35-c++ Obsoletes: gcc4-c++ Provides: gcc4-c++ = %{version}-%{release} Autoreq: true %description c++ This package adds C++ support to the GNU Compiler Collection. It includes support for most of the current C++ specification, including templates and exception handling. %description c++ -l ja このパッケージは GNU Compiler Collection に C++ サポートを追加します。 テンプレートと例外ハンドリングサポートを含む、現在の C++ 仕様の多くを サポートします。 ################################################# libstdc++ %package -n libstdc++ Summary: GNU Standard C++ Library Summary(ja): GNU 標準 C++ ライブラリ Group: system Obsoletes: libstdc++34 Provides: libstdc++34 = %{version}-%{release} Autoreq: true BuildRequires: python3 BuildRequires: python3-rpm-macros Requires: glibc >= 2.10.90-7 %description -n libstdc++ The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %description -n libstdc++ -l ja libstdc++ パッケージには、標準準拠に書き直された GCC 標準 C++ ライブラリが収録されています。 ################################################# libstdc++-devel %package -n libstdc++-devel Summary: Header files and libraries for C++ development Summary(ja): C++ 開発用ヘッダ/ライブラリ Group: programming Requires: libstdc++ = %{version}-%{release} Autoreq: true %description -n libstdc++-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. This includes rewritten implementation of STL. %description -n libstdc++-devel -l ja これは標準 C++ ライブラリの GNU 実装です。 このパッケージには C++ 開発に必要なヘッダファイルとライブラリが 収録されています。これには STL の実装も含まれます。 ################################################# libstdc++-static %package -n libstdc++-static Summary: Static libraries for the GNU standard C++ library Summary(ja): GNU 標準 C++ ライブラリの静的リンクライブラリ Group: programming Requires: libstdc++-devel = %{version}-%{release} Autoreq: true %description -n libstdc++-static Static libraries for the GNU standard C++ library. %description -n libstdc++-static -l ja GNU 標準 C++ ライブラリの静的リンクライブラリ ################################################# libstdc++-docs %package -n libstdc++-docs Summary: Documentation for the GNU standard C++ library Summary(ja): GNU 標準 C++ ライブラリのドキュメント Group: documentation Autoreq: true %description -n libstdc++-docs Manual, doxygen generated API information and Frequently Asked Questions for the GNU standard C++ library. %description -n libstdc++-docs -l ja GNU 標準 C++ ライブラリのマニュアル、Doxygenで生成した API情報と FAQ集 ################################################# objc %package objc Summary: Objective-C support for GCC Summary(ja): GNU コンパイラ集 - Objective C サポート Group: programming Requires: gcc = %{version}-%{release} Requires: libobjc = %{version}-%{release} Autoreq: true %description objc gcc-objc provides Objective-C support for the GCC. Mainly used on systems running NeXTSTEP, Objective-C is an object-oriented derivative of the C language. %description objc -l ja gcc-objc パッケージは GCC に Objective-C サポートを追加します。 Objective-C は C 言語から派生したオブジェクト指向言語で、 主に NeXTSTEP システムで使われてきました。 ################################################# objc++ %package objc++ Summary: Objective-C++ support for GCC Summary(ja): GNU コンパイラ集 - Objective C++ サポート Group: programming Requires: gcc-c++ = %{version}-%{release} Requires: gcc-objc = %{version}-%{release} Autoreq: true %description objc++ gcc-objc++ package provides Objective-C++ support for the GCC. %description objc++ -l ja gcc-objc++ パッケージは GCC に Objective-C++ サポートを追加します。 ################################################# libobjc %package -n libobjc Summary: Objective-C runtime Summary(ja): Objective C ランタイムライブラリ Group: system Autoreq: true %description -n libobjc This package contains Objective-C shared library which is needed to run Objective-C dynamically linked programs. %description -n libobjc -l ja このパッケージには Objective-C 共有ライブラリが収められています。 これは Objective-C にダイナミックリンクされたプログラムの実行に必要と なります。 ################################################# gfortran %package gfortran Summary: Fortran support Summary(ja): GNU コンパイラ集 - Fortran サポート Group: programming Requires: gcc = %{version}-%{release} Requires: libgfortran = %{version}-%{release} %if %{build_libquadmath} Requires: libquadmath = %{version}-%{release} Requires: libquadmath-devel = %{version}-%{release} %endif BuildRequires: gmp-devel >= 4.2.2-3vl2 BuildRequires: mpfr-devel >= 2.2.1 BuildRequires: libmpc-devel >= 0.8.1 Obsoletes: gcc4-gfortran Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Autoreq: true %description gfortran The gcc-gfortran package provides support for compiling Fortran programs with the GNU Compiler Collection. %description gfortran -l ja gcc-gfortran パッケージは GNU Compiler Collection に Fortran プログラムをコンパイルする機能を追加するものです。 ################################################# libgfortran %package -n libgfortran Summary: Fortran runtime Summary(ja): Fortran ランタイム Group: system Autoreq: true %if %{build_libquadmath} Requires: libquadmath = %{version}-%{release} %endif %description -n libgfortran This package contains Fortran shared library which is needed to run Fortran dynamically linked programs. %description -n libgfortran -l ja このパッケージには Fortran 共有ライブラリが収められています。 これは Fortran にダイナミックリンクされたプログラムの実行に 必要となります。 ################################################# libgfortran-static %package -n libgfortran-static Summary: Static Fortran libraries Summary(ja): Fortranの静的リンクライブラリ Group: programming Requires: libgfortran = %{version}-%{release} Requires: gcc = %{version}-%{release} %if %{build_libquadmath} Requires: libquadmath-static = %{version}-%{release} %endif %description -n libgfortran-static This package contains static Fortran libraries. %description -n libgfortran-static -l ja このパッケージには Fortran 静的リンクライブラリが収められています。 ################################################# libgomp %package -n libgomp Summary: GCC OpenMP v3.0 shared support library Summary(ja): GCC OpenMP v3.0 共有ライブラリ Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libgomp This package contains GCC shared support library which is needed for OpenMP v3.0 support. %description -n libgomp -l ja このパッケージには OpenMP v3.0 をサポートする GCC 共有ライブラリが 収められています。 ################################################# gdb-plugin %package gdb-plugin Summary: GCC plugin for GDB Group: programming Requires: gcc = %{version}-%{release} %description gdb-plugin This package contains GCC plugin for GDB C expression evaluation. ################################################# libgccjit %package -n libgccjit Summary: Library for embedding GCC inside programs and libraries Group: system Requires: gcc = %{version}-%{release} %description -n libgccjit This package contains shared library with GCC JIT front-end. ################################################# libgccjit-devel %package -n libgccjit-devel Summary: Support for embedding GCC inside programs and libraries Group: programming BuildRequires: python3-sphinx Requires: libgccjit = %{version}-%{release} Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libgccjit-devel This package contains header files and documentation for GCC JIT front-end. ################################################# libquadmath %package -n libquadmath Summary: GCC __float128 shared support library Summary(ja): GCC __float128 サポートのための共有ライブラリ Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libquadmath This package contains GCC shared support library which is needed for __float128 math support and for Fortran REAL*16 support. %description -n libquadmath -l ja このパッケージには __float128 データ型と Fortran REAL*16 をサポートする ために必要な GCC 共有ライブラリが収められています。 ################################################# libquadmath-devel %package -n libquadmath-devel Summary: GCC __float128 support Summary(ja): GCC __float128 サポート Group: programming Requires: libquadmath = %{version}-%{release} Requires: gcc = %{version}-%{release} %description -n libquadmath-devel This package contains headers for building Fortran programs using REAL*16 and programs using __float128 math. %description -n libquadmath-devel -l ja このパッケージには __float128 データ型を使ったプログラムや REAL*16 を 使った Fortranプログラムをビルドするためのヘッダーが収められています。 ################################################# libquadmath-static %package -n libquadmath-static Summary: Static libraries for __float128 support Summary(ja): __float128 サポートのための静的リンクライブラリ Group: programming Requires: libquadmath-devel = %{version}-%{release} %description -n libquadmath-static This package contains static libraries for building Fortran programs using REAL*16 and programs using __float128 math. %description -n libquadmath-static -l ja このパッケージには __float128 データ型を使ったプログラムや REAL*16 を 使った Fortranプログラムをビルドするための静的リンクライブラリが収めら れています。 ################################################# libitm %package -n libitm Summary: The GNU Transactional Memory library Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libitm This package contains the GNU Transactional Memory library which is a GCC transactional memory support runtime library. ################################################# libitm-devel %package -n libitm-devel Summary: The GNU Transactional Memory support Group: programming Requires: libitm = %{version}-%{release} Requires: gcc = %{version}-%{release} %description -n libitm-devel This package contains headers and support files for the GNU Transactional Memory library. ################################################# libitm-static %package -n libitm-static Summary: The GNU Transactional Memory static library Group: programming Requires: libitm-devel = %{version}-%{release} %description -n libitm-static This package contains GNU Transactional Memory static libraries. ################################################# libatomic %package -n libatomic Summary: The GNU Atomic library Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libatomic This package contains the GNU Atomic library which is a GCC support runtime library for atomic operations not supported by hardware. ################################################# libatomic-static %package -n libatomic-static Summary: The GNU Atomic static library Group: programming Requires: libatomic = %{version}-%{release} %description -n libatomic-static This package contains GNU Atomic static libraries. ################################################# libasan %package -n libasan Summary: The Address Sanitizer runtime library Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libasan This package contains the Address Sanitizer library which is used for -fsanitize=address instrumented programs. ################################################# libasan-static %package -n libasan-static Summary: The Address Sanitizer static library Group: programming Requires: libasan = %{version}-%{release} %description -n libasan-static This package contains Address Sanitizer static runtime library. ################################################# libtsan %package -n libtsan Summary: The Thread Sanitizer runtime library Group: system Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description -n libtsan This package contains the Thread Sanitizer library which is used for -fsanitize=thread instrumented programs. ################################################# libtsan-static %package -n libtsan-static Summary: The Thread Sanitizer static library Group: programming Requires: libtsan = %{version}-%{release} %description -n libtsan-static This package contains Thread Sanitizer static runtime library. ################################################# libubsan %package -n libubsan Summary: The Undefined Behavior Sanitizer runtime library Group: system 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. ################################################# libubsan-static %package -n libubsan-static Summary: The Undefined Behavior Sanitizer static library Group: programming Requires: libubsan = %{version}-%{release} %description -n libubsan-static This package contains Undefined Behavior Sanitizer static runtime library. ################################################# liblsan %package -n liblsan Summary: The Leak Sanitizer runtime library Group: system 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. ################################################# liblsan-static %package -n liblsan-static Summary: The Leak Sanitizer static library Group: programming Requires: liblsan = %{version}-%{release} %description -n liblsan-static This package contains Leak Sanitizer static runtime library. ################################################# gcc-cpp %package cpp Summary: The C Preprocessor Summary(ja): C プリプロセッサ Group: programming Provides: cpp = %{version}-%{release} Autoreq: true Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description cpp Cpp is the GNU C-Compatible Compiler Preprocessor. Cpp is a macro processor which is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define macros, abbreviations for longer constructs. The C preprocessor provides four separate functionalities: the inclusion of header files (files of declarations that can be substituted into your program); macro expansion (you can define macros, and the C preprocessor will replace the macros with their definitions throughout the program); conditional compilation (using special preprocessing directives, you can include or exclude parts of the program according to various conditions); and line control (if you use a program to combine or rearrange source files into an intermediate file which is then compiled, you can use line control to inform the compiler about where each source line originated). You should install this package if you are a C programmer and you use macros. ################################################# gcc-gnat %package gnat Summary: Ada 95 support for GCC Summary(ja): GNU コンパイラ集 - Ada 95 サポート Group: programming Requires: gcc = %{version}-%{release} Requires: libgnat = %{version}-%{release} Requires: libgnat-devel = %{version}-%{release} Obsoletes: gnat-devel, gcc3-gnat Autoreq: true Requires(post): /sbin/install-info Requires(preun): /sbin/install-info %description gnat GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools, the documents and Ada 95 compiler. %description gnat -l ja GNAT は GCC 用の GNU Ada 95 フロントエンドです。 このパッケージには Ada 95 コンパイラ、開発ツール、ドキュメントが 収録されています。 ################################################# libgnat %package -n libgnat Summary: GNU Ada 95 runtime shared libraries Summary(ja): GNU コンパイラ集 - Ada 95 ランタイム共有ライブラリ Group: system Obsoletes: gnat libgnat3 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. %description -n libgnat -l ja GNAT は GCC 用の GNU Ada 95 フロントエンドです。 このパッケージには GNAT でコンパイルされたプログラムを実行するために必要な 共有ライブラリが収録されています。 ################################################# libgnat-devel %package -n libgnat-devel Summary: GNU Ada 95 libraries Group: programming 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. ################################################# libgnat-static %package -n libgnat-static Summary: GNU Ada 95 static libraries Group: programming 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. ################################################# gcc-go %package go Summary: Go support Group: programming Requires: gcc = %{version}-%{release} Requires: libgo = %{version}-%{release} Requires: libgo-devel = %{version}-%{release} Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Autoreq: true %description go The gcc-go package provides support for compiling Go programs with the GNU Compiler Collection. ################################################# libgo %package -n libgo Summary: Go runtime Group: system Autoreq: true %description -n libgo This package contains Go shared library which is needed to run Go dynamically linked programs. ################################################# libgo-devel %package -n libgo-devel Summary: Go development libraries Group: programming Requires: libgo = %{version}-%{release} Autoreq: true %description -n libgo-devel This package includes libraries and support files for compiling Go programs. ################################################# libgo-static %package -n libgo-static Summary: Static Go libraries Group: programming Requires: libgo = %{version}-%{release} Requires: gcc = %{version}-%{release} %description -n libgo-static This package contains static Go libraries. ################################################# gcc-plugin-devel %package plugin-devel Summary: Support for compiling GCC plugins Group: programming Requires: gcc = %{version}-%{release} Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1 %description plugin-devel This package contains header files and other support files for compiling GCC plugins. The GCC plugin ABI is currently not stable, so plugins must be rebuilt any time GCC is updated. ##################################################################### %debug_package %prep %setup -q -n gcc-%{gcc_version} %patch10000 -p1 -b .upstream %patch0 -p0 -b .hack~ %patch1 -p0 -b .i386-libgomp~ %patch2 -p0 -b .sparc-config-detection~ %patch3 -p0 -b .libgomp-omp_h-multilib~ %patch4 -p0 -b .libtool-no-rpath~ %if %{build_isl} #patch5 -p0 -b .isl-dl~ %endif %if %{build_libstdcxx_docs} %patch6 -p0 -b .libstdc++-docs~ %endif %patch7 -p0 -b .no-add-needed~ %patch8 -p0 -b .foffload-default~ %patch9 -p0 -b .Wno-format-security~ %if 0%{?fedora} >= 29 || 0%{?rhel} > 7 %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6000 ./contrib/gcc_update --touch LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt # This test causes fork failures, because it spawns way too many threads rm -f gcc/testsuite/go.test/test/chan/goroutines.go %build # Undo the broken autoconf change in recent Fedora versions export CONFIG_SITE=NONE CC=gcc CXX=g++ OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'` %ifarch %{ix86} OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'` %endif OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'` case "$OPT_FLAGS" in *-fasynchronous-unwind-tables*) sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \ libgcc/Makefile.in ;; esac rm -rf obj-%{gcc_target_platform} mkdir obj-%{gcc_target_platform} cd obj-%{gcc_target_platform} enablelgo= enablelada= enablelobjc= %if %{build_objc} enablelobjc=,objc,obj-c++ %endif %if %{build_ada} enablelada=,ada %endif %if %{build_go} enablelgo=,go %endif CONFIGURE_OPTS="\ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --with-bugurl=http://bugzilla.redhat.com/bugzilla \ --enable-shared --enable-threads=posix --enable-checking=release \ --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \ --enable-plugin --enable-initfini-array \ %if %{build_isl} --with-isl \ %else --without-isl \ %endif %if %{attr_ifunc} --enable-gnu-indirect-function \ %endif %ifarch %{ix86} x86_64 --enable-cet \ --with-tune=generic \ %endif %ifarch %{ix86} --with-arch=i686 \ %endif %ifarch x86_64 --with-arch_32=i686 \ %endif --build=%{gcc_target_platform} \ " CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ ../configure --enable-bootstrap \ --enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo},lto \ $CONFIGURE_OPTS make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`" CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`" # Build libgccjit separately, so that normal compiler binaries aren't -fpic # unnecessarily. mkdir objlibgccjit cd objlibgccjit CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ ../../configure --disable-bootstrap --enable-host-shared \ --enable-languages=jit $CONFIGURE_OPTS make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc cp -a gcc/libgccjit.so* ../gcc/ cd ../gcc/ ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major} cp -a Makefile{,.orig} sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile touch -r Makefile.orig Makefile rm Makefile.orig make jit.sphinx.html make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html cd .. # Make generated man pages even if Pod::Man is not new enough perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl for i in ../gcc/doc/*.texi; do cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i done make -C gcc generated-manpages for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done # Make generated doxygen pages. %if %{build_libstdcxx_docs} cd %{gcc_target_platform}/libstdc++-v3 make doc-html-doxygen make doc-man-doxygen cd ../.. %endif # Copy various doc files here and there cd .. mkdir -p rpm.doc/gfortran rpm.doc/objc mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer} for i in {gcc,gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}/ChangeLog*; do cp -p $i rpm.doc/changelogs/$i done (cd gcc/fortran; for i in ChangeLog*; do cp -p $i ../../rpm.doc/gfortran/$i done) (cd libgfortran; for i in ChangeLog*; do cp -p $i ../rpm.doc/gfortran/$i.libgfortran done) %if %{build_objc} (cd libobjc; for i in README*; do cp -p $i ../rpm.doc/objc/$i.libobjc done) %endif %if %{build_libquadmath} (cd libquadmath; for i in ChangeLog* COPYING.LIB; do cp -p $i ../rpm.doc/libquadmath/$i.libquadmath done) %endif %if %{build_libitm} (cd libitm; for i in ChangeLog*; do cp -p $i ../rpm.doc/libitm/$i.libitm done) %endif %if %{build_go} (cd gcc/go; for i in README* ChangeLog*; do cp -p $i ../../rpm.doc/go/$i done) (cd libgo; for i in LICENSE* PATENTS* README; do cp -p $i ../rpm.doc/libgo/$i.libgo done) %endif rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9] find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9 %install rm -rf %{buildroot} cd obj-%{gcc_target_platform} TARGET_PLATFORM=%{gcc_target_platform} # There are some MP bugs in libstdc++ Makefiles make -C %{gcc_target_platform}/libstdc++-v3 make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \ infodir=%{buildroot}%{_infodir} install %if %{build_ada} chmod 644 %{buildroot}%{_infodir}/gnat* %endif FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} # fix some things ln -sf gcc %{buildroot}%{_prefix}/bin/cc rm -f %{buildroot}%{_prefix}/lib/cpp ln -sf ../bin/cpp %{buildroot}/%{_prefix}/lib/cpp ln -sf gfortran %{buildroot}%{_prefix}/bin/f95 rm -f %{buildroot}%{_infodir}/dir gzip -9 %{buildroot}%{_infodir}/*.info* %if %{build_ada} ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc %endif mkdir -p %{buildroot}%{_fmoddir} %if %{build_go} mv %{buildroot}%{_prefix}/bin/go{,.gcc} mv %{buildroot}%{_prefix}/bin/gofmt{,.gcc} ln -sf /etc/alternatives/go %{buildroot}%{_prefix}/bin/go ln -sf /etc/alternatives/gofmt %{buildroot}%{_prefix}/bin/gofmt %endif cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do if ! diff -up $cxxconfig $i; then cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h < #if __WORDSIZE == 32 %ifarch %{multilib_64_archs} `cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)` %else `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` %endif #else %ifarch %{multilib_64_archs} `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` %else `cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)` %endif #endif #endif EOF break fi done for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do for i in 1 2 4 8; do sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\ &\ #endif/' $f done done # Nuke bits/*.h.gch dirs # 1) there is no bits/*.h header installed, so when gch file can't be # used, compilation fails # 2) sometimes it is hard to match the exact options used for building # libstdc++-v3 or they aren't desirable # 3) there are multilib issues, conflicts etc. with this # 4) it is huge # People can always precompile on their own whatever they want, but # shipping this for everybody is unnecessary. rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch %if %{build_libstdcxx_docs} libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen mkdir -p ../rpm.doc/libstdc++-v3 cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api mkdir -p %{buildroot}%{_mandir}/man3 cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/ find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm %endif FULLLSUBDIR= %ifarch sparcv9 ppc FULLLSUBDIR=lib32 %endif %ifarch sparc64 ppc64 ppc64p7 FULLLSUBDIR=lib64 %endif if [ -n "$FULLLSUBDIR" ]; then FULLLPATH=$FULLPATH/$FULLLSUBDIR mkdir -p $FULLLPATH else FULLLPATH=$FULLPATH fi find %{buildroot} -name \*.la | xargs rm -f 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_major}.so.1 chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}.so.1 ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1 ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so %ifarch %{multilib_64_archs} ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so mkdir -p %{buildroot}/lib mv -f %{buildroot}%{_prefix}/lib/libgcc_s.so.1 %{buildroot}/lib/libgcc_s-%{gcc_major}.so.1 chmod 755 %{buildroot}/lib/libgcc_s-%{gcc_major}.so.1 ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}/lib/libgcc_s.so.1 %endif mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/ %if %{build_ada} mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/ mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/ rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so* %endif mkdir -p %{buildroot}%{_prefix}/libexec/getconf if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default else ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default fi mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ pushd ../libstdc++-v3/python for i in `find . -name \*.py`; do touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i done touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py popd for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do r=${f/$RPM_BUILD_ROOT/} %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' done rm -f $FULLEPATH/libgccjit.so cp -a objlibgccjit/gcc/libgccjit.so* %{buildroot}%{_prefix}/%{_lib}/ cp -a ../gcc/jit/libgccjit*.h %{buildroot}%{_prefix}/include/ /usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/ gzip -9 %{buildroot}/%{_infodir}/libgccjit.info pushd $FULLPATH if [ "%{_lib}" = "lib" ]; then %if %{build_objc} ln -sf ../../../libobjc.so.4 libobjc.so %endif ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../libgfortran.so.5.* libgfortran.so ln -sf ../../../libgomp.so.1.* libgomp.so %if %{build_go} ln -sf ../../../libgo.so.%{go_soversion}.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../libquadmath.so.0.* libquadmath.so %endif %if %{build_libitm} ln -sf ../../../libitm.so.1.* libitm.so %endif %if %{build_libatomic} ln -sf ../../../libatomic.so.1.* libatomic.so %endif %if %{build_libasan} ln -sf ../../../libasan.so.6.* libasan.so mv ../../../libasan_preinit.o libasan_preinit.o %endif %if %{build_libubsan} ln -sf ../../../libubsan.so.1.* libubsan.so %endif else %if %{build_objc} ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so %endif ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so %if %{build_go} ln -sf ../../../../%{_lib}/libgo.so.%{go_soversion}.* libgo.so %endif %if %{build_libquadmath} ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so %endif %if %{build_libitm} ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so %endif %if %{build_libatomic} ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so %endif %if %{build_libasan} ln -sf ../../../../%{_lib}/libasan.so.6.* libasan.so mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o %endif %if %{build_libubsan} ln -sf ../../../../%{_lib}/libubsan.so.1.* libubsan.so %endif %if %{build_libtsan} rm -f libtsan.so echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.0.* | sed 's,^.*libt,libt,'`' )' > libtsan.so mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o %endif %if %{build_liblsan} rm -f liblsan.so echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o %endif fi mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/ %if %{build_objc} mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a . %endif mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a . %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/ %endif %if %{build_libitm} mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/ %endif %if %{build_libatomic} mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/ %endif %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_libtsan} mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/ %endif %if %{build_liblsan} mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/ %endif %if %{build_go} mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgolibbegin.*a $FULLLPATH/ %endif %ifarch %{multilib_64_archs} mv -f %{buildroot}%{_prefix}/lib/libstdc++.*a $FULLLPATH/32/ mv -f %{buildroot}%{_prefix}/lib/libstdc++fs.*a $FULLLPATH/32/ mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a $FULLLPATH/32/ mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a $FULLLPATH/32/ rm -f %{buildroot}%{_prefix}/lib/libssp.a %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a $FULLLPATH/32/ %endif %if %{build_libitm} mv -f %{buildroot}%{_prefix}/lib/libitm.*a $FULLLPATH/32/ %endif %if %{build_libatomic} mv -f %{buildroot}%{_prefix}/lib/libatomic.*a $FULLLPATH/32/ %endif %if %{build_libasan} mv -f %{buildroot}%{_prefix}/lib/libasan.*a $FULLLPATH/32/ %endif %if %{build_libubsan} mv -f %{buildroot}%{_prefix}/lib/libubsan.*a $FULLLPATH/32/ %endif %if %{build_go} mv -f %{buildroot}%{_prefix}/lib/libgo.*a $FULLLPATH/32/ mv -f %{buildroot}%{_prefix}/lib/libgobegin.*a $FULLLPATH/32/ mv -f %{buildroot}%{_prefix}/lib/libgolibbegin.*a $FULLLPATH/32/ %endif %endif %if %{build_ada} %ifarch %{multilib_64_archs} rm -rf $FULLPATH/32/ada{include,lib} %endif if [ "$FULLPATH" != "$FULLLPATH" ]; then 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-8.so ln -sf ../../../../../libgnat-*.so libgnat.so ln -sf ../../../../../libgnat-*.so libgnat-8.so else ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-8.so ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-8.so fi popd else pushd $FULLPATH/adalib if [ "%{_lib}" = "lib" ]; then ln -sf ../../../../libgnarl-*.so libgnarl.so ln -sf ../../../../libgnarl-*.so libgnarl-8.so ln -sf ../../../../libgnat-*.so libgnat.so ln -sf ../../../../libgnat-*.so libgnat-8.so else ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-8.so ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-8.so fi popd fi %endif %ifarch %{multilib_64_archs} mkdir -p 32 %if %{build_objc} ln -sf ../../../../libobjc.so.4 32/libobjc.so %endif ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so %if %{build_go} rm -f libgo.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.%{go_soversion}.* | sed 's,^.*libg,libg,'`' )' > libgo.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.%{go_soversion}.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so %endif %if %{build_libquadmath} rm -f libquadmath.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so %endif %if %{build_libitm} rm -f libitm.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so %endif %if %{build_libatomic} rm -f libatomic.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so %endif %if %{build_libasan} rm -f libasan.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > libasan.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.6.* | 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.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so %endif %if %{build_objc} mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/ %endif mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/ %endif %ifarch sparc64 ppc64 ppc64p7 ln -sf ../lib32/libgfortran.a 32/libgfortran.a ln -sf lib64/libgfortran.a libgfortran.a ln -sf ../lib32/libstdc++.a 32/libstdc++.a ln -sf lib64/libstdc++.a libstdc++.a ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a ln -sf lib64/libstdc++fs.a libstdc++fs.a ln -sf ../lib32/libsupc++.a 32/libsupc++.a ln -sf lib64/libsupc++.a libsupc++.a %if %{build_libquadmath} ln -sf ../lib32/libquadmath.a 32/libquadmath.a ln -sf lib64/libquadmath.a libquadmath.a %endif %if %{build_libitm} ln -sf ../lib32/libitm.a 32/libitm.a ln -sf lib64/libitm.a libitm.a %endif %if %{build_libatomic} ln -sf ../lib32/libatomic.a 32/libatomic.a ln -sf lib64/libatomic.a libatomic.a %endif %if %{build_libasan} 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_go} ln -sf ../lib32/libgo.a 32/libgo.a ln -sf lib64/libgo.a libgo.a ln -sf ../lib32/libgobegin.a 32/libgobegin.a ln -sf lib64/libgobegin.a libgobegin.a ln -sf ../lib32/libgolibbegin.a 32/libgolibbegin.a ln -sf lib64/libgolibbegin.a libgolibbegin.a %endif %if %{build_ada} ln -sf ../lib32/adainclude 32/adainclude ln -sf lib64/adainclude adainclude ln -sf ../lib32/adalib 32/adalib ln -sf lib64/adalib adalib %endif %else %ifarch %{multilib_64_archs} %if 0 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a %if %{build_libquadmath} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a %endif %if %{build_libitm} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a %endif %if %{build_libatomic} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libatomic.a 32/libatomic.a %endif %if %{build_libasan} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan.a 32/libasan.a %endif %if %{build_libubsan} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libubsan.a 32/libubsan.a %endif %if %{build_go} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgo.a 32/libgo.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgobegin.a 32/libgobegin.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgolibbegin.a 32/libgolibbegin.a %endif %if %{build_ada} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adainclude 32/adainclude ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adalib 32/adalib %endif %endif %endif %endif # If we are building a debug package then copy all of the static archives # into the debug directory to keep them as unstripped copies. %if 0%{?_enable_debug_packages} for d in . $FULLLSUBDIR; do mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d for f in `find $d -maxdepth 1 -a \ \( -name libasan.a -o -name libatomic.a \ -o -name libcaf_single.a \ -o -name libgcc.a -o -name libgcc_eh.a \ -o -name libgcov.a -o -name libgfortran.a \ -o -name libgo.a -o -name libgobegin.a \ -o -name libgolibbegin.a -o -name libgomp.a \ -o -name libitm.a -o -name liblsan.a \ -o -name libobjc.a \ -o -name libquadmath.a -o -name libstdc++.a \ -o -name libstdc++fs.a -o -name libsupc++.a \ -o -name libtsan.a -o -name libubsan.a \) -a -type f`; do cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/ done done %endif # 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 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 libubsan.a -o -name liblsan.a \ -o -name libcc1.a \) \ -a -type f` popd chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.* %if %{build_libquadmath} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.* %endif %if %{build_libitm} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.* %endif %if %{build_libatomic} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.* %endif %if %{build_libasan} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.6.* %endif %if %{build_libubsan} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.* %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} # Avoid stripping these libraries and binaries. chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.%{go_soversion}.* chmod 644 %{buildroot}%{_prefix}/bin/go.gcc chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet %endif %if %{build_objc} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.* %endif %if %{build_ada} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so* %endif mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h for h in `find $FULLPATH/include -name \*.h`; do if grep -q 'It has been auto-edited by fixincludes from' $h; then rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'` diff -up $rh $h || : rm -f $h fi done cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF" #!/bin/sh fl="-std=c89" for opt; do case "$opt" in -ansi|-std=c89|-std=iso9899:1990) fl="";; -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 exit 1;; esac done exec gcc $fl ${1+"$@"} EOF cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF" #!/bin/sh fl="-std=c99" for opt; do case "$opt" in -std=c99|-std=iso9899:1999) fl="";; -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 exit 1;; esac done exec gcc $fl ${1+"$@"} EOF chmod 755 %{buildroot}%{_prefix}/bin/c?9 cd .. %find_lang %{name} %find_lang cpplib %find_lang libstdc++ # Remove binaries we will not be including, so that they don't end up in # gcc-debuginfo 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}-gfortran || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gccgo || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcj || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ar || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-nm || : rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ranlib || : %ifarch %{multilib_64_archs} # Remove libraries for the other arch on multilib arches # keep %{_prefix}/lib/lib*.{so*,a} for Vine Linux # rm -f %{buildroot}%{_prefix}/lib/lib*.so* # rm -f %{buildroot}%{_prefix}/lib/lib*.a # rm -f %{buildroot}/lib/libgcc_s*.so* %if %{build_go} rm -rf %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform} %ifnarch sparc64 ppc64 ppc64p7 ln -sf %{multilib_32_arch}-%{_vendor}-%{_target_os} %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform} %endif %endif %else %ifarch sparcv9 ppc rm -f %{buildroot}%{_prefix}/lib64/lib*.so* rm -f %{buildroot}%{_prefix}/lib64/lib*.a rm -f %{buildroot}/lib64/libgcc_s*.so* %if %{build_go} rm -rf %{buildroot}%{_prefix}/lib64/go/%{gcc_major}/%{gcc_target_platform} %endif %endif %endif rm -f %{buildroot}%{mandir}/man3/ffi* # Help plugins find out nvra. echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver # for compatibility mkdir -p %{buildroot}/lib ln -sf ../usr/bin/cpp %{buildroot}/lib/cpp # remove unnecessary files. rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools rm -rf %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools rm -f %{buildroot}%{_prefix}/lib/*.spec rm -rf %{buildroot}%{_mandir}/man7 for f in asan atomic gcc_s gfortran go gomp itm lsan objc quadmath stdc++ tsan ubsan; do rm -f %{buildroot}%{_prefix}/%{_lib}/lib${f}.so rm -f %{buildroot}%{_prefix}/lib/lib${f}.so done rm -f %{buildroot}%{_prefix}/lib/libssp* %check %if %{with check} cd obj-%{gcc_target_platform} # run the tests. make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || : echo ====================TESTING========================= ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' echo ====================TESTING END===================== mkdir testlogs-%{_target_platform}-%{version}-%{release} for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || : done tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \ | uuencode testlogs-%{_target_platform}.tar.xz || : rm -rf testlogs-%{_target_platform}-%{version}-%{release} %endif # %{with check} %clean rm -rf $RPM_BUILD_ROOT %post if [ -f %{_infodir}/gcc.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : fi %preun if [ $1 = 0 -a -f %{_infodir}/gcc.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : fi %posttrans if [ ! -x %{_bindir}/cc ]; then ln -sf gcc %{_bindir}/cc fi %posttrans c++ if [ ! -x %{_bindir}/c++ ]; then ln -sf g++ %{_bindir}/c++ fi %post cpp if [ -f %{_infodir}/cpp.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : fi %preun cpp if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : fi %post gfortran if [ -f %{_infodir}/gfortran.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || : fi %preun gfortran if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || : fi %posttrans gfortran if [ ! -x %{_bindir}/f95 ]; then ln -sf gfortran %{_bindir}/f95 fi %post gnat if [ -f %{_infodir}/gnat_rm.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || : /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || : /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || : fi %preun gnat if [ $1 = 0 -a -f %{_infodir}/gnat_rm.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || : /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || : /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || : fi # Because glibc Prereq's libgcc and /sbin/ldconfig # comes from glibc, it might not exist yet when # libgcc is installed %post -n libgcc -p if posix.access ("/sbin/ldconfig", "x") then local pid = posix.fork () if pid == 0 then posix.exec ("/sbin/ldconfig") elseif pid ~= -1 then posix.wait (pid) end end %postun -n libgcc -p if posix.access ("/sbin/ldconfig", "x") then local pid = posix.fork () if pid == 0 then posix.exec ("/sbin/ldconfig") elseif pid ~= -1 then posix.wait (pid) end end %post -n libstdc++ -p /sbin/ldconfig %postun -n libstdc++ -p /sbin/ldconfig %post -n libobjc -p /sbin/ldconfig %postun -n libobjc -p /sbin/ldconfig %post -n libgfortran -p /sbin/ldconfig %postun -n libgfortran -p /sbin/ldconfig %post -n libgnat -p /sbin/ldconfig %postun -n libgnat -p /sbin/ldconfig %post -n libgomp /sbin/ldconfig if [ -f %{_infodir}/libgomp.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || : fi %preun -n libgomp if [ $1 = 0 -a -f %{_infodir}/libgomp.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || : fi %postun -n libgomp -p /sbin/ldconfig %post gdb-plugin -p /sbin/ldconfig %postun gdb-plugin -p /sbin/ldconfig %post -n libgccjit -p /sbin/ldconfig %postun -n libgccjit -p /sbin/ldconfig %post -n libgccjit-devel if [ -f %{_infodir}/libgccjit.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || : fi %preun -n libgccjit-devel if [ $1 = 0 -a -f %{_infodir}/libgccjit.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || : fi %post -n libquadmath /sbin/ldconfig if [ -f %{_infodir}/libquadmath.info.gz ]; then /sbin/install-info \ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || : fi %preun -n libquadmath if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || : fi %postun -n libquadmath -p /sbin/ldconfig %postun -n libitm -p /sbin/ldconfig %post -n libatomic -p /sbin/ldconfig %postun -n libatomic -p /sbin/ldconfig %post -n libasan -p /sbin/ldconfig %postun -n libasan -p /sbin/ldconfig %post -n libtsan -p /sbin/ldconfig %postun -n libtsan -p /sbin/ldconfig %post -n libubsan -p /sbin/ldconfig %postun -n libubsan -p /sbin/ldconfig %post -n liblsan -p /sbin/ldconfig %postun -n liblsan -p /sbin/ldconfig %post -n libgo -p /sbin/ldconfig %postun -n libgo -p /sbin/ldconfig %files -f %{name}.lang %defattr(-,root,root,-) %{_prefix}/bin/cc %{_prefix}/bin/c89 %{_prefix}/bin/c99 %{_prefix}/bin/gcc %{_prefix}/bin/gcov %{_prefix}/bin/gcov-tool %{_prefix}/bin/gcov-dump %{_prefix}/bin/gcc-ar %{_prefix}/bin/gcc-nm %{_prefix}/bin/gcc-ranlib %{_prefix}/bin/lto-dump %ifarch ppc %{_prefix}/bin/%{_target_platform}-gcc %endif %ifarch sparc64 sparcv9 %{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc %endif %ifarch ppc64 ppc64p7 %{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc %endif %{_prefix}/bin/%{gcc_target_platform}-gcc %{_prefix}/bin/%{gcc_target_platform}-gcc-%{gcc_major} %{_mandir}/man1/gcc.1* %{_mandir}/man1/gcov.1* %{_mandir}/man1/gcov-tool.1* %{_mandir}/man1/gcov-dump.1* %{_mandir}/man1/lto-dump.1* %{_infodir}/gcc* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so* %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h %ifarch %{ix86} x86_64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h %endif %ifarch ia64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h %endif %ifarch ppc ppc64 ppc64le ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/paired.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h %endif %ifarch %{arm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h %endif %ifarch aarch64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h %endif %ifarch sparc sparcv9 sparc64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h %endif %ifarch s390 s390x %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer %endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so %if %{build_libitm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec %endif %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so %endif %if %{build_libitm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so %endif %if %{build_libatomic} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o %endif %if %{build_libubsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so %endif %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so %endif %if %{build_libitm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so %endif %if %{build_libatomic} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o %endif %if %{build_libubsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so %endif %endif %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so %endif %if %{build_libitm} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so %endif %if %{build_libatomic} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o %endif %if %{build_libubsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so %endif %else %if %{build_libatomic} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so %endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o %endif %if %{build_libubsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so %endif %endif %if %{build_libtsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o %endif %if %{build_liblsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o %endif %{_prefix}/libexec/getconf/default %doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* %{!?_licensedir:%global license %%doc} %license gcc/COPYING* COPYING.RUNTIME %files cpp -f cpplib.lang %defattr(-,root,root,-) /lib/cpp %{_prefix}/lib/cpp %{_prefix}/bin/cpp %{_mandir}/man1/cpp.1* %{_infodir}/cpp* %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1 %files -n libgcc %defattr(-,root,root,-) /%{_lib}/libgcc_s-%{gcc_major}.so.1 /%{_lib}/libgcc_s.so.1 %ifarch %{multilib_64_archs} /lib/libgcc_s-%{gcc_major}.so.1 /lib/libgcc_s.so.1 %endif %{!?_licensedir:%global license %%doc} %license gcc/COPYING* COPYING.RUNTIME %files c++ %defattr(-,root,root,-) %{_prefix}/bin/%{gcc_target_platform}-*++ %{_prefix}/bin/g++ %{_prefix}/bin/c++ %{_mandir}/man1/g++.1* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a %endif %ifarch sparcv9 ppc %{multilib_64_archs} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so %endif %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a %endif %doc rpm.doc/changelogs/gcc/cp/ChangeLog* %files -n libstdc++ -f libstdc++.lang %defattr(-,root,root,-) %{_prefix}/%{_lib}/libstdc++.so.6* %ifarch %{multilib_64_archs} %{_prefix}/lib/libstdc++.so.6* %endif %dir %{_datadir}/gdb %dir %{_datadir}/gdb/auto-load %dir %{_datadir}/gdb/auto-load/%{_prefix} %dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py* %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/__pycache__ %dir %{_prefix}/share/gcc-%{gcc_major} %dir %{_prefix}/share/gcc-%{gcc_major}/python %{_prefix}/share/gcc-%{gcc_major}/python/libstdcxx %files -n libstdc++-devel %defattr(-,root,root,-) %dir %{_prefix}/include/c++ %{_prefix}/include/c++/%{gcc_major} %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifnarch sparcv9 ppc %{multilib_64_archs} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so %endif %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a %endif %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README* %files -n libstdc++-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libsupc++.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libsupc++.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a %endif %if %{build_libstdcxx_docs} %files -n libstdc++-docs %defattr(-,root,root) %{_mandir}/man3/* %doc rpm.doc/libstdc++-v3/html %endif %files objc %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/objc %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1obj %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.so %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.so %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.so %endif %doc rpm.doc/objc/* %doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog* %files objc++ %defattr(-,root,root,-) %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1objplus %files -n libobjc %defattr(-,root,root,-) %{_prefix}/%{_lib}/libobjc.so.4* %ifarch %{multilib_64_archs} %{_prefix}/lib/libobjc.so.4* %endif %files gfortran %defattr(-,root,root,-) %{_prefix}/bin/gfortran %{_prefix}/bin/f95 %{_mandir}/man1/gfortran.1* %{_infodir}/gfortran* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ISO_Fortran_binding.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a %endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude %endif %dir %{_fmoddir} %doc rpm.doc/gfortran/* %files -n libgfortran %defattr(-,root,root,-) %{_prefix}/%{_lib}/libgfortran.so.5* %ifarch %{multilib_64_archs} %{_prefix}/lib/libgfortran.so.5* %endif %files -n libgfortran-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgfortran.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a %endif %if %{build_ada} %files gnat %defattr(-,root,root,-) %{_prefix}/bin/gnat %{_prefix}/bin/gnat[^i]* %{_infodir}/gnat* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adalib %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adalib %endif %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib %endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/gnat1 %doc rpm.doc/changelogs/gcc/ada/ChangeLog* %files -n libgnat %defattr(-,root,root,-) %{_prefix}/%{_lib}/libgnat-*.so %{_prefix}/%{_lib}/libgnarl-*.so %files -n libgnat-devel %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a %endif %files -n libgnat-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a %endif %endif %files -n libgomp %defattr(-,root,root,-) %{_prefix}/%{_lib}/libgomp.so.1* %ifarch %{multilib_64_archs} %{_prefix}/lib/libgomp.so.1* %endif %{_infodir}/libgomp.info* %doc rpm.doc/changelogs/libgomp/ChangeLog* %if %{build_libquadmath} %files -n libquadmath %defattr(-,root,root,-) %{_prefix}/%{_lib}/libquadmath.so.0* %ifarch %{multilib_64_archs} %{_prefix}/lib/libquadmath.so.0* %endif %{_infodir}/libquadmath.info* %{!?_licensedir:%global license %%doc} %license rpm.doc/libquadmath/COPYING* %files -n libquadmath-devel %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so %endif %doc rpm.doc/libquadmath/ChangeLog* %files -n libquadmath-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a %endif %endif %if %{build_libitm} %files -n libitm %defattr(-,root,root,-) %{_prefix}/%{_lib}/libitm.so.1* %ifarch %{multilib_64_archs} %{_prefix}/lib/libitm.so.1* %endif %{_infodir}/libitm.info* %files -n libitm-devel %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include #%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h #%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so %endif %doc rpm.doc/libitm/ChangeLog* %files -n libitm-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a %endif %endif %if %{build_libatomic} %files -n libatomic %defattr(-,root,root,-) %{_prefix}/%{_lib}/libatomic.so.1* %ifarch %{multilib_64_archs} %{_prefix}/lib/libatomic.so.1* %endif %files -n libatomic-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a %endif %doc rpm.doc/changelogs/libatomic/ChangeLog* %endif %if %{build_libasan} %files -n libasan %defattr(-,root,root,-) %{_prefix}/%{_lib}/libasan.so.6* %ifarch %{multilib_64_archs} %{_prefix}/lib/libasan.so.6* %endif %files -n libasan-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a %endif %doc rpm.doc/changelogs/libsanitizer/ChangeLog* %{!?_licensedir:%global license %%doc} %license libsanitizer/LICENSE.TXT %endif %if %{build_libtsan} %files -n libtsan %defattr(-,root,root,-) %{_prefix}/%{_lib}/libtsan.so.0* %files -n libtsan-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a %doc rpm.doc/changelogs/libsanitizer/ChangeLog* %{!?_licensedir:%global license %%doc} %license libsanitizer/LICENSE.TXT %endif %if %{build_libubsan} %files -n libubsan %defattr(-,root,root,-) %{_prefix}/%{_lib}/libubsan.so.1* %ifarch %{multilib_64_archs} %{_prefix}/lib/libubsan.so.1* %endif %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_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libubsan.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libubsan.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a %endif %doc rpm.doc/changelogs/libsanitizer/ChangeLog* %{!?_licensedir:%global license %%doc} %license 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_major} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a %doc rpm.doc/changelogs/libsanitizer/ChangeLog* %{!?_licensedir:%global license %%doc} %license libsanitizer/LICENSE.TXT %endif %if %{build_go} %files go %defattr(-,root,root,-) %ghost %{_prefix}/bin/go %attr(755,root,root) %{_prefix}/bin/go.gcc %{_prefix}/bin/gccgo %ghost %{_prefix}/bin/gofmt %attr(755,root,root) %{_prefix}/bin/gofmt.gcc %{_mandir}/man1/gccgo.1* %{_mandir}/man1/go.1* %{_mandir}/man1/gofmt.1* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/go1 %attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo %attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid %attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json %attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgolibbegin.a %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgolibbegin.a %endif %ifarch sparcv9 ppc %{multilib_64_archs} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so %endif %ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a %endif %doc rpm.doc/go/* %files -n libgo %defattr(-,root,root,-) %attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.%{go_soversion}.*.* %{_prefix}/%{_lib}/libgo.so.%{go_soversion} %ifarch %{multilib_64_archs} %{_prefix}/lib/libgo.so.%{go_soversion}* %endif %files -n libgo-devel %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/%{_lib}/go %dir %{_prefix}/%{_lib}/go/%{gcc_major} %{_prefix}/%{_lib}/go/%{gcc_major}/%{gcc_target_platform} %ifarch %{multilib_64_archs} %ifnarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/go %dir %{_prefix}/lib/go/%{gcc_major} %{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform} %endif %endif %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgolibbegin.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgolibbegin.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so %endif %files -n libgo-static %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgo.a %endif %ifarch sparc64 ppc64 ppc64p7 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgo.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a %endif %endif %files -n libgccjit %{_prefix}/%{_lib}/libgccjit.so.* %doc rpm.doc/changelogs/gcc/jit/ChangeLog* %files -n libgccjit-devel %{_prefix}/%{_lib}/libgccjit.so %{_prefix}/include/libgccjit*.h %{_infodir}/libgccjit.info* %doc rpm.doc/libgccjit-devel/* %doc gcc/jit/docs/examples %files plugin-devel %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin %files gdb-plugin %defattr(-,root,root,-) %{_prefix}/%{_lib}/libcc1.so* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so* %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so* %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog * Tue Feb 09 2021 Tomohiro "Tomo-p" KATO 10.2.1-1 - updated tarball to 10.2.0. - imported Patch10000 from upstream (10.2.1). - refreshed all patches. * Fri Mar 20 2020 Tomohiro "Tomo-p" KATO 9.3.1-1 - updated tarball to 9.3.0. - dropped Patch 0 and 11-12. - imported Patch10000 from upstream (9.3.1). - renumbered and updated all patches. - imported Patch11 from rawhide. - dropped libmpx. * Sun Sep 22 2019 Tomohiro "Tomo-p" KATO 8.3.1-1 - updated to 8.3.0 - imported Patch0 from upstream (8.3.1). * Sun Jan 20 2019 Tomohiro "Tomo-p" KATO 8.2.0-1 - updated to 8.2.0 - dropped fastjar. - dropped all patches. - imported Patch0 from upstream. - imported Patch1-13 from rawhide. * Sun Jun 26 2016 Yoji TOYODA 5.4.0-1 - updated to 5.4.0 - merged with FC 5.3.1-6.fc23 - add BuildRequires: isl-devel - create libmpx,libmpx-static and gdb-plugin subpackages * Tue May 24 2016 Tomohiro "Tomo-p" KATO 4.9.3-2 - added BR:net-tools for tests. - rebuilt with new binutils. * Sat May 07 2016 Yoji TOYODA 4.9.3-1 - updated to 4.9.3 - update Patch4 (gcc49-i386-libgomp.patch) - remove Patch13,14 - remove libmudflap{,-devel,-static} subpackages - add {libubsan,libtsan,liblsan,libcilkrts,}-{,-static} subpackages * Sun Dec 13 2015 Yoji TOYODA 4.8.2-2 - rebuild with VineSeed environment - remove gcc-java subpackage (build_java is set to 0) * Mon Nov 04 2013 Yoji TOYODA 4.8.2-1 - updated to 4.8.2 * Mon Sep 30 2013 Yoji TOYODA 4.8.1-2 - change source (original) * Sun Sep 29 2013 Yoji TOYODA 4.8.1-1 - updated to 4.8.1 - merged with FC 4.8.1-10.fc21 * Mon Jan 09 2012 NAKAMURA Kenta 4.6.2-3 - updated %%install and %%files sections to pack missing 32bit libraries on multilib_64_archs * Sat Jan 07 2012 Daisuke SUZUKI 4.6.2-2 - add %%posttrans for gcc,gcc-cpp,gcc-c++,gcc-gfortran to fix missing symlinks - add Obsoletes: fastjar to libgcj * Fri Dec 02 2011 NAKAMURA Kenta 4.6.2-1 - updated to 4.6.2 - merged with FC 4.6.2-1.fc17.1 - removed alternatives * Wed Nov 02 2011 NAKAMURA Kenta - 4.4.5-8 - rebuilt with mpfr-3.1.0 * Fri Sep 09 2011 MATSUBAYASHI Kohji - 4.4.5-7 - updated to more recent svn source from Fedora13 updates 4.4.5-2.fc13 * Mon May 02 2011 Daisuke SUZUKI 4.4.5-6 - fix %%postun - remove alternatives only if broken * Mon May 02 2011 Daisuke SUZUKI 4.4.5-5 - update %%postun to fix alternatives bug - add %%triggerpostun to fix broken alternatives * Sat Apr 02 2011 NAKAMURA Kenta - 4.4.5-3 - dropped gcc44-no-add-needed.patch in Vine Linux 6 * Wed Mar 23 2011 Daisuke SUZUKI 4.4.5-2 - add BR: glibc-static * Sun Mar 20 2011 Ryoichi INAGAKI 4.4.5-1 - new upstream release - used %%posttrans instead of %%triggerpostun * Sun Sep 19 2010 Ryoichi INAGAKI - 4.4.3-9 - used alternatives %%{_prefix}/%%{_lib}/security/classpath.security * Fri Aug 13 2010 Ryoichi INAGAKI - 4.4.3-8 - rebuilt with gcc-java-4.4.3-7 * Sun Aug 1 2010 Ryoichi INAGAKI - 4.4.3-7 - used %%{_lib} macros for classpath.security and logging.properties (libgcj) - this release needs to build --with java_bootstrap option * Sun Jul 25 2010 Ryoichi INAGAKI - 4.4.3-6 - bootstrapped java package - this release needs to build --with java_bootstrap option * Wed Apr 7 2010 MATSUBAYASHI Kohji - 4.4.3-5 - updated to 20100401 (svn r157910) * Tue Apr 6 2010 MATSUBAYASHI Kohji - 4.4.3-4 - fix configure flags on ppc again (remove --with-cpu=750) * Mon Feb 8 2010 MATSUBAYASHI Kohji - 4.4.3-3 - fix configure flags on ppc * Mon Jan 25 2010 Ryoichi INAGAKI 4.4.3-2 - rebuilt with new toolchain - fixed %%install and %%file libgomp section (Thanks to kenta-san) - added Provides: libstdc++34 to libstdc++ * Sun Jan 24 2010 Ryoichi INAGAKI 4.4.3-1 - new upstream release * Fri Dec 26 2008 NAKAMURA Kenta 4.1.2-21 - added BuildRequires: compat32-glibc-devel for x86_64 arch * Sat Dec 20 2008 Daisuke SUZUKI 4.1.2-20 - remove Requires: %{_prefox}/%{_lib}/libz.so from libgcj-devel * Wed Sep 24 2008 MATSUBAYASHI Kohji - 4.1.2-19 - rebuilt with binutils-2.18.50.0.6 and glibc-2.8 * Tue Jul 08 2008 Daisuke SUZUKI 4.1.2-18 - updated to 4.1.3 prerelease 20080708 (gcc-4_1-branch r137614) - new versioning policy - require gecko-devel instead of firefox-devel * Sun Feb 10 2008 MATSUBAYASHI Kohji 4.1.2-0vl17 - updated to 4.1.3 prerelease 20080204 (gcc-4_1-branch r132101) * Thu Dec 27 2007 MATSUBAYASHI Kohji 4.1.2-0vl16 - updated to 4.1.3 prerelease 20071221 (gcc-4_1-branch r131115) * Tue Dec 18 2007 NAKAMURA Kenta 4.1.2-0vl15 - updated %%files section to include 32bit libraries for x86_64 * Sat Dec 15 2007 NAKAMURA Kenta 4.1.2-0vl14 - added BuildRequires: mpfr-devel * Sat Oct 20 2007 MATSUBAYASHI Kohji 4.1.2-0vl13 - updated to 4.1.3 prerelease 20070923 (gcc-4_1-branch r128704) * Wed Jul 04 2007 MATSUBAYASHI Kohji 4.1.2-0vl12 - updated to 4.1.3 prerelease 20070703 (gcc-4_1-branch r126255) - PR target/28307, boehm-gc/21940, boehm-gc/21942, target/32389, c++/31809, c++/31806, inline-asm/32109, middle-end/32285, rtl-optimization/28011, tree-optimization/32353, target/32163 * Thu May 31 2007 MATSUBAYASHI Kohji 4.1.2-0vl11 - Sorry, put a wrong srpm, it was just my mistake. Put correct version. * Mon May 28 2007 MATSUBAYASHI Kohji 4.1.2-0vl10 - updated to 4.1.3 prerelease 20070524 (gcc-4_1-branch r125017) - PR libfortran/31964, target/31701, target/31480, target/31022 - disguise version_string[], such as "4.1.2 (4.1.3 prelease 20070524) (Vine Linux 4.1.2-0vl10)" * Sun May 20 2007 NAKAMURA Kenta 4.1.2-0vl9 - enable Patch5: gcc41-java-nomulti.patch - remove obsoleted work around which building libgcj_bc.so * Sat May 19 2007 MATSUBAYASHI Kohji 4.1.2-0vl8 - updated to 4.1.3 prerelease 20070517 (gcc-4_1-branch r124799) * Sun May 13 2007 MATSUBAYASHI Kohji 4.1.2-0vl7 - add Patch101 (long double 128bit by default on alpha/ppc/sparc/s390 targets) http://sources.redhat.com/bugzilla/show_bug.cgi?id=2749 which was originally derived from the following patches: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864#c13 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864#c14 - add --disable-multilib configure option for no-biarch builds on ppc - fix spec typo of Daisuk SUZUKI's -mcpu removal on 4.1.2-0vl5 * Sat May 12 2007 MATSUBAYASHI Kohji 4.1.2-0vl6 - enable Patch19 now * Wed May 09 2007 Daisuke SUZUKI 4.1.2-0vl5 - add Patch100 to add -mtune=generic option (from MDV) - remove -mcpu option from OPT_FLAGS - use bootstrap-lean instead of profiledbootstrap - enable Patch10 to add MNI support (SSE3) * Mon May 07 2007 MATSUBAYASHI Kohji 4.1.2-0vl4 - yet another minor fix (don't obsolete gcc3-* packages) * Mon May 07 2007 MATSUBAYASHI Kohji 4.1.2-0vl3 - one more minor fix (libgfortran don't obsolete libf2c) * Mon May 07 2007 MATSUBAYASHI Kohji 4.1.2-0vl2 - Oops, fixed one small typo * Sun May 06 2007 MATSUBAYASHI Kohji 4.1.2-0vl1 - rebuild * Wed May 02 2007 MATSUBAYASHI Kohji 4.1.2-0vl0 - initial build for VineSeed - based on FC 4.1.1-30 and VineSeed 3.3.6-0vl8 - updated to 4.1.2 upstream release with most FC patches omitted (TODOs) * Wed Oct 11 2006 Jakub Jelinek 4.1.1-30 - update from gcc-4_1-branch (-r117464:117629) - PRs c++/28302, c++/28349, c++/28450, c++/29002, libstdc++/29095, libstdc++/29354, libstdc++/29368, target/28490 - fix gnu.xml.transform.TransformerImpl (Tom Tromey, #208854, PR classpath/29362) * Fri Oct 6 2006 Jakub Jelinek 4.1.1-29 - update from gcc-4_1-branch (-r117266:117464) - PRs bootstrap/26764, bootstrap/27334, c++/29080, c++/29138, c++/29226, c/27489, c/27490, debug/28980, fortran/18791, libfortran/18791, middle-end/28862, objc/29195, other/25035, tree-opt/28952 - fix s390{,x} address legitimization with TLS symbols (Angel Nunez Mencias) - fix -fno-automatic with Fortran auto arrays with non-constant size (#203928, PR fortran/28415) - fix char and short __sync_fetch_and_XXX (PR target/28924) - fix emitting of vector constants with incomplete initializers (PR c/29091) - fix ICE with multiple exit loop and -ftree-loop-linear (#208935, PR tree-optimization/29290) * Sat Sep 30 2006 Jakub Jelinek 4.1.1-28 - fix i386/x86_64 legitimize_pic_address with TLS symbols (PR target/29198) - fix gimplification of post-increment with side-effects on the inner expression (PR c/29154) * Thu Sep 28 2006 Jakub Jelinek 4.1.1-27 - update from gcc-4_1-branch (-r117225:117266) - PR target/29230 - restrict single entry mem{{,p}cpy,move,set} optimization to vars and components thereof (PR middle-end/29272) - fix java.util.Locale (Tom Tromey, #201712) * Tue Sep 26 2006 Jakub Jelinek 4.1.1-26 - update from gcc-4_1-branch (-r117162:117225) - PRs classpath/28661, libgcj/29178, libstdc++/29179, libstdc++/29224 - fix unwind info generation, broken in gcc-4.1.1-21 (Roger Sayle, PR debug/29132) * Sat Sep 23 2006 Jakub Jelinek 4.1.1-25 - update from gcc-4_1-branch (-r117069:117162) - PRs c++/28996, c++/29087, middle-end/26983 - fix -fprofile-use with anonymous namespaces (Jan Hubicka, PRs profile/20815, profile/26399) - fix #pragma omp parallel and #pragma omp section that call nested functions (PRs middle-end/25261, middle-end/28790) * Wed Sep 20 2006 Jakub Jelinek 4.1.1-24 - update from gcc-4_1-branch (-r117000:117069) - PRs fortran/21918, fortran/28526, fortran/28817, fortran/29060, fortran/29101, java/28754, java/28892, java/29013, middle-end/27226, middle-end/4520, tree-optimization/28900 - fix java.utils.logging.Logger (Mark Wielaard, #207111) - fix gnu.javax.net.ssl.provider.SSLSocket (Tom Tromey, #206904) - add support for Fortran OpenMP conditional inclusion (PR fortran/29097) - add some -D_FORTIFY_SOURCE compile time strncat buffer overflow checks * Sun Sep 17 2006 Jakub Jelinek 4.1.1-23 - update from gcc-4_1-branch (-r116958:117000) - PRs fortran/29051, target/28946 - fix single entry mem{{,p}cpy,move,set} optimization (Andrew Pinski, PR tree-opt/29059) * Fri Sep 15 2006 Jakub Jelinek 4.1.1-22 - update from gcc-4_1-branch (-r116778:116958) - PRs ada/21952, ada/29025, c++/26957, fortran/28890, fortran/28923, fortran/28959, libfortran/28890, libfortran/28923, libfortran/28947, middle-end/28493, other/23541, other/26507, rtl-optimization/28243, rtl-optimization/28634, rtl-optimization/28636, rtl-optimization/28726, target/13685, target/26504, target/27537, target/27681, target/28621, target/29006, testsuite/28950, testsuite/29007 - fix #pragma omp atomic (PR middle-end/28046) - speed up dominance frontiers calculation (Jan Hubicka) - add README.libgcjwebplugin.so to libgcj %%doc (Tom Fitzsimmons) - fix gcc-gfortran %%doc (#206333) - fix gcc-debuginfo (#205500) * Fri Sep 8 2006 Jakub Jelinek 4.1.1-21 - update from gcc-4_1-branch (-r116498:116778) - PRs c++/19809, c++/26102, c++/26195, c++/26571, c++/26670, c++/26671, c++/26696, c++/26917, c++/28860, c++/28878, c++/28886, fortran/20067, fortran/24866, fortran/25077, fortran/25102, fortran/28005, fortran/28873, fortran/28885, fortran/28908, libfortran/28005, middle-end/27724, middle-end/28814, other/22313, rtl-optimization/27616, rtl-optimization/28386, target/24367 - add primitive class object symbols to libgcj_bc.so (Tom Tromey, PR libgcj/28698) - optimize single entry memcpy/mempcpy/memmove/memset already at the tree level (PR middle-end/27567) - add dependencies to *-devel subpackages, so that e.g. ppc64 libstdc++-devel requires 64-bit libstdc++, similarly for libgcj-devel and libgcj/zlib-devel * Fri Aug 25 2006 Jakub Jelinek 4.1.1-20 - update from gcc-4_1-branch (-r116389:116498) - PRs c++/28056, c++/28058, c++/28595, c++/28853, c/27558, c/27893, c/28299, c/28418, driver/27622, libfortran/28452, libfortran/28542, target/27075 - optimize A / (B << N) where A and B is positive and B is a power of two (Alan Modra, #195924, PR rtl-optimization/26026) - fix attribute handling in C++ (Jason Merrill, #204277, #204035, PRs c++/28659, c++/28863) * Fri Aug 25 2006 Jakub Jelinek 4.1.1-19 - update from gcc-4_1-branch (-r116223:116389) - PRs c++/23372, c++/27714, c++/28346, c++/28385, fortran/18111, fortran/20886, fortran/25217, fortran/25828, fortran/28425, fortran/28496, fortran/28601, fortran/28630, fortran/28660, fortran/28735, fortran/28762, fortran/28771, fortran/28788, libstdc++/28765, target/27565 - another big Java merge from the trunk (Tom Fitzsimmons) - fix ICE in add_reg_br_prob_note (PR middle-end/28683) * Fri Aug 18 2006 Jakub Jelinek 4.1.1-18 - update from gcc-4_1-branch (-r116176:116223) - PRs c++/28593, c++/28606, c++/28710, c/27697, middle-end/20256, middle-end/25211, middle-end/26435 - don't waste .rodata space when copying from const array with large entries (PR middle-end/28755) - fix --combine with anonymous structures in unions (Alexandre Oliva, PR c/27898) - rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc* (#203001) * Wed Aug 16 2006 Jakub Jelinek 4.1.1-17 - update from gcc-4_1-branch (-r116082:116176) - PRs c++/27894, c++/28677, c/28649, middle-end/28075, rtl-optimization/23454 - merge gomp fixes from the trunk (-r116152:116154) - PRs middle-end/28713, middle-end/28724 - add -march=geode and -mtune=geode support (Vlad Makarov) - use %gs rather than %fs register on x86_64 with -mcmodel=kernel -fstack-protector (Arjan van de Ven, #202842) - don't create jar manifest in libgcj-tools-4.*.jar (#200887) - externally_visible attribute fixes (Jan Hubicka, PRs c/25795, c++/27369) - --combine fixes for aggregates with attributes (PRs c/28706, c/28712) - further externally_visible attr fixes (PR c/28744) - fix invalid token pasting error message (PR preprocessor/28709) - obey OpenMP 2.5 chapter 4 env var requirements (whitespace rules and case insensitivity in the env vars; PR libgomp/28725) - fix OPT_FLAGS on sparc * Sat Aug 12 2006 Jakub Jelinek 4.1.1-16 - fix multilib conflict in libgcj-tools-4.1.1.jar (#200887) * Fri Aug 11 2006 Jakub Jelinek 4.1.1-15 - update from gcc-4_1-branch (-r115877:116082) - PRs c++/27508, c++/28148, c++/28250, c++/28256, c++/28257, c++/28259, c++/28267, c++/28274, c++/28347, c++/28432, c++/28557, c++/28594, c++/28637, c++/28638, c++/28639, c++/28640, c++/28641, c/27721, c/28136, fortran/27981, fortran/28548, fortran/28590, middle-end/28651, rtl-optimization/27291, rtl-optimization/28221, target/27566, target/27827 - fix Fortran ICE with nested function (Paul Thomas, #200618, PR fortran/28600) * Wed Aug 2 2006 Jakub Jelinek 4.1.1-14 - update from gcc-4_1-branch (-r115644:115877) - PRs c++/27572, c++/27668, c++/27962, c++/28025, c++/28258, c++/28523, debug/25468, fortran/20892, fortran/27874, fortran/28129, fortran/28439, libgfortran/28335, libgfortran/28339, middle-end/28402, middle-end/28403, middle-end/28473, target/27287, target/28247, tree-optimization/26719, tree-optimization/27639, tree-optimization/27795, tree-optimization/28029, tree-optimization/28238 - BuildRequire firefox-devel instead of mozilla-devel * Tue Jul 25 2006 Alexandre Oliva 4.1.1-13 - backport fix by Andrew Haley for build problems related with the bootstrap ClassLoader * Mon Jul 24 2006 Alexandre Oliva 4.1.1-12 - backport fix by Mark Wielaard for NullPointerException in GCJ web plugin * Fri Jul 21 2006 Jakub Jelinek 4.1.1-11 - update from gcc-4_1-branch (-r115565:115644) - PRs target/27363, c++/27495, c++/28048, c++/28235, c++/28337, c++/28338, c++/28363, middle-end/28283 - turn back autoprov/autoreq on gcc-java, instead disable it on libgcj-devel * Thu Jul 20 2006 Jakub Jelinek 4.1.1-10 - Java backport of from GCC trunk (Tom Tromey, Bryce McKinlay) - include libgcjwebplugin.so, gappletviewer, gjarsigner, gkeytool - C++ visibility changes (Jason Merrill, PRs c++/28407, c++/28409) * Tue Jul 18 2006 Jakub Jelinek 4.1.1-9 - update from gcc-4_1-branch (-r115330:115565) - PRs c++/28016, c++/28051, c++/28249, c++/28291, c++/28294, c++/28304, c++/28343, c/26993, c/28286, fortran/20844, fortran/20893, fortran/20903, fortran/25097, fortran/27980, fortran/28201, fortran/28353, fortran/28384, libstdc++/27878, tree-optimization/19505, tree-optimization/28162, tree-optimization/28187 - fix directory traversal issue in fastjar (Richard Guenther, CVE-2006-3619, PR fastjar/28359) - fix ICE on complex assignment in nested fn (Richard Henderson, PR middle-end/27889) - fix __builtin_constant_p in initializers (Mark Shinwell, #198849) - fix tree verification - IDENTIFIER_NODE can be shared (Diego Novillo) - fix duplicate_eh_regions - handle > 99 tree dumps in the testsuite * Sat Jul 15 2006 Jakub Jelinek 4.1.1-8 - fix handling of C++ template static data members in anonymous namespace (PR c++/28370) - fix Fortran OpenMP handling of !$omp parallel do with lastprivate on the iteration variable (PR fortran/28390) - backported reassociation pass rewrite (Daniel Berlin, Jeff Law, Roger Sayle, Peter Bergner, PRs ada/24994, tree-optimization/26854) - BuildReq sharutils for uuencode * Tue Jul 11 2006 Jakub Jelinek 4.1.1-7 - update from gcc-4_1-branch (-r115058:115330) - PRs c++/13983, c++/17519, c++/18681, c++/18698, c++/26577, c++/27019, c++/27424, c++/27768, c++/27820, c++/28114, fortran/23420, fortran/23862, fortran/24748, fortran/26801, fortran/27965, fortran/28081, fortran/28094, fortran/28167, fortran/28174, fortran/28213, fortran/28237, middle-end/27428, target/28084, target/28207, tree-optimization/28218 - use --hash-style=gnu by default - C++ visibility fixes (Jason Merrill, PRs c++/17470, c++/19134, c++/21581, c++/21675, c++/25915, c++/26612, c++/26905, c++/26984, c++/27000, c++/28215, c++/28279) - fix ppc insvdi_internal2/3 (David Edelsohn, Alan Modra, #197755, PR target/28170) - avoid TFmode PRE_INC/PRE_DEC on ppc (David Edelsohn, PR target/28150) * Thu Jun 29 2006 Jakub Jelinek 4.1.1-6 - update from gcc-4_1-branch (-r114766:115058) - PRs c++/27821, c++/28109, c++/28110, c++/28112, fortran/16206, fortran/18769, fortran/19310, fortran/19904, fortran/20867, fortran/20874, fortran/20876, fortran/22038, fortran/25049, fortran/25050, fortran/25056, fortran/25073, fortran/27554, fortran/27715, fortran/27784, fortran/27895, fortran/27958, fortran/28118, fortran/28119, libfortran/27784, libfortran/27895, libgcj/28178, middle-end/28045, middle-end/28151, target/27082, target/27861, tree-optimization/27781 - fix a reload problem that lead sometimes to writes to read-only objects (Bernd Schmidt, #196736, PR middle-end/26991, PR rtl-optimization/25636) - ppc -mcpu=power6 initial support (Pete Steinmetz, #195924) * Tue Jun 20 2006 Jakub Jelinek 4.1.1-5 - fix C++ #pragma omp atomic (Mark Mitchell) * Mon Jun 19 2006 Jakub Jelinek 4.1.1-4 - update from gcc-4_1-branch (-r114555:114766) - PRs bootstrap/22541, c++/21210, c++/26559, c++/27227, c++/27648, c++/27665, c++/27666, c++/27689, c++/27884, c++/27933, c++/27951, fortran/27786, java/28024, middle-end/27733, middle-end/27802, target/27858, tree-optimization/27830 - merge gomp changes from the trunk (-r114642:114643) - PR libgomp/28008 - fix -fmerge-all-constants - fix #pragma omp critical handling if not --enable-linux-futex * Tue Jun 13 2006 Jakub Jelinek 4.1.1-3 - add BuildRequires for elfutils-devel on ia64 - fix a reload bug visible on s390x (Andreas Krebbel, #193912, PR middle-end/27959) * Mon Jun 12 2006 Jakub Jelinek 4.1.1-2 - update from gcc-4_1-branch (-r114107:114555) - PRs ada/27769, c++/20173, c++/26068, c++/26433, c++/26496, c++/27177, c++/27385, c++/27447, c++/27451, c++/27601, c++/27713, c++/27716, c++/27722, c++/27801, c++/27806, c++/27807, c++/27819, c/25161, c/26818, c/27020, c/27718, fortran/14067, fortran/16943, fortran/18003, fortran/19015, fortran/19777, fortran/20839, fortran/20877, fortran/23091, fortran/23151, fortran/24168, fortran/24558, fortran/25047, fortran/25058, fortran/25082, fortran/25090, fortran/25098, fortran/25147, fortran/25746, fortran/26551, fortran/27155, fortran/27320, fortran/27411, fortran/27449, fortran/27470, fortran/27524, fortran/27552, fortran/27584, fortran/27613, fortran/27655, fortran/27662, fortran/27709, fortran/27897, libgcj/26483, libgfortran/24459, libgfortran/27757, middle-end/27743, middle-end/27793, target/25758, target/26223, target/27790, target/27842, testsuite/27705, tree-optimization/26242, tree-optimization/26622 - merge gomp changes from the trunk (-r114518:114520 and -r114524:114525) - PRs preprocessor/27746, c/27747, c++/27748, fortran/27916 - don't generate decls with the same DECL_UID in C++ FE (PR middle-end/27793) * Thu May 25 2006 Jakub Jelinek 4.1.1-1 - update from gcc-4_1-branch (-r113848:114107) - GCC 4.1.1 release - PR fortran/27553 - fix i386/x86_64 -O0 -fpic link failure (#192816, PR target/27758) - fix gcjh on 64-bit hosts (#192700) - -fvar-tracking fixes needed for SystemTap (Alexandre Oliva, BZ#2438) * Wed May 17 2006 Jakub Jelinek 4.1.0-19 - update from gcc-4_1-branch (-r113785:113848) - PRs c++/26757, c++/27339, c++/27491, driver/26885, rtl-optimization/14261, target/26600, tree-optimization/27603 - merge gomp changes from the trunk (-r113513:113514, -r113821:113823 and -r113845:113846) - PRs middle-end/27415, middle-end/27573 - optimize handling of large CONSTRUCTORs (Bernd Schmidt, PR middle-end/27620) * Mon May 15 2006 Jakub Jelinek 4.1.0-18 - update from gcc-4_1-branch (-r113722:113785) - PRs c++/27315, c++/27581, c++/27582, rtl-optimization/22563 - merge gomp changes from the trunk (-r113786:113790) * Sun May 14 2006 Jakub Jelinek 4.1.0-17 - make -mtune=z9-109 the default on s390{,x} (#184630) * Sat May 13 2006 Jakub Jelinek 4.1.0-16 - update from gcc-4_1-branch (-r113637:113722) - PRs bootstrap/26872, c++/27547, fortran/20460, fortran/24549, middle-end/27384, middle-end/27488, target/26545, target/27158 - fix libgcj.pc location and content on x86_64, ppc64 and s390x (#185230) - make __dso_handle const, so that it is added into .data.rel.ro section in shared libraries - fix a typo in __builtin_object_size computation (Richard Guenther, PR tree-optimization/27532) - fix ICE on -O0 -g if static local variables are in unreachable code blocks (Jan Hubicka, PR debug/26881) - fix ICEs with conflicts across abnormal edges (Zdenek Dvorak, PRs tree-optimization/27283, tree-optimization/27548, tree-optimization/27549) - warn about OpenMP section 2.9 region nesting violations - fix OpenMP fortran array REDUCTION with -fbounds-check (PR fortran/27446) - fix OpenMP {{FIRST,LAST}PRIVATE,REDUCTION} in orphaned construct on Fortran dummy argument (PR middle-end/27416) - fix ICE on #pragma omp for unsigned iteration variable (PR c/27499) * Tue May 9 2006 Jakub Jelinek 4.1.0-15 - update from gcc-4_1-branch (-r113623:113637) - PR fortran/27378 - update from trunk (-r109500:109501, -r109670:109671, -r111341:111342, -r111704:111705, -r112546:112547, -r113111:113112, -r113339:113341, -r113511:113513) - fix loop peeling (Zdenek Dvorak, #190039, PR rtl-optimization/27335) * Mon May 8 2006 Jakub Jelinek 4.1.0-14 - update from gcc-4_1-branch (-r113489:113623) - PRs c++/27422, c++/27427, fortran/24813, fortran/25099, fortran/25681, fortran/27269, fortran/27324, libfortran/26985, objc/27240, target/26481, target/26765, tree-optimization/25985, tree-optimization/27151 - fix zero size field handling in structalias (Richard Guenther, PR tree-optimization/27409) - fix PR tree-optimization/27136 (Richard Guenther) - fix classification of invalid struct types on x86_64 (Volker Reichelt, PR target/27421) * Wed May 3 2006 Jakub Jelinek 4.1.0-13 - update from gcc-4_1-branch (-r113416:113489) - PRs c/25309, target/27374, target/27387, tree-optimization/27364 - merge gomp changes from trunk (-r113267:113271, -r113411:113412, -r113452:113456, -r113482:113483, -r113493:113494) - PR fortran/27395 - additional gomp fixes (PRs c++/27359, middle-end/27388) - package SYSCALLS.c.X for protoize (#190047) - fix gcj -fprofile-arcs -ftest-coverage (Alexandre Oliva, #177450) - reenable profiledbootstrap - in 64-bit builds remove 32-bit /usr/lib/lib* libraries from the buildroots (and similarly on 32-bit builds remove 64-bit /usr/lib64/lib*) before AutoReq generation (#190541) * Mon May 1 2006 Jakub Jelinek 4.1.0-12 - update from gcc-4_1-branch (-r113242:113416) - PRs c++/26534, c++/26912, c++/27094, c++/27278, c++/27279, fortran/26017, libgfortran/20257, libgfortran/27304, libgfortran/27360, libstdc++/26513, middle-end/26565, middle-end/26869, rtl-optimization/26685, target/26826 - merge gomp changes from trunk (-r113255:113256, -r113420:113421) - PRs libgomp/25865, c/27358 - assorted gomp fixes (PRs middle-end/27325, middle-end/27310, middle-end/27328, middle-end/27337, c++/26943) - fix builtin memset (Alan Modra, PR middle-end/27260, PR middle-end/27095) * Tue Apr 25 2006 Jakub Jelinek 4.1.0-11 - update from gcc-4_1-branch (-r113149:113242) - PRs c/25875, c/26774, fortran/18803, fortran/25597, fortran/25669, fortran/26787, fortran/26822, fortran/26834, fortran/27089, fortran/27113, fortran/27122, fortran/27124, target/21283, target/26961 - fix number of iterations computation (Zdenek Dvorak, #189376, PR tree-optimization/27285) - fix handling of volatile in the inliner (Andrew Pinski, Richard Guenther, PR tree-optimization/27236) - strip useless type conversions in the inliner (Andrew Pinski, Richard Guenther, PR tree-optimization/27218) * Fri Apr 21 2006 Jakub Jelinek 4.1.0-10 - update from gcc-4_1-branch (-r113110:113149) - PRs libgcj/21941, libgcj/27170, libgcj/27231, libgfortran/27138, libstdc++/26424, mudflap/26789 - improve dir/../-stripping code to support /usr/lib64 and /usr/lib in separate AFS mountpoints (Alexandre Oliva, #137200) - fix fortran real(16) transpose and reshape on 32-bit architectures (PR fortran/26769) - fix i?86/x86_64 vector extraction (Alexandre Oliva, #187450) - fix testcase for ppc32 va_arg bug - fix testsuite log uuencoding - fix acats timeout framework * Thu Apr 20 2006 Jakub Jelinek 4.1.0-9 - update from gcc-4_1-branch (-r112951:113110) - PRs c++/10385, c++/26036, c++/26365, c++/26558, classpath/27163, fortran/26769, libgcj/27171, libgfortran/26766, libstdc++/27162, middle-end/27095, middle-end/27134, target/27182, tree-optimization/26643, tree-optimization/26821, tree-optimization/26854, tree-optimization/27087 - fix ppc32 va_arg bug (Alan Modra) - assorted gomp fixes (PRs c++/25874, middle-end/25989, c/25996, c/26171, middle-end/26913) - fix pretty printing C array types (#188944) - fix ICE on unprototyped alloca (PR tree-optimization/26865) - fix truncation optimization overflow handling (PR middle-end/26729) - uuencode dejagnu testsuite log files in rpmbuild output * Fri Apr 14 2006 Jakub Jelinek 4.1.0-8 - update from gcc-4_1-branch (-r112825:112951) - PRs c++/26122, c++/26295, fortran/23634, fortran/25619, fortran/26257, libgcj/23829, libgcj/26522, libgfortran/26890, target/27006 - merge gomp changes from trunk (-r112934:112935) - PR libgomp/26651 - fix ICE in gomp handling of EH regions (PR middle-end/26823) * Mon Apr 10 2006 Jakub Jelinek 4.1.0-7 - update from gcc-4_1-branch (-r112727:112825) - PRs fortran/19101, fortran/25031, fortran/26779, fortran/26891, fortran/26976, target/26508, tree-optimization/26919 - fix libgfortran printing of REAL*16 for IEEE quad and IBM extended formats (PR libgfortran/24685) - fix Fortran -fbounds-check (Roger Sayle, #188409, PR middle-end/22375) - fix Java StackTraceElement.toString() (Mark Wielaard, #183212, PR classpath/27081) - fix -fopenmp -static * Thu Apr 6 2006 Jakub Jelinek 4.1.0-6 - update from gcc-4_1-branch (-r112706:112727) - PRs classpath/24752, classpath/27028, libgcj/26625, libgcj/27024, tree-optimization/26996 - reenable PR c++/19238, c++/21764 fixes, only PR c++/21581 is not applied - better fix for Java GC vs. pthread_create (Bryce McKinlay, #182263, PR libgcj/13212) - fix objc_push_parm (#185398) - fix ICE with -feliminate-dwarf2-dups and using namespace (#187787, PR debug/27057) * Wed Apr 5 2006 Jakub Jelinek 4.1.0-5 - update from gcc-4_1-branch (-r112431:112706) - PRs bootstrap/26936, bootstrap/27023, classpath/25924, fortran/19303, fortran/25358, fortran/26816, java/25414, java/26042, java/26858, libfortran/26735, libgcj/26990, libstdc++/26777, testsuite/25741, tree-optimization/18527, tree-optimization/26763, tree-optimization/26830 - merge gomp changes from trunk (-r112602:112603 and -r112618:112619) - temporarily revert PR c++/21764, c++/19238, c++/21581 fixes (#187399) * Tue Mar 28 2006 Jakub Jelinek 4.1.0-4 - update from gcc-4_1-branch (-r111697:112431) - PRs ada/25885, c/26004, fortran/17298, fortran/20935, fortran/20938, fortran/23092, fortran/24519, fortran/24557, fortran/25045, fortran/25054, fortran/25075, fortran/25089, fortran/25378, fortran/25395, fortran/26041, fortran/26054, fortran/26064, fortran/26107, fortran/26277, fortran/26393, fortran/26716, fortran/26741, libfortran/21303, libfortran/24903, libgcj/24461, libgcj/25713, libgcj/26103, libgcj/26688, libgcj/26706, libgfortran/26499, libgfortran/26509, libgfortran/26554, libgfortran/26661, libgfortran/26880, libstdc++/26132, middle-end/18859, middle-end/19543, middle-end/26557, middle-end/26630, other/26489, target/25917, target/26347, target/26459, target/26532, target/26607, tree-optimization/26524, tree-optimization/26587, tree-optimization/26672 - fix visibility and builtins interaction (Jason Merrill, PR middle-end/20297, #175442) - merge gomp changes from trunk (-r112022:112023, -r112250:112251, -r112252:112253, -r112350:112351 and -r112282:112283) - PRs c++/26691, middle-end/26084, middle-end/26611, c++/26690, middle-end/25989 - support visibility attribute on namespaces (Jason Merrill, PR c++/21764, PR c++/19238) - use hidden visibility for anonymous namespaces by default (Jason Merrill, PR c++/21581) * Thu Mar 9 2006 Alexandre Oliva 4.1.0-3 - make ppc32 TLS PIC code sequences compatible with secure plt (#184446) (Richard Henderson and myself) * Sat Mar 4 2006 Jakub Jelinek 4.1.0-2 - update from gcc-4_1-branch (-r111570:111697) - PRs c++/26291, libgfortran/26136, libgfortran/26423, libgfortran/26464, libstdc++/26526, rtl-optimization/26345, target/19061, target/26453 - handle DW_CFA_val_{offset,offset_sf,expression} in the libgcc{,_s} unwinder * Tue Feb 28 2006 Jakub Jelinek 4.1.0-1 - update from gcc-4_1-branch (-r111466:111570) - GCC 4.1.0 release - PR other/26473 * Mon Feb 27 2006 Jakub Jelinek 4.1.0-0.31 - add __floatuns[sdt]i[sdxt]f exports to libgcc_s.so.1 (Joseph S. Myers) - fix unwinding through signal frames (#175951, PR other/26208, glibc BZ#300) * Mon Feb 27 2006 Jakub Jelinek 4.1.0-0.30 - update from gcc-4_1-branch (-r111278:111466) - GCC 4.1.0 RC2 - PRs fortran/26201, libobjc/26309, rtl-optimization/25603, target/25603 - fix nested vector shifts (#182047, PR middle-end/26379) - merge gomp changes from trunk (-r111390:111391, -r111428:111429 and -r111440:111441) - PR middle-end/26412 - fortran MATMUL optimization (Richard Sandiford) - fortran WHERE optimizations (Roger Sayle) - x86_64 _mm_monitor fixes (H.J. Lu, PR target/24879) - add MNI support on i?86/x86_64, -mmni option and header (H.J Lu) * Sun Feb 19 2006 Jakub Jelinek 4.1.0-0.29 - update from gcc-4_1-branch (-r111179:111278) - PRs ada/13408, c++/26266, target/22209, target/26189 - fix ppc32 -fpic reload problem with extenddftf2 pattern (David Edelsohn, #181625, PR target/26350) - fix the PR middle-end/26334 patch * Fri Feb 17 2006 Jakub Jelinek 4.1.0-0.28 - update from gcc-4_1-branch (-r110978:111179) - PRs ada/20753, bootstrap/16787, bootstrap/26053, fortran/25806, libfortran/15234, libgfortran/25949, middle-end/25335, target/25259, target/26255 - fix ICE with shift by -1 (#181586, PR middle-end/26300) - merge gomp changes from trunk (-r110983:110984, -r111017:111018, -r111152:111153 and -r111204:111205) - PRs bootstrap/26161, fortran/26224, libgomp/25938, libgomp/25984 - don't define _REENTRANT in gthr*.h (#176278, PR libstdc++/11953) - define _REENTRANT if -pthread and _POSIX_SOURCE if -posix on s390{,x} and ia64 - fix ICE with register variable and __asm statement (#181731, PR middle-end/26334) * Tue Feb 14 2006 Alexandre Oliva 4.1.0-0.27 - merge fix by Zdenek Dvorak for regression introduced by patch for PR tree-optimization/26209 * Tue Feb 14 2006 Jakub Jelinek 4.1.0-0.26 - update from gcc-4_1-branch (-r110903:110978) - PRs fortran/20861, fortran/20871, fortran/25059, fortran/25070, fortran/25083, fortran/25088, fortran/25103, fortran/26038, fortran/26074, inline-asm/16194, libfortran/24685, libfortran/25425, target/26141, tree-optimization/26258 - ABI change - revert to GCC 3.3 and earlier behaviour of zero sized bitfields in packed structs (Michael Matz, PR middle-end/22275) - fix valarrays vs. non-POD (Paolo Carlini, Gabriel Dos Reis, PR libstdc++/25626) - fix C++ duplicate declspec diagnostics (Volker Reichelt, PR c++/26151) - fix dominance ICE (Zdenek Dvorak, PR tree-optimization/26209) - add some new Intel {,e,x}mmintrin.h intrinsics (H.J. Lu) - speedup bitset<>::_M_copy_to_string (Paolo Carlini) - fix tree_expr_nonzero_p (Jeff Law) - fix TRUTH_XOR_EXPR handling in VRP (Jeff Law) * Mon Feb 13 2006 Jakub Jelinek 4.1.0-0.25 - update from gcc-4_1-branch (-r110831:110903) - PRs c++/16405, c++/24996, fortran/14771, fortran/20858, fortran/25756, middle-end/22439 - merge gomp changes from trunk (-r110719:110720, -r110852:110853 and -r110907:110908) - PR libgomp/25936 - fix gimplification of const fn pointers to builting functions (PR middle-end/26092) - make sure Fortran length artifical variables aren't SAVEd (Andrew Pinski, PR fortran/26246) * Fri Feb 10 2006 Jakub Jelinek 4.1.0-0.24 - update from gcc-4_1-branch (-r110632:110831) - PRs tree-opt/26180, c++/26070, c++/26071, fortran/25577, java/26192, libfortran/23815, libstdc++/26127, target/23359, target/26109, tree-opt/25251 - remove gcc-ppc32, gcc-c++-ppc32, gcc-sparc32 and gcc-c++-sparc32 subpackages, they do more harm than good. Particularly this time gcc*ppc32 and gcc*sparc32 defaulted to DFmode long double rather than TFmode long double * Mon Feb 6 2006 Jakub Jelinek 4.1.0-0.23 - update from gcc-4_1-branch (-r110582:110632) - PRs classpath/24618, classpath/25141, classpath/25727, fortran/25046, fortran/26039 - use LOGICAL*1 instead of LOGICAL*4 for Fortran where temporary masks (Roger Sayle) - fix symbol versions in s390 libgcc_s.so.1 - sparc32 and alpha long double fixes - BuildRequires libXt-devel - BuildRequires and Requires glibc-devel >= 2.3.90-35 on arches that are switching long double * Sat Feb 4 2006 Jakub Jelinek 4.1.0-0.22 - fix ia64 debug info patch - fix libjava pthread_create wrapper patch * Sat Feb 4 2006 Jakub Jelinek 4.1.0-0.21 - update from gcc-4_1-branch (-r110433:110582) - PRs c++/25342, c++/25979, fortran/20845, fortran/24266, fortran/24958, fortran/25072, libstdc++/21554, middle-end/24901, middle-end/25977, middle-end/26001, target/25864, target/25926, target/25960 - put ia64 read-only sections that require runtime relocations even in -fno-pic code into .data.rel.ro etc. sections rather than .rodata to avoid DT_TEXTREL binaries (Richard Henderson, PR target/26090) - merge gomp changes from trunk (-r110511:110512 and -r110549:110552) - fix ia64 debug info coverage of epilogues (Alexandre Oliva, PR debug/24444) - export pthread_create from libgcj.so.7 as a wrapper around libpthread.so.0's pthread_create that handles GC (Anthony Green, Tom Tromey) - BC-ABI java lookup fix (Andrew Haley, #179070, #178156) - on sparc64 emit .register %g7,#ignore instead of .register %g7,#scratch to avoid problems with TLS or -fstack-protector - switch to IBM extended format long double by default on ppc and ppc64 - switch to IEEE 754 quad format long double by default on s390, s390x, sparc32 and alpha * Wed Feb 1 2006 Jakub Jelinek 4.1.0-0.20 - merge from gomp-20050808-branch (up to -r110392) - fix PR c++/25874 (Diego Novillo) * Wed Feb 1 2006 Jakub Jelinek 4.1.0-0.19 - s390{,x} long double patch fix for s390x ICEs on test-ldouble and tst-align2 (Andreas Krebbel) * Tue Jan 31 2006 Jakub Jelinek 4.1.0-0.18 - update from gcc-4_1-branch (-r110317:110433) - PRs c++/25855, c++/25999, fortran/17911, fortran/18578, fortran/18579, fortran/20857, fortran/20885, fortran/20895, fortran/25030, fortran/25835, fortran/25951, java/21428, libgfortran/25835, target/14798, target/25706, target/25718, target/25947, target/26018, testsuite/25318 - add -mtune=generic support for i?86 and x86_64 (Jan Hubicka, H.J. Lu, Evandro Menezes) - use -mtune=generic by default if neither -march= nor -mtune= is specified on command line on i?86 or x86_64 - updated s390{,x} long double patch, fixing ICEs on s390x glibc build (Andreas Krebbel, Ulrich Weigand) * Sat Jan 28 2006 Jakub Jelinek 4.1.0-0.17 - update from gcc-4_1-branch (-r110062:110317) - PRs ada/20548, ada/21317, bootstrap/25859, c++/25552, c++/25856, c++/25858, c++/25895, c/25892, fortran/18540, fortran/20852, fortran/20881, fortran/23308, fortran/24276, fortran/25084, fortran/25085, fortran/25086, fortran/25124, fortran/25416, fortran/25538, fortran/25625, fortran/25710, fortran/25716, fortran/25901, fortran/25964, java/25816, other/24829, rtl-optimization/24626, rtl-optimization/25654, target/24831, testsuite/24962, testsuite/25590 - atomic builtin fixes (Richard Henderson) - -mlong-double-128 support on ppc32 (David Edelsohn, Alan Modra) - -mlong-double-128 support on s390 and s390x (Andreas Krebbel, Ulrich Weigand) * Sat Jan 21 2006 Jakub Jelinek 4.1.0-0.16 - update from gcc-4_1-branch (-r109815:110062) - PRs ada/24533, c++/16829, c++/22136, c++/25836, c++/25854, c/25805, classpath/20198, fortran/20869, fortran/20875, fortran/25024, fortran/25631, fortran/25697, fortran/25785, libgcj/25840, libgfortran/25631, libgfortran/25697, libstdc++/25823, libstdc++/25824, target/25731, testsuite/25171 - fix X509Certificate.java (#174708, #177733) * Tue Jan 17 2006 Jakub Jelinek 4.1.0-0.15 - update from gcc-4_1-branch (-r109401:109815) - PRs c++/24824, c++/25386, c++/25663, c/25682, classpath/25803, fortran/12456, fortran/20868, fortran/20870, fortran/21256, fortran/21977, fortran/22146, fortran/24640, fortran/25029, fortran/25093, fortran/25101, fortran/25486, fortran/25598, fortran/25730, libgcj/21637, libgcj/23499, libgfortran/25598, libstdc++/23591, libstdc++/25472, rtl-optimization/24257, rtl-optimization/25367, rtl-optimization/25662, target/20754, target/25042, target/25168, testsuite/25728, testsuite/25777, tree-opt/24365, tree-optimization/23109, tree-optimization/23948, tree-optimization/24123, tree-optimization/25125 - update from gomp-20050608-branch (up to -r109816) - fix ppc32 libffi (#177655) - fix lookup_conversions_r (#177918) - define __STDC__ as a normal macro rather than a preprocessor builtin unless it needs to change its value between system and non-system headers (PR preprocessor/25717) * Fri Jan 6 2006 Jakub Jelinek 4.1.0-0.14 - update from gcc-4_1-branch (-r109369:109401) - PR fortran/23675 - fix Java shutdown hook (Tom Tromey, #165136) - fix libjava/shlibpath.m4 (PR libgcj/24940) * Thu Jan 5 2006 Jakub Jelinek 4.1.0-0.13 - update from gcc-4_1-branch (-r108957:109369) - PRs c++/23171, c++/23172, c++/24671, c++/24782, c++/25294, c++/25417, c++/25439, c++/25492, c++/25625, c++/25632, c++/25633, c++/25634, c++/25635, c++/25637, c++/25638, c/25183, c/25559, debug/25562, fortran/18990, fortran/19362, fortran/20244, fortran/20862, fortran/20864, fortran/20889, fortran/22607, fortran/23152, fortran/25018, fortran/25053, fortran/25055, fortran/25063, fortran/25064, fortran/25066, fortran/25067, fortran/25068, fortran/25069, fortran/25106, fortran/25391, fortran/25532, fortran/25586, fortran/25587, libgcj/9715, libgcj/19132, libgfortran/25139, libgfortran/25419, libgfortran/25510, libgfortran/25550, libgfortran/25594, middle-end/24827, objc/25328, rtl-optimization/21041, rtl-optimization/25130, target/24342, target/25554, target/25572, testsuite/25214, testsuite/25441, testsuite/25442, testsuite/25444, tree-opt/25513 - create java Package for compiled classes which are linked in but loaded by the system class loader (Tom Tromey, #176956) - fix posix_memalign prototype in (#176461) - update from gomp-20050608-branch (up to -r109349) - buildrequire libXtst-devel (#176898) - fix built in path to classmap.db on x86_64, s390x and ppc64 (#176562) - fix debug info for preprocessed Fortran code (#175071, PR fortran/25324) * Thu Dec 22 2005 Jakub Jelinek 4.1.0-0.12 - make sure GCJFLAGS are propagated down to libjava's configure - build crt{begin,end}*.o with -fno-asynchronous-unwind-tables if RPM_OPT_FLAGS include -fasynchronous-unwind-tables - fix PR c++/25369 (Mark Mitchell) - fix PR libgfortran/25307 (Jerry DeLisle) * Thu Dec 22 2005 Jakub Jelinek 4.1.0-0.11 - update from gcc-4_1-branch (-r108861:108957) - PRs debug/25518, fortran/24268, fortran/25423, libgfortran/25463, rtl-optimization/25196, tree-optimization/24793 - validate changes in forward copy propagation (PR target/25005) - fix Java constants constructors on 64-bit big endian arches (Andrew Haley, PR java/25535) - fix PR c++/25364 (Mark Mitchell) * Wed Dec 21 2005 Jakub Jelinek 4.1.0-0.10 - update from gcc-4_1-branch (-r108539:108861) - PRs ada/18659, ada/18819, c++/20552, c++/21228, c++/24278, c++/24915, fortran/18197, fortran/25458, libgfortran/25039, libgfortran/25264, libgfortran/25349, libobjc/14382, libstdc++/25421, middle-end/22313, middle-end/24306, rtl-optimization/23837, rtl-optimization/25224, rtl-optimization/25310, target/24969, testsuite/25215, tree-optimization/23838, tree-optimization/24378 - update from gomp-20050608-branch (up to -r108859) - fix _Pragma handling (Richard Henderson, PR preprocessor/25240) - fix reload re-recognition of insns (Alan Modra, PR rtl-optimization/25432) - don't peephole RTX_FRAME_RELATED_P insns (Andrew Haley, PR middle-end/25121) * Thu Dec 15 2005 Jakub Jelinek 4.1.0-0.9 - fix OpenMP lastprivate handling for global vars (Aldy Hernandez) - fix gnu.xml.dom.DomNode's detach method (Caolan McNamara, PR classpath/25426) - fix up the #175569 fix (Tom Tromey, #175833, PR java/25429) - fix strength reduction miscompilation of libgnomecanvas (#175669, PR rtl-optimization/24899) - create libgcj-*.jar with -@E options and feed a sorted list to it rather than relying on filesystem sorting * Wed Dec 14 2005 Jakub Jelinek 4.1.0-0.8 - update from gcc-4_1-branch (-r108414:108539) - PRs classpath/25389, fortran/23815, fortran/25078, target/25254 - fix Java ICE on initialized static final var used in case (Andrew Haley, #175569, PR java/25429) - fix crash in _Unwind_IteratePhdrCallback (Andrew Haley) - don't Require alsa-lib-devel, just BuildRequire it (#175627) - use .gnu.linkonce.d.rel.ro.* sections for objects that are constant after relocation processing * Mon Dec 12 2005 Jakub Jelinek 4.1.0-0.7 - update from gcc-4_1-branch (-r108157:108414) - PRs c++/19317, c++/19397, c++/19762, c++/19764, c++/25010, c++/25300, c++/25337, debug/24908, fortran/25292, libfortran/25116, libgcj/25265, target/17828, target/19005, target/23424, target/25212, target/25258, target/25311, testsuite/20772, testsuite/24478, testsuite/25167, tree-optimization/25248 - update from gomp-20050608-branch (up to -r108424) - add BuildReq for alsa-lib-devel and configure with --disable-dssi - sort files in libgcj-*.jar and touch them to latest ChangeLog timestamp, so that libgcj-*.jar is identical across multilib arches - don't use pushw instruction on i?86, as that leads to ICEs in def_cfa_1, because negative CFA offsets not multiple of 4 aren't representable in the unwind and debug info (PR debug/25023, PR target/25293) - fix ICEs with x86_64 -mlarge-data-threshold=N and STRING_CSTs (Jan Hubicka, PR target/24188) - fix Java ICE with input_filename being unset (Alexandre Oliva, #174912) - don't accept invalid int x,; in C++ (Petr Machata, PR c++/24907) - fix Java ICE in do_resolve_class (Andrew Haley, PR java/25366, PR java/25368) - make sure g*.dg/compat/struct-layout-1.exp generated tests don't use arrays with entries aligned more than their size (PR c++/25331) - don't use -liberty in g++.dg/compat/struct-layout-1.exp tests * Wed Dec 7 2005 Jakub Jelinek 4.1.0-0.6 - allow #pragmas at C struct scope as well as ObjC class scope (PR c/25246) - some gomp testcase fixes * Wed Dec 7 2005 Jakub Jelinek 4.1.0-0.5 - update from gcc-4_1-branch (-r107810:108157) - PRs bootstrap/25207, c++/24103, c++/24138, c++/24173, fortran/15809, fortran/21302, fortran/23912, java/25283, libfortran/24919, libgfortran/25149, middle-end/25176, other/13873, target/18580, target/24108, target/24475, target/24934, target/25199, testsuite/25247, tree-optimization/24963 - update from gomp-20050608-branch (up to -r108105) - -Wstrict-aliasing C++ support (Richard Guenther, Dirk Mueller, Paolo Carlini, PRs c++/14024, libstdc++/24975) - fix mark_used_regs regression (Andreas Krebbel, PR rtl-optimization/24823) - fix reload ICE (Kaz Kojima, PR target/24982) - fix PPC ICE on Linux kernel (Paolo Bonzini, PR target/24982) - fix s390{,x} shifts with shift count ANDed with constant mask (Andreas Krebbel, PR target/25268) - s390{,x} atomic builtins enhancements (Adrian Straetling) * Thu Dec 1 2005 Jakub Jelinek 4.1.0-0.4 - update from gcc-4_1-branch (-r107618:107810) - PRs c++/21123, c++/21166, fortran/24223, fortran/24705, java/18278, libgfortran/25109, middle-end/20109, middle-end/25120, middle-end/25158, rtl-opt/24930 - use %%{_tmppath} in BuildRoot (#174594) - require libgomp in gcc subpackage - fix Java .so symlinks * Tue Nov 29 2005 Jakub Jelinek 4.1.0-0.3 - fix IA-64 local-exec TLS handling - fix IA-64 __sync_fetch_and_{sub,xor,...} * Mon Nov 28 2005 Jakub Jelinek 4.1.0-0.2 - update from gcc-4_1-branch (-r107462:107618) - PRs fortran/24917, libgcj/25016, libgfortran/24945, middle-end/21309, middle-end/25022, libfortran/24991 - update from gomp-20050608-branch (up to -r107619) - fix omp_get_wti{me,ck} on older kernels - ppc32 EH fix - fix #pragma omp atomic - resurrected multi32 hack for ppc32 and sparc32 * Thu Nov 24 2005 Jakub Jelinek 4.1.0-0.1 - initial 4.1 package, using newly created redhat/gcc-4_1-branch