4.4.0-5
This commit is contained in:
parent
6636b57642
commit
ff4c956886
|
@ -1,2 +1,2 @@
|
||||||
fastjar-0.97.tar.gz
|
fastjar-0.97.tar.gz
|
||||||
gcc-4.4.0-20090506.tar.bz2
|
gcc-4.4.0-20090514.tar.bz2
|
||||||
|
|
334
gcc.spec
334
gcc.spec
|
@ -1,41 +1,41 @@
|
||||||
%define DATE 20090506
|
%global DATE 20090514
|
||||||
%define SVNREV 147193
|
%global SVNREV 147523
|
||||||
%define gcc_version 4.4.0
|
%global gcc_version 4.4.0
|
||||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||||
# %{release}, append them after %{gcc_release} on Release: line.
|
# %{release}, append them after %{gcc_release} on Release: line.
|
||||||
%define gcc_release 4
|
%global gcc_release 5
|
||||||
%define _unpackaged_files_terminate_build 0
|
%global _unpackaged_files_terminate_build 0
|
||||||
%define multilib_64_archs sparc64 ppc64 s390x x86_64
|
%global multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||||
%define include_gappletviewer 1
|
%global include_gappletviewer 1
|
||||||
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
|
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
|
||||||
%define build_ada 1
|
%global build_ada 1
|
||||||
%else
|
%else
|
||||||
%define build_ada 0
|
%global build_ada 0
|
||||||
%endif
|
%endif
|
||||||
%define build_java 1
|
%global build_java 1
|
||||||
%ifarch %{sparc}
|
%ifarch %{sparc}
|
||||||
%define build_cloog 0
|
%global build_cloog 0
|
||||||
%else
|
%else
|
||||||
%define build_cloog 1
|
%global build_cloog 1
|
||||||
%endif
|
%endif
|
||||||
%define build_libstdcxx_docs 1
|
%global build_libstdcxx_docs 1
|
||||||
# If you don't have already a usable gcc-java and libgcj for your arch,
|
# 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 gcc41.spec
|
# do on some arch which has it rpmbuild -bc --with java_tar gcc41.spec
|
||||||
# which creates libjava-classes-%{version}-%{release}.tar.bz2
|
# which creates libjava-classes-%{version}-%{release}.tar.bz2
|
||||||
# With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc41.spec
|
# With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc41.spec
|
||||||
%define bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0}
|
%global bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0}
|
||||||
%define build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0}
|
%global build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0}
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
%define multilib_32_arch s390
|
%global multilib_32_arch s390
|
||||||
%endif
|
%endif
|
||||||
%ifarch sparc64
|
%ifarch sparc64
|
||||||
%define multilib_32_arch sparcv9
|
%global multilib_32_arch sparcv9
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
%define multilib_32_arch ppc
|
%global multilib_32_arch ppc
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%define multilib_32_arch i586
|
%global multilib_32_arch i586
|
||||||
%endif
|
%endif
|
||||||
Summary: Various compilers (C, C++, Objective-C, Java, ...)
|
Summary: Various compilers (C, C++, Objective-C, Java, ...)
|
||||||
Name: gcc
|
Name: gcc
|
||||||
|
@ -53,7 +53,7 @@ Source0: gcc-%{version}-%{DATE}.tar.bz2
|
||||||
Source1: libgcc_post_upgrade.c
|
Source1: libgcc_post_upgrade.c
|
||||||
Source2: README.libgcjwebplugin.so
|
Source2: README.libgcjwebplugin.so
|
||||||
Source3: protoize.1
|
Source3: protoize.1
|
||||||
%define fastjar_ver 0.97
|
%global fastjar_ver 0.97
|
||||||
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
|
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
|
||||||
URL: http://gcc.gnu.org
|
URL: http://gcc.gnu.org
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
@ -132,7 +132,8 @@ Obsoletes: libgnat < %{version}-%{release}
|
||||||
%if %{build_cloog}
|
%if %{build_cloog}
|
||||||
Requires: cloog-ppl >= 0.15
|
Requires: cloog-ppl >= 0.15
|
||||||
%endif
|
%endif
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
AutoReq: true
|
AutoReq: true
|
||||||
|
|
||||||
Patch0: gcc44-hack.patch
|
Patch0: gcc44-hack.patch
|
||||||
|
@ -158,25 +159,23 @@ Patch27: gcc44-power7-3.patch
|
||||||
Patch28: gcc44-pr38757.patch
|
Patch28: gcc44-pr38757.patch
|
||||||
Patch29: gcc44-pr39856.patch
|
Patch29: gcc44-pr39856.patch
|
||||||
Patch30: gcc44-libstdc++-docs.patch
|
Patch30: gcc44-libstdc++-docs.patch
|
||||||
Patch31: gcc44-pr39666.patch
|
Patch31: gcc44-pr39942.patch
|
||||||
Patch32: gcc44-pr40035.patch
|
|
||||||
Patch33: gcc44-pr39942.patch
|
|
||||||
|
|
||||||
Patch1000: fastjar-0.97-segfault.patch
|
Patch1000: fastjar-0.97-segfault.patch
|
||||||
|
|
||||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||||
# target triple.
|
# target triple.
|
||||||
%ifnarch %{arm}
|
%ifnarch %{arm}
|
||||||
%define _gnu %{nil}
|
%global _gnu %{nil}
|
||||||
%endif
|
%endif
|
||||||
%ifarch sparcv9
|
%ifarch sparcv9
|
||||||
%define gcc_target_platform sparc64-%{_vendor}-%{_target_os}
|
%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc
|
%ifarch ppc
|
||||||
%define gcc_target_platform ppc64-%{_vendor}-%{_target_os}
|
%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
|
||||||
%endif
|
%endif
|
||||||
%ifnarch sparcv9 ppc
|
%ifnarch sparcv9 ppc
|
||||||
%define gcc_target_platform %{_target_platform}
|
%global gcc_target_platform %{_target_platform}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
@ -270,7 +269,8 @@ Group: Development/Languages
|
||||||
Requires: gcc = %{version}-%{release}
|
Requires: gcc = %{version}-%{release}
|
||||||
Requires: libgfortran = %{version}-%{release}
|
Requires: libgfortran = %{version}-%{release}
|
||||||
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
|
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
Autoreq: true
|
Autoreq: true
|
||||||
|
|
||||||
%description gfortran
|
%description gfortran
|
||||||
|
@ -289,7 +289,8 @@ Fortran dynamically linked programs.
|
||||||
%package -n libgomp
|
%package -n libgomp
|
||||||
Summary: GCC OpenMP v3.0 shared support library
|
Summary: GCC OpenMP v3.0 shared support library
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
|
|
||||||
%description -n libgomp
|
%description -n libgomp
|
||||||
This package contains GCC shared support library which is needed
|
This package contains GCC shared support library which is needed
|
||||||
|
@ -324,7 +325,8 @@ Requires: gcc = %{version}-%{release}
|
||||||
Requires: libgcj = %{version}-%{release}
|
Requires: libgcj = %{version}-%{release}
|
||||||
Requires: libgcj-devel = %{version}-%{release}
|
Requires: libgcj-devel = %{version}-%{release}
|
||||||
Requires: /usr/share/java/eclipse-ecj.jar
|
Requires: /usr/share/java/eclipse-ecj.jar
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
Autoreq: true
|
Autoreq: true
|
||||||
|
|
||||||
%description java
|
%description java
|
||||||
|
@ -334,7 +336,8 @@ bytecode into native code.
|
||||||
%package -n libgcj
|
%package -n libgcj
|
||||||
Summary: Java runtime library for gcc
|
Summary: Java runtime library for gcc
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
Requires: zip >= 2.1
|
Requires: zip >= 2.1
|
||||||
Requires: gtk2 >= 2.4.0
|
Requires: gtk2 >= 2.4.0
|
||||||
Requires: glib2 >= 2.4.0
|
Requires: glib2 >= 2.4.0
|
||||||
|
@ -379,7 +382,8 @@ The Java(tm) runtime library sources for use in Eclipse.
|
||||||
%package -n cpp
|
%package -n cpp
|
||||||
Summary: The C Preprocessor
|
Summary: The C Preprocessor
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
Autoreq: true
|
Autoreq: true
|
||||||
|
|
||||||
%description -n cpp
|
%description -n cpp
|
||||||
|
@ -409,7 +413,8 @@ Summary: Ada 95 support for GCC
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
Requires: gcc = %{version}-%{release}
|
Requires: gcc = %{version}-%{release}
|
||||||
Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
|
Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
|
||||||
Prereq: /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
|
Requires(preun): /sbin/install-info
|
||||||
Autoreq: true
|
Autoreq: true
|
||||||
|
|
||||||
%description gnat
|
%description gnat
|
||||||
|
@ -463,9 +468,7 @@ which are required to compile with the GNAT.
|
||||||
%if %{build_libstdcxx_docs}
|
%if %{build_libstdcxx_docs}
|
||||||
%patch30 -p0 -b .libstdc++-docs~
|
%patch30 -p0 -b .libstdc++-docs~
|
||||||
%endif
|
%endif
|
||||||
%patch31 -p0 -b .pr39666~
|
%patch31 -p0 -b .pr39942~
|
||||||
%patch32 -p0 -b .pr40035~
|
|
||||||
%patch33 -p0 -b .pr39942~
|
|
||||||
|
|
||||||
# This testcase doesn't compile.
|
# This testcase doesn't compile.
|
||||||
rm libjava/testsuite/libjava.lang/PR35020*
|
rm libjava/testsuite/libjava.lang/PR35020*
|
||||||
|
@ -519,7 +522,7 @@ fi
|
||||||
# fastjar, build it anyway.
|
# fastjar, build it anyway.
|
||||||
mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||||
cd fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
cd fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||||
../configure CFLAGS="$RPM_OPT_FLAGS" --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
|
../configure CFLAGS="%{optflags}" --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
export PATH=`pwd`${PATH:+:$PATH}
|
export PATH=`pwd`${PATH:+:$PATH}
|
||||||
cd ../../
|
cd ../../
|
||||||
|
@ -559,7 +562,7 @@ cd ..
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
CC=gcc
|
CC=gcc
|
||||||
OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//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/-m64//g;s/-m32//g;s/-m31//g'`
|
||||||
%ifarch sparc
|
%ifarch sparc
|
||||||
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
|
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
|
||||||
|
@ -658,19 +661,6 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
|
||||||
#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
|
#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
|
||||||
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
|
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
|
||||||
|
|
||||||
# run the tests.
|
|
||||||
make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
|
|
||||||
echo ====================TESTING=========================
|
|
||||||
( ../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\|ada'`; do
|
|
||||||
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
|
|
||||||
done
|
|
||||||
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
|
|
||||||
| uuencode testlogs-%{_target_platform}.tar.bz2 || :
|
|
||||||
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
|
|
||||||
|
|
||||||
# Make protoize
|
# Make protoize
|
||||||
make -C gcc CC="./xgcc -B ./ -O2" proto
|
make -C gcc CC="./xgcc -B ./ -O2" proto
|
||||||
|
|
||||||
|
@ -738,7 +728,7 @@ tar cf - -T libjava-classes.list | bzip2 -9 > $RPM_SOURCE_DIR/libjava-classes-%{
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -fr $RPM_BUILD_ROOT
|
rm -fr %{buildroot}
|
||||||
|
|
||||||
cd obj-%{gcc_target_platform}
|
cd obj-%{gcc_target_platform}
|
||||||
|
|
||||||
|
@ -754,31 +744,31 @@ TARGET_PLATFORM=%{gcc_target_platform}
|
||||||
# There are some MP bugs in libstdc++ Makefiles
|
# There are some MP bugs in libstdc++ Makefiles
|
||||||
make -C %{gcc_target_platform}/libstdc++-v3
|
make -C %{gcc_target_platform}/libstdc++-v3
|
||||||
|
|
||||||
make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \
|
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
|
||||||
infodir=$RPM_BUILD_ROOT%{_infodir} install
|
infodir=%{buildroot}%{_infodir} install
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT -C %{gcc_target_platform}/libjava install-src.zip
|
make DESTDIR=%{buildroot} -C %{gcc_target_platform}/libjava install-src.zip
|
||||||
%endif
|
%endif
|
||||||
%if %{build_ada}
|
%if %{build_ada}
|
||||||
chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
|
chmod 644 %{buildroot}%{_infodir}/gnat*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
|
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
|
|
||||||
# fix some things
|
# fix some things
|
||||||
ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc
|
ln -sf gcc %{buildroot}%{_prefix}/bin/cc
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib
|
mkdir -p %{buildroot}/lib
|
||||||
ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp
|
ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp
|
||||||
ln -sf gfortran $RPM_BUILD_ROOT%{_prefix}/bin/f95
|
ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
|
||||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
rm -f %{buildroot}%{_infodir}/dir
|
||||||
gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info*
|
gzip -9 %{buildroot}%{_infodir}/*.info*
|
||||||
ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc
|
ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
|
||||||
|
|
||||||
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
|
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
|
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
|
if ! diff -up $cxxconfig $i; then
|
||||||
cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <<EOF
|
cat > %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <<EOF
|
||||||
#ifndef _CPP_CPPCONFIG_WRAPPER
|
#ifndef _CPP_CPPCONFIG_WRAPPER
|
||||||
#define _CPP_CPPCONFIG_WRAPPER 1
|
#define _CPP_CPPCONFIG_WRAPPER 1
|
||||||
#include <bits/wordsize.h>
|
#include <bits/wordsize.h>
|
||||||
|
@ -801,7 +791,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for f in `find $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/ -name c++config.h`; do
|
for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/ -name c++config.h`; do
|
||||||
for i in 1 2 4 8; 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'\
|
sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
|
||||||
&\
|
&\
|
||||||
|
@ -818,25 +808,25 @@ done
|
||||||
# 4) it is huge
|
# 4) it is huge
|
||||||
# People can always precompile on their own whatever they want, but
|
# People can always precompile on their own whatever they want, but
|
||||||
# shipping this for everybody is unnecessary.
|
# shipping this for everybody is unnecessary.
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/stdc++.h.gch
|
rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/stdc++.h.gch
|
||||||
|
|
||||||
%if %{build_libstdcxx_docs}
|
%if %{build_libstdcxx_docs}
|
||||||
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
|
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
|
||||||
mkdir -p ../rpm.doc/libstdc++-v3
|
mkdir -p ../rpm.doc/libstdc++-v3
|
||||||
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
|
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
|
||||||
mv $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
|
mv $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}
|
mkdir -p %{buildroot}%{_mandir}
|
||||||
mv $libstdcxx_doc_builddir/man/man3 $RPM_BUILD_ROOT%{_mandir}/man3/
|
mv $libstdcxx_doc_builddir/man/man3 %{buildroot}%{_mandir}/man3/
|
||||||
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
|
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch sparcv9 sparc64
|
%ifarch sparcv9 sparc64
|
||||||
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
|
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
|
||||||
$RPM_BUILD_ROOT%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
|
%{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc ppc64
|
%ifarch ppc ppc64
|
||||||
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
|
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
|
||||||
$RPM_BUILD_ROOT%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
|
%{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch sparcv9 ppc
|
%ifarch sparcv9 ppc
|
||||||
|
@ -851,24 +841,24 @@ else
|
||||||
FULLLPATH=$FULLPATH
|
FULLLPATH=$FULLPATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
|
find %{buildroot} -name \*.la | xargs rm -f
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
# gcj -static doesn't work properly anyway, unless using --whole-archive
|
# gcj -static doesn't work properly anyway, unless using --whole-archive
|
||||||
# and saving 35MB is not bad.
|
# and saving 35MB is not bad.
|
||||||
find $RPM_BUILD_ROOT -name libgcj.a -o -name libgtkpeer.a \
|
find %{buildroot} -name libgcj.a -o -name libgtkpeer.a \
|
||||||
-o -name libgjsmalsa.a -o -name libgcj-tools.a -o -name libjvm.a \
|
-o -name libgjsmalsa.a -o -name libgcj-tools.a -o -name libjvm.a \
|
||||||
-o -name libgij.a -o -name libgcj_bc.a -o -name libjavamath.a \
|
-o -name libgij.a -o -name libgcj_bc.a -o -name libjavamath.a \
|
||||||
| xargs rm -f
|
| xargs rm -f
|
||||||
|
|
||||||
mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/
|
mv %{buildroot}%{_prefix}/lib/libgcj.spec $FULLPATH/
|
||||||
sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \
|
sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \
|
||||||
$FULLPATH/libgcj.spec
|
$FULLPATH/libgcj.spec
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_lib}
|
mkdir -p %{buildroot}/%{_lib}
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
||||||
chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
||||||
ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
|
ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
|
||||||
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
|
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
|
||||||
%ifarch sparcv9 ppc
|
%ifarch sparcv9 ppc
|
||||||
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
|
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
|
||||||
|
@ -877,30 +867,30 @@ ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
|
||||||
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
|
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
|
||||||
|
|
||||||
%if %{build_ada}
|
%if %{build_ada}
|
||||||
mv -f $FULLPATH/adalib/libgnarl-*.so $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
|
mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/
|
||||||
mv -f $FULLPATH/adalib/libgnat-*.so $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
|
mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/
|
||||||
rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
|
rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/getconf
|
mkdir -p %{buildroot}%{_prefix}/libexec/getconf
|
||||||
if gcc/xgcc -B gcc/ -E -dD -xc /dev/null | grep __LONG_MAX__.*2147483647; then
|
if gcc/xgcc -B gcc/ -E -dD -xc /dev/null | grep __LONG_MAX__.*2147483647; then
|
||||||
ln -sf POSIX_V6_ILP32_OFF32 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/default
|
ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
|
||||||
else
|
else
|
||||||
ln -sf POSIX_V6_LP64_OFF64 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/default
|
ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=%{buildroot}
|
||||||
popd
|
popd
|
||||||
|
|
||||||
if [ "%{_lib}" != "lib" ]; then
|
if [ "%{_lib}" != "lib" ]; then
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_lib}/pkgconfig
|
mkdir -p %{buildroot}%{_prefix}/%{_lib}/pkgconfig
|
||||||
sed '/^libdir/s/lib$/%{_lib}/' $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj-*.pc \
|
sed '/^libdir/s/lib$/%{_lib}/' %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc \
|
||||||
> $RPM_BUILD_ROOT%{_prefix}/%{_lib}/pkgconfig/`basename $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj-*.pc`
|
> %{buildroot}%{_prefix}/%{_lib}/pkgconfig/`basename %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc`
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -931,14 +921,14 @@ ln -sf ../../../../%{_lib}/libgij.so.10.* libgij.so
|
||||||
%endif
|
%endif
|
||||||
fi
|
fi
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcj_bc.so $FULLLPATH/
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcj_bc.so $FULLLPATH/
|
||||||
%endif
|
%endif
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libsupc++.*a .
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.*a .
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.*a .
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.*a .
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
|
mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
|
||||||
|
|
||||||
%if %{build_ada}
|
%if %{build_ada}
|
||||||
%ifarch sparcv9 ppc
|
%ifarch sparcv9 ppc
|
||||||
|
@ -996,10 +986,10 @@ ln -sf ../`echo ../../../../lib/libgij.so.10.* | sed s~/lib/~/lib64/~` 64/libgij
|
||||||
ln -sf lib32/libgcj_bc.so libgcj_bc.so
|
ln -sf lib32/libgcj_bc.so libgcj_bc.so
|
||||||
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
|
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
|
||||||
%endif
|
%endif
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libsupc++.*a 64/
|
mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortran.*a 64/
|
mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libobjc.*a 64/
|
mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgomp.*a 64/
|
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
|
||||||
ln -sf lib32/libstdc++.a libstdc++.a
|
ln -sf lib32/libstdc++.a libstdc++.a
|
||||||
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
|
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
|
||||||
ln -sf lib32/libmudflap.a libmudflap.a
|
ln -sf lib32/libmudflap.a libmudflap.a
|
||||||
|
@ -1029,10 +1019,10 @@ ln -sf ../`echo ../../../../lib64/libgcj.so.10.* | sed s~/../lib64/~/~` 32/libgc
|
||||||
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.10.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
|
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.10.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
|
||||||
ln -sf ../`echo ../../../../lib64/libgij.so.10.* | sed s~/../lib64/~/~` 32/libgij.so
|
ln -sf ../`echo ../../../../lib64/libgij.so.10.* | sed s~/../lib64/~/~` 32/libgij.so
|
||||||
%endif
|
%endif
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/
|
mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortran.*a 32/
|
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/
|
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
|
||||||
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgomp.*a 32/
|
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
|
||||||
%endif
|
%endif
|
||||||
%ifarch sparc64 ppc64
|
%ifarch sparc64 ppc64
|
||||||
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
|
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
|
||||||
|
@ -1071,14 +1061,14 @@ strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
|
||||||
-o -name libmudflap.a -o -name libmudflapth.a \
|
-o -name libmudflap.a -o -name libmudflapth.a \
|
||||||
-o -name libgcc.a -o -name libgcov.a \) -a -type f`
|
-o -name libgcc.a -o -name libgcov.a \) -a -type f`
|
||||||
popd
|
popd
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.so.3.*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.so.1.*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.so.2.*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.2.*
|
||||||
|
|
||||||
%if %{build_ada}
|
%if %{build_ada}
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnarl*so*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnat*so*
|
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
|
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
|
||||||
|
@ -1091,7 +1081,7 @@ for h in `find $FULLPATH/include -name \*.h`; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF"
|
cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
fl="-std=c89"
|
fl="-std=c89"
|
||||||
for opt; do
|
for opt; do
|
||||||
|
@ -1103,7 +1093,7 @@ for opt; do
|
||||||
done
|
done
|
||||||
exec gcc $fl ${1+"$@"}
|
exec gcc $fl ${1+"$@"}
|
||||||
EOF
|
EOF
|
||||||
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF"
|
cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
fl="-std=c99"
|
fl="-std=c99"
|
||||||
for opt; do
|
for opt; do
|
||||||
|
@ -1115,11 +1105,11 @@ for opt; do
|
||||||
done
|
done
|
||||||
exec gcc $fl ${1+"$@"}
|
exec gcc $fl ${1+"$@"}
|
||||||
EOF
|
EOF
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9
|
chmod 755 %{buildroot}%{_prefix}/bin/c?9
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/sbin
|
mkdir -p %{buildroot}%{_prefix}/sbin
|
||||||
gcc -static -Os %{SOURCE1} -o $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade
|
gcc -static -Os %{SOURCE1} -o %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
|
||||||
strip $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade
|
strip %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
@ -1127,38 +1117,54 @@ cd ..
|
||||||
|
|
||||||
# Remove binaries we will not be including, so that they don't end up in
|
# Remove binaries we will not be including, so that they don't end up in
|
||||||
# gcc-debuginfo
|
# gcc-debuginfo
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/{libffi*,libiberty.a}
|
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a}
|
||||||
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
|
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/{32,64}/libiberty.a
|
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libssp*
|
rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gnative2ascii
|
rm -f %{buildroot}%{_prefix}/bin/gnative2ascii
|
||||||
|
|
||||||
%ifarch %{multilib_64_archs}
|
%ifarch %{multilib_64_archs}
|
||||||
# Remove libraries for the other arch on multilib arches
|
# Remove libraries for the other arch on multilib arches
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/lib*.so*
|
rm -f %{buildroot}%{_prefix}/lib/lib*.so*
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/lib*.a
|
rm -f %{buildroot}%{_prefix}/lib/lib*.a
|
||||||
%else
|
%else
|
||||||
%ifarch sparcv9 ppc
|
%ifarch sparcv9 ppc
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/lib*.so*
|
rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
|
||||||
rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/lib*.a
|
rm -f %{buildroot}%{_prefix}/lib64/lib*.a
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \
|
mkdir -p %{buildroot}%{_prefix}/share/java/gcj-endorsed \
|
||||||
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
|
%{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
|
||||||
chmod 755 $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \
|
chmod 755 %{buildroot}%{_prefix}/share/java/gcj-endorsed \
|
||||||
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version} \
|
%{buildroot}%{_prefix}/%{_lib}/gcj-%{version} \
|
||||||
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
|
%{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
|
||||||
touch $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
|
touch %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/protoize.1
|
install -m644 %{SOURCE3} %{buildroot}%{_mandir}/man1/protoize.1
|
||||||
echo '.so man1/protoize.1' > $RPM_BUILD_ROOT%{_mandir}/man1/unprotoize.1
|
echo '.so man1/protoize.1' > %{buildroot}%{_mandir}/man1/unprotoize.1
|
||||||
chmod 644 $RPM_BUILD_ROOT%{_mandir}/man1/unprotoize.1
|
chmod 644 %{buildroot}%{_mandir}/man1/unprotoize.1
|
||||||
|
|
||||||
|
%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}'" || :
|
||||||
|
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\|ada'`; do
|
||||||
|
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
|
||||||
|
done
|
||||||
|
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
|
||||||
|
| uuencode testlogs-%{_target_platform}.tar.bz2 || :
|
||||||
|
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/install-info \
|
/sbin/install-info \
|
||||||
|
@ -1274,7 +1280,7 @@ fi
|
||||||
%postun -n libmudflap -p /sbin/ldconfig
|
%postun -n libmudflap -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/cc
|
%{_prefix}/bin/cc
|
||||||
%{_prefix}/bin/c89
|
%{_prefix}/bin/c89
|
||||||
%{_prefix}/bin/c99
|
%{_prefix}/bin/c99
|
||||||
|
@ -1397,7 +1403,7 @@ fi
|
||||||
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
|
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
|
||||||
|
|
||||||
%files -n cpp -f cpplib.lang
|
%files -n cpp -f cpplib.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
/lib/cpp
|
/lib/cpp
|
||||||
%{_prefix}/bin/cpp
|
%{_prefix}/bin/cpp
|
||||||
%{_mandir}/man1/cpp.1*
|
%{_mandir}/man1/cpp.1*
|
||||||
|
@ -1408,14 +1414,14 @@ fi
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
|
||||||
|
|
||||||
%files -n libgcc
|
%files -n libgcc
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
|
||||||
/%{_lib}/libgcc_s.so.1
|
/%{_lib}/libgcc_s.so.1
|
||||||
%{_prefix}/sbin/libgcc_post_upgrade
|
%{_prefix}/sbin/libgcc_post_upgrade
|
||||||
%doc gcc/COPYING.LIB
|
%doc gcc/COPYING.LIB
|
||||||
|
|
||||||
%files c++
|
%files c++
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/%{gcc_target_platform}-*++
|
%{_prefix}/bin/%{gcc_target_platform}-*++
|
||||||
%{_prefix}/bin/g++
|
%{_prefix}/bin/g++
|
||||||
%{_prefix}/bin/c++
|
%{_prefix}/bin/c++
|
||||||
|
@ -1449,11 +1455,11 @@ fi
|
||||||
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
|
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
|
||||||
|
|
||||||
%files -n libstdc++
|
%files -n libstdc++
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libstdc++.so.6*
|
%{_prefix}/%{_lib}/libstdc++.so.6*
|
||||||
|
|
||||||
%files -n libstdc++-devel
|
%files -n libstdc++-devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/include/c++
|
%dir %{_prefix}/include/c++
|
||||||
%dir %{_prefix}/include/c++/%{gcc_version}
|
%dir %{_prefix}/include/c++/%{gcc_version}
|
||||||
%{_prefix}/include/c++/%{gcc_version}/[^gjos]*
|
%{_prefix}/include/c++/%{gcc_version}/[^gjos]*
|
||||||
|
@ -1487,7 +1493,7 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files objc
|
%files objc
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/lib/gcc
|
%dir %{_prefix}/lib/gcc
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
|
@ -1513,18 +1519,18 @@ fi
|
||||||
%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
|
%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
|
||||||
|
|
||||||
%files objc++
|
%files objc++
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/libexec/gcc
|
%dir %{_prefix}/libexec/gcc
|
||||||
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
|
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
|
||||||
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
|
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
|
||||||
|
|
||||||
%files -n libobjc
|
%files -n libobjc
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libobjc.so.2*
|
%{_prefix}/%{_lib}/libobjc.so.2*
|
||||||
|
|
||||||
%files gfortran
|
%files gfortran
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/gfortran
|
%{_prefix}/bin/gfortran
|
||||||
%{_prefix}/bin/f95
|
%{_prefix}/bin/f95
|
||||||
%{_mandir}/man1/gfortran.1*
|
%{_mandir}/man1/gfortran.1*
|
||||||
|
@ -1559,12 +1565,12 @@ fi
|
||||||
%doc rpm.doc/gfortran/*
|
%doc rpm.doc/gfortran/*
|
||||||
|
|
||||||
%files -n libgfortran
|
%files -n libgfortran
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libgfortran.so.3*
|
%{_prefix}/%{_lib}/libgfortran.so.3*
|
||||||
|
|
||||||
%if %{build_java}
|
%if %{build_java}
|
||||||
%files java
|
%files java
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/gcj
|
%{_prefix}/bin/gcj
|
||||||
%{_prefix}/bin/gjavah
|
%{_prefix}/bin/gjavah
|
||||||
%{_prefix}/bin/gcjh
|
%{_prefix}/bin/gcjh
|
||||||
|
@ -1606,7 +1612,7 @@ fi
|
||||||
%doc rpm.doc/changelogs/gcc/java/ChangeLog*
|
%doc rpm.doc/changelogs/gcc/java/ChangeLog*
|
||||||
|
|
||||||
%files -n libgcj
|
%files -n libgcj
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/jv-convert
|
%{_prefix}/bin/jv-convert
|
||||||
%{_prefix}/bin/gij
|
%{_prefix}/bin/gij
|
||||||
%{_prefix}/bin/gjar
|
%{_prefix}/bin/gjar
|
||||||
|
@ -1667,7 +1673,7 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files -n libgcj-devel
|
%files -n libgcj-devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/lib/gcc
|
%dir %{_prefix}/lib/gcc
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
|
@ -1700,7 +1706,7 @@ fi
|
||||||
%doc rpm.doc/libjava/*
|
%doc rpm.doc/libjava/*
|
||||||
|
|
||||||
%files -n libgcj-src
|
%files -n libgcj-src
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/share/java
|
%dir %{_prefix}/share/java
|
||||||
%{_prefix}/share/java/src*.zip
|
%{_prefix}/share/java/src*.zip
|
||||||
%{_prefix}/share/java/libgcj-tools-%{version}.jar
|
%{_prefix}/share/java/libgcj-tools-%{version}.jar
|
||||||
|
@ -1708,7 +1714,7 @@ fi
|
||||||
|
|
||||||
%if %{build_ada}
|
%if %{build_ada}
|
||||||
%files gnat
|
%files gnat
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/bin/gnat*
|
%{_prefix}/bin/gnat*
|
||||||
%{_infodir}/gnat*
|
%{_infodir}/gnat*
|
||||||
%dir %{_prefix}/lib/gcc
|
%dir %{_prefix}/lib/gcc
|
||||||
|
@ -1735,12 +1741,12 @@ fi
|
||||||
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
|
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
|
||||||
|
|
||||||
%files -n libgnat
|
%files -n libgnat
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libgnat-*.so
|
%{_prefix}/%{_lib}/libgnat-*.so
|
||||||
%{_prefix}/%{_lib}/libgnarl-*.so
|
%{_prefix}/%{_lib}/libgnarl-*.so
|
||||||
|
|
||||||
%files -n libgnat-devel
|
%files -n libgnat-devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/lib/gcc
|
%dir %{_prefix}/lib/gcc
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
|
@ -1761,18 +1767,18 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files -n libgomp
|
%files -n libgomp
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libgomp.so.1*
|
%{_prefix}/%{_lib}/libgomp.so.1*
|
||||||
%{_infodir}/libgomp.info*
|
%{_infodir}/libgomp.info*
|
||||||
%doc rpm.doc/changelogs/libgomp/ChangeLog*
|
%doc rpm.doc/changelogs/libgomp/ChangeLog*
|
||||||
|
|
||||||
%files -n libmudflap
|
%files -n libmudflap
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_prefix}/%{_lib}/libmudflap.so.0*
|
%{_prefix}/%{_lib}/libmudflap.so.0*
|
||||||
%{_prefix}/%{_lib}/libmudflapth.so.0*
|
%{_prefix}/%{_lib}/libmudflapth.so.0*
|
||||||
|
|
||||||
%files -n libmudflap-devel
|
%files -n libmudflap-devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_prefix}/lib/gcc
|
%dir %{_prefix}/lib/gcc
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
|
||||||
|
@ -1797,6 +1803,18 @@ fi
|
||||||
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu May 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-5
|
||||||
|
- update from gcc-4_4-branch
|
||||||
|
- PRs c++/17395, c/39983, fortran/38863, fortran/38956, fortran/39879,
|
||||||
|
fortran/40018, libstdc++/39546, libstdc++/40038, middle-end/39986,
|
||||||
|
middle-end/40021, middle-end/40023, middle-end/40043,
|
||||||
|
middle-end/40057, middle-end/40080, target/37179,
|
||||||
|
tree-optimization/40062, tree-optimization/40074
|
||||||
|
- fix Fortran FMT= character array arguments (#492209, PR fortran/39865)
|
||||||
|
- allow putting breakpoints on Fortran END{SUBROUTINE,FUNCTION}
|
||||||
|
(PR fortran/34153)
|
||||||
|
- incorporate changes suggested in gcc44 package review (#498911)
|
||||||
|
|
||||||
* Wed May 6 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-4
|
* Wed May 6 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-4
|
||||||
- update from gcc-4_4-branch
|
- update from gcc-4_4-branch
|
||||||
- PRs c++/40013, libgcj/39899, libstdc++/39868, libstdc++/39880,
|
- PRs c++/40013, libgcj/39899, libstdc++/39868, libstdc++/39880,
|
||||||
|
|
|
@ -1,223 +0,0 @@
|
||||||
2009-05-05 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
PR middle-end/39666
|
|
||||||
* gimplify.c (gimplify_switch_expr): If case labels cover the whole
|
|
||||||
range of the type, but default label is missing, add it with one
|
|
||||||
of the existing labels instead of adding a new label for it.
|
|
||||||
|
|
||||||
* gcc.dg/pr39666-1.c: New test.
|
|
||||||
* gcc.dg/pr39666-2.c: Likewise.
|
|
||||||
* g++.dg/warn/Wuninitialized-4.C: Likewise.
|
|
||||||
* g++.dg/warn/Wuninitialized-5.C: Likewise.
|
|
||||||
* gfortran.dg/pr39666-1.f90: Likewise.
|
|
||||||
* gfortran.dg/pr39666-2.f90: Likewise.
|
|
||||||
|
|
||||||
--- gcc/gimplify.c (revision 147135)
|
|
||||||
+++ gcc/gimplify.c (revision 147136)
|
|
||||||
@@ -1604,20 +1604,63 @@ gimplify_switch_expr (tree *expr_p, gimp
|
|
||||||
}
|
|
||||||
len = i;
|
|
||||||
|
|
||||||
+ if (!VEC_empty (tree, labels))
|
|
||||||
+ sort_case_labels (labels);
|
|
||||||
+
|
|
||||||
if (!default_case)
|
|
||||||
{
|
|
||||||
- gimple new_default;
|
|
||||||
+ tree type = TREE_TYPE (switch_expr);
|
|
||||||
|
|
||||||
/* If the switch has no default label, add one, so that we jump
|
|
||||||
- around the switch body. */
|
|
||||||
- default_case = build3 (CASE_LABEL_EXPR, void_type_node, NULL_TREE,
|
|
||||||
- NULL_TREE, create_artificial_label ());
|
|
||||||
- new_default = gimple_build_label (CASE_LABEL (default_case));
|
|
||||||
- gimplify_seq_add_stmt (&switch_body_seq, new_default);
|
|
||||||
- }
|
|
||||||
+ around the switch body. If the labels already cover the whole
|
|
||||||
+ range of type, add the default label pointing to one of the
|
|
||||||
+ existing labels. */
|
|
||||||
+ if (type == void_type_node)
|
|
||||||
+ type = TREE_TYPE (SWITCH_COND (switch_expr));
|
|
||||||
+ if (len
|
|
||||||
+ && INTEGRAL_TYPE_P (type)
|
|
||||||
+ && TYPE_MIN_VALUE (type)
|
|
||||||
+ && TYPE_MAX_VALUE (type)
|
|
||||||
+ && tree_int_cst_equal (CASE_LOW (VEC_index (tree, labels, 0)),
|
|
||||||
+ TYPE_MIN_VALUE (type)))
|
|
||||||
+ {
|
|
||||||
+ tree low, high = CASE_HIGH (VEC_index (tree, labels, len - 1));
|
|
||||||
+ if (!high)
|
|
||||||
+ high = CASE_LOW (VEC_index (tree, labels, len - 1));
|
|
||||||
+ if (tree_int_cst_equal (high, TYPE_MAX_VALUE (type)))
|
|
||||||
+ {
|
|
||||||
+ for (i = 1; i < len; i++)
|
|
||||||
+ {
|
|
||||||
+ high = CASE_LOW (VEC_index (tree, labels, i));
|
|
||||||
+ low = CASE_HIGH (VEC_index (tree, labels, i - 1));
|
|
||||||
+ if (!low)
|
|
||||||
+ low = CASE_LOW (VEC_index (tree, labels, i - 1));
|
|
||||||
+ if ((TREE_INT_CST_LOW (low) + 1
|
|
||||||
+ != TREE_INT_CST_LOW (high))
|
|
||||||
+ || (TREE_INT_CST_HIGH (low)
|
|
||||||
+ + (TREE_INT_CST_LOW (high) == 0)
|
|
||||||
+ != TREE_INT_CST_HIGH (high)))
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ if (i == len)
|
|
||||||
+ default_case = build3 (CASE_LABEL_EXPR, void_type_node,
|
|
||||||
+ NULL_TREE, NULL_TREE,
|
|
||||||
+ CASE_LABEL (VEC_index (tree,
|
|
||||||
+ labels, 0)));
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (!VEC_empty (tree, labels))
|
|
||||||
- sort_case_labels (labels);
|
|
||||||
+ if (!default_case)
|
|
||||||
+ {
|
|
||||||
+ gimple new_default;
|
|
||||||
+
|
|
||||||
+ default_case = build3 (CASE_LABEL_EXPR, void_type_node,
|
|
||||||
+ NULL_TREE, NULL_TREE,
|
|
||||||
+ create_artificial_label ());
|
|
||||||
+ new_default = gimple_build_label (CASE_LABEL (default_case));
|
|
||||||
+ gimplify_seq_add_stmt (&switch_body_seq, new_default);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
gimple_switch = gimple_build_switch_vec (SWITCH_COND (switch_expr),
|
|
||||||
default_case, labels);
|
|
||||||
--- gcc/testsuite/gcc.dg/pr39666-1.c (revision 0)
|
|
||||||
+++ gcc/testsuite/gcc.dg/pr39666-1.c (revision 147136)
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+/* PR middle-end/39666 */
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-options "-O2 -Wuninitialized" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+foo (int i)
|
|
||||||
+{
|
|
||||||
+ int j;
|
|
||||||
+ switch (i)
|
|
||||||
+ {
|
|
||||||
+ case -__INT_MAX__ - 1 ... -1:
|
|
||||||
+ j = 6;
|
|
||||||
+ break;
|
|
||||||
+ case 0:
|
|
||||||
+ j = 5;
|
|
||||||
+ break;
|
|
||||||
+ case 1 ... __INT_MAX__:
|
|
||||||
+ j = 4;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ return j;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/gcc.dg/pr39666-2.c (revision 0)
|
|
||||||
+++ gcc/testsuite/gcc.dg/pr39666-2.c (revision 147136)
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+/* PR middle-end/39666 */
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-options "-O2 -Wuninitialized" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+foo (int i)
|
|
||||||
+{
|
|
||||||
+ int j; /* { dg-warning "may be used uninitialized" } */
|
|
||||||
+ switch (i)
|
|
||||||
+ {
|
|
||||||
+ case -__INT_MAX__ - 1 ... -1:
|
|
||||||
+ j = 6;
|
|
||||||
+ break;
|
|
||||||
+ case 0:
|
|
||||||
+ j = 5;
|
|
||||||
+ break;
|
|
||||||
+ case 2 ... __INT_MAX__:
|
|
||||||
+ j = 4;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ return j;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (revision 0)
|
|
||||||
+++ gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (revision 147136)
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+// PR middle-end/39666
|
|
||||||
+// { dg-do compile }
|
|
||||||
+// { dg-options "-O2 -Wuninitialized" }
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+foo (int i)
|
|
||||||
+{
|
|
||||||
+ int j; // { dg-warning "may be used uninitialized" }
|
|
||||||
+ switch (i)
|
|
||||||
+ {
|
|
||||||
+ case -__INT_MAX__ - 1 ... -1:
|
|
||||||
+ j = 6;
|
|
||||||
+ break;
|
|
||||||
+ case 0:
|
|
||||||
+ j = 5;
|
|
||||||
+ break;
|
|
||||||
+ case 2 ... __INT_MAX__:
|
|
||||||
+ j = 4;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ return j;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (revision 0)
|
|
||||||
+++ gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (revision 147136)
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+// PR middle-end/39666
|
|
||||||
+// { dg-do compile }
|
|
||||||
+// { dg-options "-O2 -Wuninitialized" }
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+foo (int i)
|
|
||||||
+{
|
|
||||||
+ int j;
|
|
||||||
+ switch (i)
|
|
||||||
+ {
|
|
||||||
+ case -__INT_MAX__ - 1 ... -1:
|
|
||||||
+ j = 6;
|
|
||||||
+ break;
|
|
||||||
+ case 0:
|
|
||||||
+ j = 5;
|
|
||||||
+ break;
|
|
||||||
+ case 1 ... __INT_MAX__:
|
|
||||||
+ j = 4;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ return j;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/gfortran.dg/pr39666-1.f90 (revision 0)
|
|
||||||
+++ gcc/testsuite/gfortran.dg/pr39666-1.f90 (revision 147136)
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+! PR middle-end/39666
|
|
||||||
+! { dg-do compile }
|
|
||||||
+! { dg-options "-O2 -Wuninitialized" }
|
|
||||||
+
|
|
||||||
+FUNCTION f(n)
|
|
||||||
+ INTEGER, INTENT(in) :: n
|
|
||||||
+ REAL :: f
|
|
||||||
+
|
|
||||||
+ SELECT CASE (n)
|
|
||||||
+ CASE (:-1); f = -1.0
|
|
||||||
+ CASE (0); f = 0.0
|
|
||||||
+ CASE (1:); f = 1.0
|
|
||||||
+ END SELECT
|
|
||||||
+END FUNCTION
|
|
||||||
--- gcc/testsuite/gfortran.dg/pr39666-2.f90 (revision 0)
|
|
||||||
+++ gcc/testsuite/gfortran.dg/pr39666-2.f90 (revision 147136)
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+! PR middle-end/39666
|
|
||||||
+! { dg-do compile }
|
|
||||||
+! { dg-options "-O2 -Wuninitialized" }
|
|
||||||
+
|
|
||||||
+FUNCTION f(n) ! { dg-warning "may be used uninitialized" }
|
|
||||||
+ INTEGER, INTENT(in) :: n
|
|
||||||
+ REAL :: f
|
|
||||||
+
|
|
||||||
+ SELECT CASE (n)
|
|
||||||
+ CASE (:-1); f = -1.0
|
|
||||||
+ CASE (0); f = 0.0
|
|
||||||
+ CASE (2:); f = 1.0
|
|
||||||
+ END SELECT
|
|
||||||
+END FUNCTION
|
|
|
@ -1,68 +0,0 @@
|
||||||
2009-05-05 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
Ben Elliston <bje@au.ibm.com>
|
|
||||||
|
|
||||||
PR middle-end/40035
|
|
||||||
* dse.c (check_mem_read_rtx): Guard against width == -1.
|
|
||||||
|
|
||||||
* gcc.target/i386/pr40035.c: New test.
|
|
||||||
|
|
||||||
--- gcc/dse.c (revision 147137)
|
|
||||||
+++ gcc/dse.c (working copy)
|
|
||||||
@@ -2245,6 +2245,7 @@ check_mem_read_rtx (rtx *loc, void *data
|
|
||||||
if (store_info->rhs
|
|
||||||
&& store_info->group_id == -1
|
|
||||||
&& store_info->cse_base == base
|
|
||||||
+ && width != -1
|
|
||||||
&& offset >= store_info->begin
|
|
||||||
&& offset + width <= store_info->end
|
|
||||||
&& all_positions_needed_p (store_info,
|
|
||||||
--- gcc/testsuite/gcc.c-torture/compile/pr40035.c (revision 0)
|
|
||||||
+++ gcc/testsuite/gcc.c-torture/compile/pr40035.c (revision 0)
|
|
||||||
@@ -0,0 +1,46 @@
|
|
||||||
+/* PR middle-end/40035 */
|
|
||||||
+
|
|
||||||
+typedef __SIZE_TYPE__ size_t;
|
|
||||||
+
|
|
||||||
+struct kernel_param {
|
|
||||||
+ const char *name;
|
|
||||||
+ unsigned int perm;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+extern int parse_args(const char *name,
|
|
||||||
+ char *args,
|
|
||||||
+ struct kernel_param *params,
|
|
||||||
+ unsigned num,
|
|
||||||
+ int (*unknown)(char *param, char *val));
|
|
||||||
+
|
|
||||||
+void *memmove(void *dest, const void *src, size_t count);
|
|
||||||
+size_t strlen(const char *s);
|
|
||||||
+
|
|
||||||
+static char *static_command_line;
|
|
||||||
+
|
|
||||||
+static int unknown_bootoption(char *param, char *val)
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+ if (val) {
|
|
||||||
+
|
|
||||||
+ if (val == param+strlen(param)+1)
|
|
||||||
+ val[-1] = '=';
|
|
||||||
+ else if (val == param+strlen(param)+2) {
|
|
||||||
+ val[-2] = '=';
|
|
||||||
+ memmove(val-1, val, strlen(val)+1);
|
|
||||||
+ val--;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void start_kernel(void)
|
|
||||||
+{
|
|
||||||
+ char * command_line;
|
|
||||||
+ extern struct kernel_param __start___param[], __stop___param[];
|
|
||||||
+
|
|
||||||
+ parse_args("Booting kernel", static_command_line, __start___param,
|
|
||||||
+ __stop___param - __start___param,
|
|
||||||
+ &unknown_bootoption);
|
|
||||||
+}
|
|
||||||
|
|
Loading…
Reference in New Issue