Blame SPECS/compat-gcc-44.spec

f28b6a
%global DATE 20120601
f28b6a
%global SVNREV 188105
f28b6a
# Note, gcc_release must be integer, if you want to add suffixes to
f28b6a
# %{release}, append them after %{gcc_release} on Release: line.
f28b6a
%global gcc_release 8
f28b6a
%global _unpackaged_files_terminate_build 0
f28b6a
%global multilib_64_archs sparc64 ppc64 s390x x86_64
f28b6a
%ifarch s390x
f28b6a
%global multilib_32_arch s390
f28b6a
%endif
f28b6a
%ifarch sparc64
f28b6a
%global multilib_32_arch sparcv9
f28b6a
%endif
f28b6a
%ifarch ppc64
f28b6a
%global multilib_32_arch ppc
f28b6a
%endif
f28b6a
%ifarch x86_64
f28b6a
%global multilib_32_arch i686
f28b6a
%endif
f28b6a
Summary: Compatibility GNU Compiler Collection
f28b6a
Name: compat-gcc-44
f28b6a
Version: 4.4.7
f28b6a
Release: %{gcc_release}%{?dist}
f28b6a
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
f28b6a
# GCC Runtime Exception.
f28b6a
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
f28b6a
Group: Development/Languages
f28b6a
# The source for this package was pulled from upstream's vcs.  Use the
f28b6a
# following commands to generate the tarball:
f28b6a
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch@%{SVNREV} gcc-%{version}-%{DATE}
f28b6a
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
f28b6a
Source0: gcc-%{version}-%{DATE}.tar.bz2
f28b6a
Source1: dummylib.sh
f28b6a
URL: http://gcc.gnu.org
f28b6a
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
f28b6a
# Need binutils with -pie support >= 2.14.90.0.4-4
f28b6a
# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
f28b6a
# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
f28b6a
# Need binutils which support .weakref >= 2.16.91.0.3-1
f28b6a
# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
f28b6a
# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
f28b6a
# Need binutils which support --build-id >= 2.17.50.0.17-3
f28b6a
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
f28b6a
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
f28b6a
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
f28b6a
BuildRequires: binutils >= 2.20.51.0.2-12
f28b6a
# While gcc doesn't include statically linked binaries, during testing
f28b6a
# -static is used several times.
f28b6a
BuildRequires: glibc-static
f28b6a
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
f28b6a
# For VTA guality testing
f28b6a
BuildRequires: gdb
f28b6a
# Make sure pthread.h doesn't contain __thread tokens
f28b6a
# Make sure glibc supports stack protector
f28b6a
# Make sure glibc supports DT_GNU_HASH
f28b6a
BuildRequires: glibc-devel >= 2.4.90-13
f28b6a
BuildRequires: elfutils-devel >= 0.72
f28b6a
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
f28b6a
# Make sure glibc supports TFmode long double
f28b6a
BuildRequires: glibc >= 2.3.90-35
f28b6a
%endif
f28b6a
%ifarch %{multilib_64_archs} sparcv9 ppc
f28b6a
# Ensure glibc{,-devel} is installed for both multilib arches
f28b6a
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
f28b6a
%endif
f28b6a
%ifarch ia64
f28b6a
BuildRequires: libunwind >= 0.98
f28b6a
%endif
f28b6a
# Need .eh_frame ld optimizations
f28b6a
# Need proper visibility support
f28b6a
# Need -pie support
f28b6a
# Need --as-needed/--no-as-needed support
f28b6a
# On ppc64, need omit dot symbols support and --non-overlapping-opd
f28b6a
# Need binutils that owns /usr/bin/c++filt
f28b6a
# Need binutils that support .weakref
f28b6a
# Need binutils that supports --hash-style=gnu
f28b6a
# Need binutils that support mffgpr/mftgpr
f28b6a
# Need binutils that support --build-id
f28b6a
# Need binutils that support %gnu_unique_object
f28b6a
# Need binutils that support .cfi_sections
f28b6a
# Need binutils that support --no-add-needed
f28b6a
Requires: binutils >= 2.20.51.0.2-12
f28b6a
# Make sure gdb will understand DW_FORM_strp
f28b6a
Conflicts: gdb < 5.1-2
f28b6a
Requires: glibc-devel >= 2.2.90-12
f28b6a
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
f28b6a
# Make sure glibc supports TFmode long double
f28b6a
Requires: glibc >= 2.3.90-35
f28b6a
%endif
f28b6a
Requires: libgcc >= %{version}-%{release}
f28b6a
Requires: libgomp >= %{version}-%{release}
f28b6a
AutoReq: true
f28b6a
AutoProv: false
f28b6a
Obsoletes: compat-egcs
f28b6a
Obsoletes: compat-gcc
f28b6a
Obsoletes: compat-gcc-objc
f28b6a
Obsoletes: compat-egcs-objc
f28b6a
Obsoletes: compat-gcc-g77
f28b6a
Obsoletes: compat-egcs-g77
f28b6a
Obsoletes: compat-gcc-java
f28b6a
Obsoletes: compat-libgcj
f28b6a
Obsoletes: compat-libgcj-devel
f28b6a
Obsoletes: compat-gcc-32
f28b6a
Obsoletes: compat-gcc-34
f28b6a
Obsoletes: gcc44
f28b6a
f28b6a
Patch0: gcc44-hack.patch
f28b6a
Patch1: gcc44-build-id.patch
f28b6a
Patch2: gcc44-c++-builtin-redecl.patch
f28b6a
Patch3: gcc44-ia64-libunwind.patch
f28b6a
Patch4: gcc44-java-nomulti.patch
f28b6a
Patch5: gcc44-ppc32-retaddr.patch
f28b6a
Patch6: gcc44-pr33763.patch
f28b6a
Patch7: gcc44-rh330771.patch
f28b6a
Patch8: gcc44-i386-libgomp.patch
f28b6a
Patch9: gcc44-sparc-config-detection.patch
f28b6a
Patch10: gcc44-libgomp-omp_h-multilib.patch
f28b6a
Patch11: gcc44-libtool-no-rpath.patch
f28b6a
Patch12: gcc44-cloog-dl.patch
f28b6a
Patch13: gcc44-unwind-debug-hook.patch
f28b6a
Patch14: gcc44-pr38757.patch
f28b6a
Patch15: gcc44-libstdc++-docs.patch
f28b6a
Patch16: gcc44-ppc64-aixdesc.patch
f28b6a
Patch17: gcc44-no-add-needed.patch
f28b6a
Patch18: gcc44-rh610785.patch
f28b6a
Patch19: gcc44-rh533181.patch
f28b6a
Patch20: gcc44-pr48857-test.patch
f28b6a
Patch21: gcc44-pr43680.patch
f28b6a
Patch22: gcc44-rh750545.patch
f28b6a
Patch23: gcc44-pr53199.patch
f28b6a
Patch24: gcc44-rh801144.patch
f28b6a
Patch25: gcc44-rh808590.patch
f28b6a
Patch26: gcc44-rh820281.patch
f28b6a
Patch27: gcc44-pr54858.patch
f28b6a
Patch28: gcc44-pr54487.patch
f28b6a
Patch29: gcc44-rh867878.patch
f28b6a
Patch30: gcc44-pr49146.patch
f28b6a
Patch31: gcc44-pr56403.patch
f28b6a
Patch32: gcc44-rh906234.patch
f28b6a
Patch33: gcc44-rh908025.patch
f28b6a
Patch34: gcc44-rh967003.patch
f28b6a
f28b6a
Patch100: gcc44-texinfo.patch
f28b6a
Patch101: gcc44-siginfo_t.patch
f28b6a
f28b6a
# On ARM EABI systems, we do want -gnueabi to be part of the
f28b6a
# target triple.
f28b6a
%ifnarch %{arm}
f28b6a
%global _gnu %{nil}
f28b6a
%endif
f28b6a
%ifarch sparcv9
f28b6a
%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
f28b6a
%endif
f28b6a
%ifarch ppc
f28b6a
%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
f28b6a
%endif
f28b6a
%ifnarch sparcv9 ppc
f28b6a
%global gcc_target_platform %{_target_platform}
f28b6a
%endif
f28b6a
f28b6a
%description
f28b6a
This package includes a GCC 4.4.7-RH compatibility compiler.
f28b6a
f28b6a
%package c++
f28b6a
Summary: C++ support for compatibility compiler
f28b6a
Group: Development/Languages
f28b6a
Requires: compat-gcc-44 = %{version}-%{release}
f28b6a
Requires: libstdc++ >= 4.8.0, libstdc++ < 4.9.0
f28b6a
BuildRequires: libstdc++
f28b6a
Autoreq: true
f28b6a
Autoprov: false
f28b6a
Obsoletes: compat-egcs-c++
f28b6a
Obsoletes: compat-gcc-c++
f28b6a
Obsoletes: compat-libstdc++
f28b6a
Obsoletes: compat-libstdc++-devel
f28b6a
Obsoletes: compat-gcc-32-c++
f28b6a
Obsoletes: compat-gcc-34-c++
f28b6a
Obsoletes: gcc44-c++
f28b6a
f28b6a
%description c++
f28b6a
This package includes a GCC 4.4.7-RH compatibility C++ compiler.
f28b6a
f28b6a
%package gfortran
f28b6a
Summary: Fortran support for compatibility compiler
f28b6a
Group: Development/Languages
f28b6a
Requires: compat-gcc-44 = %{version}-%{release}
f28b6a
Requires: libgfortran >= 4.8.0, libgfortran < 4.9.0
f28b6a
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
f28b6a
BuildRequires: libgfortran
f28b6a
Autoreq: true
f28b6a
Autoprov: false
f28b6a
Obsoletes: gcc3-g77
f28b6a
Obsoletes: gcc-g77
f28b6a
Obsoletes: compat-gcc-32-g77
f28b6a
Obsoletes: compat-gcc-34-g77
f28b6a
Obsoletes: gcc44-gfortran
f28b6a
f28b6a
%description gfortran
f28b6a
This package includes a GCC 4.4.7-RH compatibility Fortran compiler.
f28b6a
f28b6a
%prep
f28b6a
%setup -q -n gcc-%{version}-%{DATE}
f28b6a
%patch0 -p0 -b .hack~
f28b6a
%patch1 -p0 -b .build-id~
f28b6a
%patch2 -p0 -b .c++-builtin-redecl~
f28b6a
%patch3 -p0 -b .ia64-libunwind~
f28b6a
%patch4 -p0 -b .java-nomulti~
f28b6a
%patch5 -p0 -b .ppc32-retaddr~
f28b6a
%patch6 -p0 -b .pr33763~
f28b6a
%patch7 -p0 -b .rh330771~
f28b6a
%patch8 -p0 -b .i386-libgomp~
f28b6a
%patch9 -p0 -b .sparc-config-detection~
f28b6a
%patch10 -p0 -b .libgomp-omp_h-multilib~
f28b6a
%patch11 -p0 -b .libtool-no-rpath~
f28b6a
%patch13 -p0 -b .unwind-debug-hook~
f28b6a
%patch14 -p0 -b .pr38757~
f28b6a
%patch16 -p0 -b .ppc64-aixdesc~
f28b6a
%patch17 -p0 -b .no-add-needed~
f28b6a
%patch18 -p0 -b .rh610785~
f28b6a
%patch19 -p0 -b .rh533181~
f28b6a
%patch20 -p0 -b .pr48857-test~
f28b6a
%patch21 -p0 -b .pr43680~
f28b6a
%patch22 -p0 -b .rh750545~
f28b6a
%patch23 -p0 -b .pr53199~
f28b6a
%patch24 -p0 -b .rh801144~
f28b6a
%patch25 -p0 -b .rh808590~
f28b6a
%patch26 -p0 -b .rh820281~
f28b6a
%patch27 -p0 -b .pr54858~
f28b6a
%patch28 -p0 -b .pr54487~
f28b6a
%patch29 -p0 -b .rh867878~
f28b6a
%patch30 -p0 -b .pr49146~
f28b6a
%patch31 -p0 -b .pr56403~
f28b6a
%patch32 -p0 -b .rh906234~
f28b6a
%patch33 -p0 -b .rh908025~
f28b6a
%patch34 -p0 -b .rh967003~
f28b6a
f28b6a
%patch100 -p0 -b .texinfo~
f28b6a
%patch101 -p0 -b .siginfo_t~
f28b6a
f28b6a
#sed -i -e 's/4\.4\.7/4.4.7/' gcc/BASE-VER
f28b6a
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
f28b6a
f28b6a
# Default to -gdwarf-3 rather than -gdwarf-2
f28b6a
sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt
f28b6a
sed -i 's/\(may be either 2 or 3; the default version is \)2\./\13./' gcc/doc/invoke.texi
f28b6a
f28b6a
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
f28b6a
f28b6a
./contrib/gcc_update --touch
f28b6a
f28b6a
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
f28b6a
f28b6a
%ifarch ppc
f28b6a
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
f28b6a
  mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
