Blame SPECS/compat-gcc-44.spec

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