f28b6a
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
f28b6a
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
f28b6a
  rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
f28b6a
fi
f28b6a
%endif
f28b6a
%ifarch sparc
f28b6a
if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
f28b6a
  mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
f28b6a
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
f28b6a
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
f28b6a
  rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
f28b6a
fi
f28b6a
%endif
f28b6a
f28b6a
%build
f28b6a
f28b6a
rm -fr obj-%{gcc_target_platform}
f28b6a
mkdir obj-%{gcc_target_platform}
f28b6a
cd obj-%{gcc_target_platform}
f28b6a
f28b6a
CC=gcc
f28b6a
OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fstack-protector-strong/-fstack-protector/g'`
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
f28b6a
%ifarch sparc
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
f28b6a
%endif
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-grecord-gcc-switches//g'`
f28b6a
%ifarch %{ix86}
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g;s/-march=x86_64//g;s/-mfpmath=sse//g'`
f28b6a
%endif
f28b6a
%ifarch ppc ppc64
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=power[4678]//g;s/-mtune=power[678]//g'`
f28b6a
%endif
f28b6a
%ifarch s390 s390x
f28b6a
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=z10//g;s/-march=z196//g;s/-mtune=zEC12//g'`
f28b6a
%endif
f28b6a
%ifarch sparc64
f28b6a
cat > gcc64 <<"EOF"
f28b6a
#!/bin/sh
f28b6a
exec /usr/bin/gcc -m64 "$@"
f28b6a
EOF
f28b6a
chmod +x gcc64
f28b6a
CC=`pwd`/gcc64
f28b6a
%endif
f28b6a
%ifarch ppc64
f28b6a
if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then
f28b6a
  cat > gcc64 <<"EOF"
f28b6a
#!/bin/sh
f28b6a
exec /usr/bin/gcc -m64 "$@"
f28b6a
EOF
f28b6a
  chmod +x gcc64
f28b6a
  CC=`pwd`/gcc64
f28b6a
fi
f28b6a
%endif
f28b6a
OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
f28b6a
case "$OPT_FLAGS" in
f28b6a
  *-fasynchronous-unwind-tables*)
f28b6a
    sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/' \
f28b6a
      ../gcc/Makefile.in
f28b6a
    ;;
f28b6a
esac
f28b6a
CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
f28b6a
	GCJFLAGS="$OPT_FLAGS" \
f28b6a
	../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
f28b6a
	--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
f28b6a
	--enable-shared --enable-threads=posix --enable-checking=release \
f28b6a
	--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
f28b6a
	--enable-gnu-unique-object --enable-languages=c,c++,fortran --disable-libgcj \
f28b6a
	--without-cloog --without-ppl \
f28b6a
%ifarch %{arm}
f28b6a
	--disable-sjlj-exceptions \
f28b6a
%endif
f28b6a
%ifarch ppc ppc64
f28b6a
	--enable-secureplt \
f28b6a
%endif
f28b6a
%ifarch sparc sparcv9 sparc64 ppc ppc64 s390 s390x alpha
f28b6a
	--with-long-double-128 \
f28b6a
%endif
f28b6a
%ifarch sparc
f28b6a
	--disable-linux-futex \
f28b6a
%endif
f28b6a
%ifarch sparc64
f28b6a
	--with-cpu=ultrasparc \
f28b6a
%endif
f28b6a
%ifarch sparc sparcv9
f28b6a
	--host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
f28b6a
%endif
f28b6a
%if 0%{?rhel} >= 6
f28b6a
%ifarch ppc ppc64
f28b6a
	--with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \
f28b6a
%endif
f28b6a
%endif
f28b6a
%ifarch ppc
f28b6a
	--build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
f28b6a
%endif
f28b6a
%ifarch %{ix86} x86_64
f28b6a
	--with-tune=generic \
f28b6a
%endif
f28b6a
%ifarch %{ix86}
f28b6a
	--with-arch=i686 \
f28b6a
%endif
f28b6a
%ifarch x86_64
f28b6a
	--with-arch_32=i686 \
f28b6a
%endif
f28b6a
%ifarch s390 s390x
f28b6a
	--with-arch=z9-109 --with-tune=z10 --enable-decimal-float \
f28b6a
%endif
f28b6a
%ifnarch sparc sparcv9 ppc
f28b6a
	--build=%{gcc_target_platform}
f28b6a
%endif
f28b6a
f28b6a
#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
f28b6a
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
f28b6a
f28b6a
# Make generated man pages even if Pod::Man is not new enough
f28b6a
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
f28b6a
for i in ../gcc/doc/*.texi; do
f28b6a
  cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
f28b6a
done
f28b6a
make -C gcc generated-manpages
f28b6a
for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
f28b6a
f28b6a
# Make generated doxygen pages.
f28b6a
f28b6a
# Copy various doc files here and there
f28b6a
cd ..
f28b6a
mkdir -p rpm.doc/gfortran
f28b6a
mkdir -p rpm.doc/changelogs/{gcc/cp,libstdc++-v3,libmudflap,libgomp}
f28b6a
f28b6a
for i in {gcc,gcc/cp,libstdc++-v3,libmudflap,libgomp}/ChangeLog*; do
f28b6a
	cp -p $i rpm.doc/changelogs/$i
f28b6a
done
f28b6a
f28b6a
(cd gcc/fortran; for i in ChangeLog*; do
f28b6a
	cp -p $i ../../rpm.doc/gfortran/$i
f28b6a
done)
f28b6a
(cd libgfortran; for i in ChangeLog*; do
f28b6a
	cp -p $i ../rpm.doc/gfortran/$i.libgfortran
f28b6a
done)
f28b6a
f28b6a
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
f28b6a
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
f28b6a
f28b6a
cd -
f28b6a
f28b6a
# Fix up libstdc++.so's
f28b6a
d_first=yes
f28b6a
for d in `pwd`/%{gcc_target_platform}/libstdc++-v3 `pwd`/%{gcc_target_platform}/*/libstdc++-v3; do
f28b6a
  test -d $d || continue
f28b6a
  pushd $d/src
f28b6a
    sh %{SOURCE1} .libs/libstdc++.so .libs/ll.so libstdc++-symbols.ver
f28b6a
    rm .libs/libstdc++.so; cp .libs/ll.so .libs/libstdc++.so
f28b6a
    if [ x"$d_first" = xyes ]; then
f28b6a
      rm .libs/libstdc++.so.6
f28b6a
      libstdcxx_so=`basename %{_prefix}/%{_lib}/libstdc++.so.6.0.*`
f28b6a
      cp -a %{_prefix}/%{_lib}/$libstdcxx_so .libs/
f28b6a
      cd .libs; ln -sf $libstdcxx_so libstdc++.so.6; cd -
f28b6a
      d_first=no
f28b6a
    fi
f28b6a
  popd
f28b6a
done
f28b6a
# Fix up libgomp.so's
f28b6a
d_first=yes
f28b6a
for d in `pwd`/%{gcc_target_platform}/libgomp `pwd`/%{gcc_target_platform}/*/libgomp; do
f28b6a
  test -d $d || continue
f28b6a
  mapf=`pwd`/../libgomp/libgomp.map
f28b6a
  pushd $d
f28b6a
    sh %{SOURCE1} .libs/libgomp.so .libs/ll.so $mapf
f28b6a
    rm .libs/libgomp.so; cp .libs/ll.so .libs/libgomp.so
f28b6a
    if [ x"$d_first" = xyes ]; then
f28b6a
      rm .libs/libgomp.so.1
f28b6a
      libgomp_so=`basename %{_prefix}/%{_lib}/libgomp.so.1.0.*`
f28b6a
      cp -a %{_prefix}/%{_lib}/$libgomp_so .libs/
f28b6a
      cd .libs; ln -sf $libgomp_so libgomp.so.1; cd -
f28b6a
      d_first=no
f28b6a
    fi
f28b6a
  popd
f28b6a
done
f28b6a
# Fix up libgfortran.so's
f28b6a
d_first=yes
f28b6a
for d in `pwd`/%{gcc_target_platform}/libgfortran `pwd`/%{gcc_target_platform}/*/libgfortran; do
f28b6a
  test -d $d || continue
f28b6a
  mapf=`pwd`/../libgfortran/gfortran.map
f28b6a
  pushd $d
f28b6a
    sh %{SOURCE1} .libs/libgfortran.so .libs/ll.so $mapf
f28b6a
    rm .libs/libgfortran.so; cp .libs/ll.so .libs/libgfortran.so
f28b6a
    if [ x"$d_first" = xyes ]; then
f28b6a
      rm .libs/libgfortran.so.3
f28b6a
      libgfortran_so=`basename %{_prefix}/%{_lib}/libgfortran.so.3.0.*`
f28b6a
      cp -a %{_prefix}/%{_lib}/$libgfortran_so .libs/
f28b6a
      cd .libs; ln -sf $libgfortran_so libgfortran.so.3; cd -
f28b6a
      d_first=no
f28b6a
    fi
f28b6a
  popd
f28b6a
done
f28b6a
# Fix up libgcc_s.so's
f28b6a
d_first=yes
f28b6a
for d in `pwd`/%{gcc_target_platform}/libgcc `pwd`/%{gcc_target_platform}/*/libgcc/*/; do
f28b6a
  test -d $d || continue
f28b6a
  pushd $d
f28b6a
    mapf=libgcc.map
f28b6a
    if [ ! -f $mapf ]; then mapf=../libgcc.map; fi
f28b6a
    sh %{SOURCE1} libgcc_s.so ll.so $mapf
f28b6a
    rm libgcc_s.so; cp ll.so libgcc_s.so
f28b6a
    if [ x"$d_first" = xyes ]; then
f28b6a
      rm libgcc_s.so.1
f28b6a
      libgcc_s_so=`basename /%{_lib}/libgcc_s-4*.so.1`
f28b6a
      cp -a /%{_lib}/$libgcc_s_so .
f28b6a
      ln -sf $libgcc_s_so libgcc_s.so.1
f28b6a
      d_first=no
f28b6a
    fi
f28b6a
  popd
f28b6a
done
f28b6a
f28b6a
%install
f28b6a
rm -fr %{buildroot}
f28b6a
f28b6a
cd obj-%{gcc_target_platform}
f28b6a
f28b6a
TARGET_PLATFORM=%{gcc_target_platform}
f28b6a
f28b6a
# There are some MP bugs in libstdc++ Makefiles
f28b6a
make -C %{gcc_target_platform}/libstdc++-v3
f28b6a
f28b6a
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
f28b6a
  infodir=%{buildroot}%{_infodir} install
f28b6a
f28b6a
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}
f28b6a
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}
f28b6a
f28b6a
# fix some things
f28b6a
gzip -9 %{buildroot}%{_infodir}/*.info*
f28b6a
f28b6a
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
f28b6a
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
f28b6a
  if ! diff -up $cxxconfig $i; then
f28b6a
    cat > %{buildroot}%{_prefix}/include/c++/%{version}/%{gcc_target_platform}/bits/c++config.h <
f28b6a
#ifndef _CPP_CPPCONFIG_WRAPPER
f28b6a
#define _CPP_CPPCONFIG_WRAPPER 1
f28b6a
#include <bits/wordsize.h>
f28b6a
#if __WORDSIZE == 32
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
f28b6a
%else
f28b6a
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
f28b6a
%endif
f28b6a
#else
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
f28b6a
%else
f28b6a
`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
f28b6a
%endif
f28b6a
#endif
f28b6a
#endif
f28b6a
EOF
f28b6a
    break
f28b6a
  fi
f28b6a
done
f28b6a
f28b6a
for f in `find %{buildroot}%{_prefix}/include/c++/%{version}/%{gcc_target_platform}/ -name c++config.h`; do
f28b6a
  for i in 1 2 4 8; do
f28b6a
    sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
f28b6a
&\
f28b6a
#endif/' $f
f28b6a
  done
f28b6a
done
f28b6a
f28b6a
# Nuke bits/stdc++.h.gch dirs
f28b6a
# 1) there is no bits/stdc++.h header installed, so when gch file can't be
f28b6a
#    used, compilation fails
f28b6a
# 2) sometimes it is hard to match the exact options used for building
f28b6a
#    libstdc++-v3 or they aren't desirable
f28b6a
# 3) there are multilib issues, conflicts etc. with this
f28b6a
# 4) it is huge
f28b6a
# People can always precompile on their own whatever they want, but
f28b6a
# shipping this for everybody is unnecessary.
f28b6a
rm -rf %{buildroot}%{_prefix}/include/c++/%{version}/%{gcc_target_platform}/bits/stdc++.h.gch
f28b6a
f28b6a
%ifarch sparcv9 sparc64
f28b6a
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
f28b6a
  %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
f28b6a
%endif
f28b6a
%ifarch ppc ppc64
f28b6a
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
f28b6a
  %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
f28b6a
%endif
f28b6a
f28b6a
find %{buildroot} -name \*.la | xargs rm -f
f28b6a
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
f28b6a
f28b6a
OBJDIR=`pwd`/%{gcc_target_platform}
f28b6a
pushd $FULLPATH
f28b6a
cp -a $OBJDIR/libstdc++-v3/src/.libs/libstdc++.so .
f28b6a
cp -a $OBJDIR/libgfortran/.libs/libgfortran.so .
f28b6a
cp -a $OBJDIR/libgcc/libgcc_s.so .
f28b6a
cp -a $OBJDIR/libgomp/.libs/libgomp.so .
f28b6a
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
f28b6a
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLPATH/
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLPATH/
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLPATH/
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a $FULLPATH/
f28b6a
mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLPATH/
f28b6a
f28b6a
%ifarch sparcv9 ppc
f28b6a
mkdir -p 64
f28b6a
cp -a $OBJDIR/64/libstdc++-v3/src/.libs/libstdc++.so 64/
f28b6a
cp -a $OBJDIR/64/libgfortran/.libs/libgfortran.so 64/
f28b6a
cp -a $OBJDIR/64/libgcc/64/libgcc_s.so 64/
f28b6a
cp -a $OBJDIR/64/libgomp/.libs/libgomp.so 64/
f28b6a
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so
f28b6a
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so
f28b6a
mv -f %{buildroot}%{_prefix}/lib64/libstdc++.*a 64/
f28b6a
mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
f28b6a
mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
f28b6a
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
f28b6a
mv -f %{buildroot}%{_prefix}/lib64/libmudflap{,th}.*a 64/
f28b6a
%endif
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
mkdir -p 32
f28b6a
cp -a $OBJDIR/32/libstdc++-v3/src/.libs/libstdc++.so 32/
f28b6a
cp -a $OBJDIR/32/libgfortran/.libs/libgfortran.so 32/
f28b6a
cp -a $OBJDIR/32/libgcc/32/libgcc_s.so 32/
f28b6a
cp -a $OBJDIR/32/libgomp/.libs/libgomp.so 32/
f28b6a
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
f28b6a
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
f28b6a
mv -f %{buildroot}%{_prefix}/lib/libstdc++.*a 32/
f28b6a
mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
f28b6a
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
f28b6a
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
f28b6a
mv -f %{buildroot}%{_prefix}/lib/libmudflap{,th}.*a 32/
f28b6a
%endif
f28b6a
f28b6a
%ifarch ppc
f28b6a
mv -f $FULLPATH/libgcc_s.so $FULLPATH/libgcc_s_shared.so
f28b6a
echo '/* GNU ld script
f28b6a
   Use the shared library, but some functions are only in
f28b6a
   the static library, so try that secondarily.  */
f28b6a
OUTPUT_FORMAT(elf32-powerpc)
f28b6a
GROUP ( libgcc_s_shared.so libgcc.a )' > $FULLPATH/libgcc_s.so
f28b6a
%endif
f28b6a
%ifarch ppc64
f28b6a
mv -f $FULLPATH/32/libgcc_s.so $FULLPATH/32/libgcc_s_shared.so
f28b6a
echo '/* GNU ld script
f28b6a
   Use the shared library, but some functions are only in
f28b6a
   the static library, so try that secondarily.  */
f28b6a
OUTPUT_FORMAT(elf32-powerpc)
f28b6a
GROUP ( libgcc_s_shared.so libgcc.a )' > $FULLPATH/32/libgcc_s.so
f28b6a
%endif
f28b6a
f28b6a
# Strip debug info from Fortran/ObjC/Java static libraries
f28b6a
strip -g `find . \( -name libgfortran.a -o -name libgomp.a \
f28b6a
		    -o -name libmudflap.a -o -name libmudflapth.a \
f28b6a
		    -o -name libgcc.a -o -name libgcov.a \
f28b6a
		    -o -name libstdc++.a -o -name libsupc++.a \
f28b6a
		    -o -name libgcc_eh.a \) -a -type f`
f28b6a
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
f28b6a
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
f28b6a
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
f28b6a
f28b6a
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
f28b6a
mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
f28b6a
for h in `find $FULLPATH/include -name \*.h`; do
f28b6a
  if grep -q 'It has been auto-edited by fixincludes from' $h; then
f28b6a
    rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
f28b6a
    diff -up $rh $h || :
f28b6a
    rm -f $h
f28b6a
  fi
f28b6a
done
f28b6a
f28b6a
cd ..
f28b6a
f28b6a
for i in %{buildroot}%{_prefix}/bin/{*gcc,*++,gcov,gfortran}; do
f28b6a
  mv -f $i ${i}44
f28b6a
done
f28b6a
for i in %{buildroot}%{_mandir}/man1/{gcc,g++,gcov,gfortran}; do
f28b6a
  mv -f $i.1 ${i}44.1
f28b6a
done
f28b6a
for i in %{buildroot}%{_infodir}/{gcc,gfortran}; do
f28b6a
  mv -f $i.info.gz ${i}44.info.gz
f28b6a
done
f28b6a
f28b6a
# Remove binaries we will not be including, so that they don't end up in
f28b6a
# gcc-debuginfo
f28b6a
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a}
f28b6a
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
f28b6a
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
f28b6a
rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
f28b6a
rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-{gcc*,c++*,g++*gfortran*}
f28b6a
rm -f %{buildroot}%{_prefix}/bin/cpp
f28b6a
f28b6a
rm -f %{buildroot}%{_prefix}/%{_lib}/lib*.so*
f28b6a
rm -f %{buildroot}%{_prefix}/%{_lib}/lib*.a
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
# Remove libraries for the other arch on multilib arches
f28b6a
rm -f %{buildroot}%{_prefix}/lib/lib*.so*
f28b6a
rm -f %{buildroot}%{_prefix}/lib/lib*.a
f28b6a
%else
f28b6a
%ifarch sparcv9 ppc
f28b6a
rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
f28b6a
rm -f %{buildroot}%{_prefix}/lib64/lib*.a
f28b6a
%endif
f28b6a
%endif
f28b6a
f28b6a
%check
f28b6a
cd obj-%{gcc_target_platform}
f28b6a
f28b6a
# run the tests.
f28b6a
make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
f28b6a
echo ====================TESTING=========================
f28b6a
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
f28b6a
echo ====================TESTING END=====================
f28b6a
mkdir testlogs-%{_target_platform}-%{version}-%{release}
f28b6a
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
f28b6a
  ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
f28b6a
done
f28b6a
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
f28b6a
  | uuencode testlogs-%{_target_platform}.tar.bz2 || :
f28b6a
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
f28b6a
f28b6a
%clean
f28b6a
rm -rf %{buildroot}
f28b6a
f28b6a
%files
f28b6a
%defattr(-,root,root,-)
f28b6a
%{_prefix}/bin/gcc44
f28b6a
%{_prefix}/bin/gcov44
f28b6a
%{_mandir}/man1/gcc44.1*
f28b6a
%{_mandir}/man1/gcov44.1*
f28b6a
%{_infodir}/gcc44*
f28b6a
%dir %{_prefix}/lib/gcc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}
f28b6a
%dir %{_prefix}/libexec/gcc
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}
f28b6a
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}/cc1
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/stddef.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/stdarg.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/stdfix.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/varargs.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/float.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/limits.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/stdbool.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/iso646.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/syslimits.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/unwind.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/omp.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/mf-runtime.h
f28b6a
%ifarch %{ix86} x86_64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/mmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/xmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/emmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/pmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/tmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/ammintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/smmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/nmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/bmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/wmmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/immintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/avxintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/x86intrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/fma4intrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/xopintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/lwpintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/abmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/popcntintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/bmiintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/tbmintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/f16cintrin.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/mm_malloc.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/mm3dnow.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/cpuid.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/cross-stdarg.h
f28b6a
%endif
f28b6a
%ifarch ia64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/ia64intrin.h
f28b6a
%endif
f28b6a
%ifarch ppc ppc64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/ppc-asm.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/altivec.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/spe.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/paired.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/ppu_intrinsics.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/si2vmx.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/spu2vmx.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include/vec_types.h
f28b6a
%endif
f28b6a
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}/collect2
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/crt*.o
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgcc.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgcov.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgcc_eh.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgcc_s.so
f28b6a
%ifarch ppc
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgcc_s_shared.so
f28b6a
%endif
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgomp.spec
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgomp.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgomp.so
f28b6a
%ifarch sparcv9 ppc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/crt*.o
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgcc.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgcov.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgcc_eh.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgcc_s.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgomp.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgomp.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libmudflap.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libmudflapth.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libmudflap.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libmudflapth.so
f28b6a
%endif
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/crt*.o
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgcc.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgcov.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgcc_eh.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgcc_s.so
f28b6a
%ifarch ppc64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgcc_s_shared.so
f28b6a
%endif
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgomp.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgomp.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libmudflap.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libmudflapth.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libmudflap.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libmudflapth.so
f28b6a
%endif
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libmudflap.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libmudflapth.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libmudflap.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libmudflapth.so
f28b6a
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
f28b6a
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
f28b6a
f28b6a
%files c++
f28b6a
%defattr(-,root,root,-)
f28b6a
%{_prefix}/bin/g++44
f28b6a
%{_mandir}/man1/g++44.1*
f28b6a
%dir %{_prefix}/include/c++
f28b6a
%dir %{_prefix}/include/c++/%{version}
f28b6a
%{_prefix}/include/c++/%{version}/[^gjos]*
f28b6a
%{_prefix}/include/c++/%{version}/os*
f28b6a
%{_prefix}/include/c++/%{version}/s[^u]*
f28b6a
%dir %{_prefix}/lib/gcc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}
f28b6a
%dir %{_prefix}/libexec/gcc
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}
f28b6a
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}/cc1plus
f28b6a
%ifarch sparcv9 ppc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libstdc++.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libstdc++.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libsupc++.a
f28b6a
%endif
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libstdc++.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libstdc++.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libsupc++.a
f28b6a
%endif
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libstdc++.so
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libstdc++.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libsupc++.a
f28b6a
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
f28b6a
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
f28b6a
f28b6a
%files gfortran
f28b6a
%defattr(-,root,root,-)
f28b6a
%{_prefix}/bin/gfortran44
f28b6a
%{_mandir}/man1/gfortran44.1*
f28b6a
%{_infodir}/gfortran44*
f28b6a
%dir %{_prefix}/lib/gcc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}
f28b6a
%dir %{_prefix}/libexec/gcc
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f28b6a
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/finclude
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/finclude/omp_lib.h
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/finclude/omp_lib.f90
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/finclude/omp_lib.mod
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/finclude/omp_lib_kinds.mod
f28b6a
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version}/f951
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgfortranbegin.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgfortran.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/libgfortran.so
f28b6a
%ifarch sparcv9 ppc
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgfortranbegin.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgfortran.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/64/libgfortran.so
f28b6a
%endif
f28b6a
%ifarch %{multilib_64_archs}
f28b6a
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgfortranbegin.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgfortran.a
f28b6a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/32/libgfortran.so
f28b6a
%endif
f28b6a
%doc rpm.doc/gfortran/*
f28b6a
f28b6a
%changelog
f28b6a
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 4.4.7-8
f28b6a
- Mass rebuild 2014-01-24
f28b6a
f28b6a
* Tue Jan  7 2014 Jakub Jelinek <jakub@redhat.com> 4.4.7-7
f28b6a
- change -fstack-protector-strong to -fstack-protector in optflags,
f28b6a
  remove -march=x86-64 and -mfpmath=sse for ix86 (#1048852)
f28b6a
f28b6a
* Mon Jan  6 2014 Marek Polacek <polacek@redhat.com> 4.4.7-6
f28b6a
- #1043605: fix bogus CL date
f28b6a
f28b6a
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> 4.4.7-5
f28b6a
- mass rebuild 2013-12-27
f28b6a
f28b6a
* Fri Nov  1 2013 Marek Polacek <polacek@redhat.com> 4.4.7-4
f28b6a
- don't obsolete compat-libstdc++-33 (#1031748)
f28b6a
f28b6a
* Sat Jul 20 2013 Jakub Jelinek <jakub@redhat.com> 4.4.7-3
f28b6a
- new compat package