%define DATE 20050721 %define gcc_version 3.4.3 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %define build_ada 0 %define build_java 1 %define build_f77 0 %define asp10 1 %ifarch s390x %define multilib_32_arch s390 %endif %ifarch sparc64 %define multilib_32_arch sparc %endif %ifarch ppc64 %define multilib_32_arch ppc %endif %ifarch x86_64 %define multilib_32_arch i386 %endif %define jpackage_priority 100 Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc34 Version: 3.4.4 Release: 2 %if "%{version}" != "%{gcc_version}" %define gcc_provides 3.4.3-26 %endif License: GPL Group: Development/Languages Source0: gcc-%{version}-%{DATE}.tar.bz2 Source1: libgcc_post_upgrade.c URL: http://gcc.gnu.org BuildRoot: /var/tmp/gcc-root # Need binutils with -pie support >= 2.14.90.0.4-4 # Need binutils which can omit dot symbols and overlap .opd on ppc64 BuildRequires: binutils >= 2.15.91.0.2-4 BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo # Make sure pthread.h doesn't contain __thread tokens BuildRequires: glibc-devel >= 2.2.90-12 %if %{build_ada} # Ada requires Ada to build BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1 %endif %if !%{asp10} Requires: cpp34 = %{version}-%{release} %endif # Need .eh_frame ld optimizations # Need proper visibility support # Need -pie support # Need --as-needed/--no-as-needed support # On ppc64, need omit dot symbols support and --non-overlapping-opd %ifarch ppc ppc64 Requires: binutils >= 2.15.91.0.2-4 %else Requires: binutils >= 2.15.90.0.1.1-2 %endif # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 %if %{asp10} Requires: libgcc >= 3.3.2 %else Requires: libgcc34 >= %{version}-%{release} %endif Obsoletes: gcc3 Obsoletes: egcs Obsoletes: gcc-chill %if !%{build_ada} Obsoletes: gcc-gnat < %{gcc_version} Obsoletes: libgnat < %{gcc_version} %endif %ifarch sparc sparc64 Obsoletes: egcs64 %endif Obsoletes: gcc34 Provides: gcc34 Prereq: /sbin/install-info AutoReq: true %if "%{version}" != "%{gcc_version}" Provides: gcc34 = %{gcc_provides} %endif Patch1: gcc34-multi32-hack.patch Patch2: gcc34-ice-hack.patch Patch3: gcc34-ppc64-m32-m64-multilib-only.patch Patch4: gcc34-ia64-lib64.patch Patch5: gcc34-java-nomulti.patch Patch6: gcc34-gnuc-rh-release.patch Patch7: gcc34-pr16104.patch Patch8: gcc34-var-tracking-fix.patch Patch9: gcc34-i386-movsi-insv.patch Patch10: gcc34-pr18925.patch Patch11: gcc34-pr14084.patch Patch12: gcc34-hashtab-recursion.patch Patch13: gcc34-pr20191.patch Patch14: gcc34-pr21955.patch Patch15: gcc34-vsb-stack.patch %define _gnu %{nil} %ifarch sparc %define gcc_target_platform sparc64-%{_vendor}-%{_target_os} %endif %ifarch ppc %define gcc_target_platform ppc64-%{_vendor}-%{_target_os} %endif %ifnarch sparc ppc %define gcc_target_platform %{_target_platform} %endif %description The gcc package contains the GNU Compiler Collection version 3.4. You'll need this package in order to compile C code. %package -n libgcc34 Summary: GCC version 3.4 shared support library Group: System Environment/Libraries Obsoletes: libgcc3 Obsoletes: libgcc34 Provides: libgcc34 Autoreq: false %if "%{version}" != "%{gcc_version}" Provides: libgcc34 = %{gcc_provides} %endif %description -n libgcc34 This package contains GCC shared support library which is needed e.g. for exception handling support. %package c++ Summary: C++ support for GCC Group: Development/Languages Requires: gcc34 = %{version}-%{release} Requires: libstdc++34 = %{version} Requires: libstdc++34-devel = %{version} Obsoletes: gcc3-c++ Obsoletes: gcc34-c++ Provides: gcc34-c++ Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-c++ = %{gcc_provides} %endif %description c++ This package adds C++ support to the GNU Compiler Collection. It includes support for most of the current C++ specification, including templates and exception handling. %package -n libstdc++34 Summary: GNU Standard C++ Library Group: System Environment/Libraries Obsoletes: libstdc++3 Obsoletes: libstdc++34 Provides: libstdc++34 Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libstdc++34 = %{gcc_provides} %endif %description -n libstdc++34 The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %package -n libstdc++34-devel Summary: Header files and libraries for C++ development Group: Development/Libraries Requires: libstdc++34 = %{version}-%{release} Obsoletes: libstdc++3-devel Obsoletes: libstdc++34-devel Provides: libstdc++34-devel Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libstdc++34-devel = %{gcc_provides} %endif %description -n libstdc++34-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. This includes rewritten implementation of STL. %package objc Summary: Objective-C support for GCC Group: Development/Languages Requires: gcc34 = %{version}-%{release} Requires: libobjc34 = %{version}-%{release} Obsoletes: gcc3-objc Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc34-objc = %{gcc_provides} %endif %description objc gcc-objc provides Objective-C support for the GCC. Mainly used on systems running NeXTSTEP, Objective-C is an object-oriented derivative of the C language. %package -n libobjc34 Summary: Objective-C runtime Group: System Environment/Libraries Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libobjc34 = %{gcc_provides} %endif %description -n libobjc34 This package contains Objective-C shared library which is needed to run Objective-C dynamically linked programs. %package g77 Summary: Fortran 77 support Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libf2c = %{version}-%{release} Prereq: /sbin/install-info Obsoletes: gcc3-g77 Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-g77 = %{gcc_provides} %endif %description g77 The gcc-g77 package provides support for compiling Fortran 77 programs with the GNU Compiler Collection. %package -n libf2c Summary: Fortran 77 runtime Group: System Environment/Libraries Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libf2c = %{gcc_provides} %endif %description -n libf2c This package contains Fortran 77 shared library which is needed to run Fortran 77 dynamically linked programs. %package java Summary: Java support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libgcj >= %{version}, libgcj-devel >= %{version}, zlib-devel Obsoletes: gcc3-java Obsoletes: gcc34-java Provides: gcc34-java Prereq: /sbin/install-info Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-java = %{gcc_provides} %endif %description java This package adds support for compiling Java(tm) programs and bytecode into native code. %package -n libgcj Summary: Java runtime library for gcc Group: System Environment/Libraries Prereq: /sbin/install-info Requires: zip >= 2.1 Requires: gtk2 >= 2.4.0 BuildRequires: gtk2-devel >= 2.4.0 Requires: glib2 >= 2.4.0 BuildRequires: glib2-devel >= 2.4.0 Requires: libart_lgpl >= 2.1.0 BuildRequires: libart_lgpl-devel >= 2.1.0 Obsoletes: gcc-libgcj Obsoletes: libgcj3 Obsoletes: libgcj34 Provides: libgcj34 # Kaffe includes jar too Conflicts: kaffe Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libgcj = %{gcc_provides} %endif %description -n libgcj The Java(tm) runtime library. You will need this package to run your Java programs compiled using the Java compiler from GNU Compiler Collection (gcj). %package -n libgcj-devel Summary: Libraries for Java development using GCC Group: Development/Languages Requires: zip >= 2.1, libgcj = %{version} Obsoletes: libgcj3-devel Obsoletes: libgcj34-devel Provides: libgcj34-devel Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libgcj-devel = %{gcc_provides} %endif %description -n libgcj-devel The Java(tm) static libraries and C header files. You will need this package to compile your Java programs using the GCC Java compiler (gcj). %package sparc32 Summary: The C compiler optimized for generating SPARC 32bit code Group: Development/Languages Requires: gcc = %{version}-%{release}, %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-sparc32 = %{gcc_provides} %endif %description sparc32 This package contains the GNU C compiler which only supports generating 32bit SPARC code, but should be faster than the 32/64bit gcc package. You should install this package if you want to trade disk space required for this package for faster compilation of 32bit code. %package c++-sparc32 Summary: The C++ compiler optimized for generating SPARC 32bit code Group: Development/Languages Requires: gcc-c++ = %{version}-%{release}, gcc-sparc32 = %{version}-%{release} Requires: %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-c++-sparc32 = %{gcc_provides} %endif %description c++-sparc32 This package contains the GNU C++ compiler which only supports generating 32bit SPARC code, but should be faster than the 32/64bit gcc package. You should install this package if you want to trade disk space required for this package for faster compilation of 32bit code. %package ppc32 Summary: The C compiler optimized for generating PowerPC 32bit code Group: Development/Languages Requires: gcc = %{version}-%{release}, %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-ppc32 = %{gcc_provides} %endif %description ppc32 This package contains the GNU C compiler which only supports generating 32bit PowerPC code, but should be faster than the 32/64bit gcc package. You should install this package if you want to trade disk space required for this package for faster compilation of 32bit code. %package c++-ppc32 Summary: The C++ compiler optimized for generating PowerPC 32bit code Group: Development/Languages Requires: gcc-c++ = %{version}-%{release}, gcc-ppc32 = %{version}-%{release} Requires: %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-c++-ppc32 = %{gcc_provides} %endif %description c++-ppc32 This package contains the GNU C++ compiler which only supports generating 32bit PowerPC code, but should be faster than the 32/64bit gcc package. You should install this package if you want to trade disk space required for this package for faster compilation of 32bit code. %package -n cpp34 Summary: The C Preprocessor. Group: Development/Languages Prereq: /sbin/install-info Obsoletes: cpp3 Obsoletes: cpp34 %ifarch ia64 Obsoletes: gnupro %endif Provides: cpp34 Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: cpp34 = %{gcc_provides} %endif %description -n cpp34 Cpp is the GNU C-Compatible Compiler Preprocessor. Cpp is a macro processor which is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define macros, abbreviations for longer constructs. The C preprocessor provides four separate functionalities: the inclusion of header files (files of declarations that can be substituted into your program); macro expansion (you can define macros, and the C preprocessor will replace the macros with their definitions throughout the program); conditional compilation (using special preprocessing directives, you can include or exclude parts of the program according to various conditions); and line control (if you use a program to combine or rearrange source files into an intermediate file which is then compiled, you can use line control to inform the compiler about where each source line originated). You should install this package if you are a C programmer and you use macros. %package gnat Summary: Ada 95 support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release}, libgnat = %{version}-%{release} Obsoletes: gnat-devel, gcc3-gnat Prereq: /sbin/install-info Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: gcc-gnat = %{gcc_provides} %endif %description gnat GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools, the documents and Ada 95 compiler. %package -n libgnat Summary: GNU Ada 95 runtime shared libraries Group: System Environment/Libraries Obsoletes: gnat libgnat3 Autoreq: true %if "%{version}" != "%{gcc_version}" Provides: libgnat = %{gcc_provides} %endif %description -n libgnat GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries, which are required to run programs compiled with the GNAT. %prep %setup -q -n gcc-%{version}-%{DATE} %ifarch sparc ppc %patch1 -p0 -b .multi32-hack~ %endif %patch2 -p0 -b .ice-hack~ %patch3 -p0 -b .ppc64-m32-m64-multilib-only~ %ifarch ia64 %if "%{_lib}" == "lib64" %patch4 -p0 -b .ia64-lib64~ %endif %endif %patch5 -p0 -b .java-nomulti~ %patch6 -p0 -b .gnuc-rh-release~ %patch7 -p0 -b .pr16104~ %patch8 -p0 -b .var-tracking-fix~ %patch9 -p0 -b .i386-movsi-insv~ %patch10 -p0 -b .pr18925~ %patch11 -p0 -b .pr14084~ %patch12 -p0 -b .hashtab-recursion~ %patch13 -p0 -b .pr20191~ %patch14 -p0 -b .pr21955~ %patch15 -p0 -b .vsb-stack~ perl -pi -e 's/3\.4\.5/3.4.4/' gcc/version.c perl -pi -e 's/"%{version}"/"%{version} \(release\)"/' gcc/version.c perl -pi -e 's/\((prerelease|experimental|release|Red Hat[^)]*)\)/\(Red Hat %{version}-%{release}\)/' gcc/version.c # Misdesign in libstdc++ cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h # Hack to avoid building multilib libjava perl -pi -e 's/^all: all-redirect/ifeq (\$(MULTISUBDIR),)\nall: all-redirect\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in perl -pi -e 's/^install: install-redirect/ifeq (\$(MULTISUBDIR),)\ninstall: install-redirect\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in perl -pi -e 's/^check: check-redirect/ifeq (\$(MULTISUBDIR),)\ncheck: check-redirect\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in perl -pi -e 's/^all: all-recursive/ifeq (\$(MULTISUBDIR),)\nall: all-recursive\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in perl -pi -e 's/^install: install-recursive/ifeq (\$(MULTISUBDIR),)\ninstall: install-recursive\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-recursive\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in ./contrib/gcc_update --touch %build rm -fr obj-%{gcc_target_platform} mkdir obj-%{gcc_target_platform} cd obj-%{gcc_target_platform} if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then mkdir locale localedef -f ISO-8859-1 -i de_DE locale/de_DE export LOCPATH=`pwd`/locale:/usr/lib/locale fi CC=gcc OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` %ifarch sparc sparc64 OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g'` %endif %ifarch sparc64 cat > gcc64 <<"EOF" #!/bin/sh exec /usr/bin/gcc -m64 "$@" EOF chmod +x gcc64 CC=`pwd`/gcc64 %endif %ifarch ppc64 if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then cat > gcc64 <<"EOF" #!/bin/sh exec /usr/bin/gcc -m64 "$@" EOF chmod +x gcc64 CC=`pwd`/gcc64 fi %endif CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ GCJFLAGS="$OPT_FLAGS" \ ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --enable-shared --enable-threads=posix --disable-checking \ --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ %if !%{build_ada} --enable-languages=c,c++,objc,java,f77 \ %endif %if !%{build_java} --disable-libgcj \ %else --enable-java-awt=gtk \ %endif %ifarch sparc --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7 %endif %ifarch ppc --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 %endif %ifnarch sparc ppc --host=%{gcc_target_platform} %endif #make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap %ifarch %{ix86} x86_64 make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap %else make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap-lean %endif %if %{build_ada} # This doesn't work with -jN make -C gcc BOOT_CFLAGS="$OPT_FLAGS" gnatlib-shared make -C gcc BOOT_CFLAGS="$OPT_FLAGS" gnattools ln -sf libgnat.so.1 gcc/ada/rts/libgnat-3.4.so ln -sf libgnarl.so.1 gcc/ada/rts/libgnarl-3.4.so %endif # run the tests. make %{?_smp_mflags} -k check || : make -C %{gcc_target_platform}/libstdc++-v3/testsuite -k check-abi-verbose || : echo ====================TESTING========================= ( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' make -C %{gcc_target_platform}/libstdc++-v3/testsuite -k check-abi || : echo ====================TESTING END===================== #cd %{gcc_target_platform}/libstdc++-v3 #./mkcheck 0 #cd ../.. # Make protoize make -C gcc CC="./xgcc -B ./ -O2" proto # Make c++filt make -C %{gcc_target_platform}/libiberty CFLAGS="$RPM_OPT_FLAGS" c++filt %ifarch sparc ppc # Build the -m32 only compiler which does not use long long for HOST_WIDE_INT mkdir gcc32 cd gcc32 OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` echo "#!/bin/sh" > gcc32 echo "exec `cd ../gcc; pwd`/xgcc -B `cd ../gcc; pwd`/ $OPT_FLAGS \$*" >> gcc32 chmod +x gcc32 CC=`pwd`/gcc32 CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" \ TCFLAGS="$OPT_FLAGS" ../../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --enable-shared --enable-threads=posix --disable-checking --disable-libunwind-exceptions \ --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++ \ --host=%{_target_platform} --build=%{_target_platform} --target=%{_target_platform} make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc cd .. %endif # Make generated man pages even if Pod::Man is not new enough perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl for i in ../gcc/doc/*.texi; do cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i done make -C gcc generated-manpages for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done # Copy various doc files here and there cd .. mkdir -p rpm.doc/g77 rpm.doc/objc mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava (cd gcc/f; for i in ChangeLog*; do cp -p $i ../../rpm.doc/g77/$i.f done) (cd libf2c; for i in ChangeLog*; do cp -p $i ../rpm.doc/g77/$i.libf2c done) (cd gcc/objc; for i in README*; do cp -p $i ../../rpm.doc/objc/$i.objc done) (cd libobjc; for i in README*; do cp -p $i ../rpm.doc/objc/$i.libobjc done) (cd boehm-gc; for i in ChangeLog*; do cp -p $i ../rpm.doc/boehm-gc/$i.gc done) (cd fastjar; for i in ChangeLog* README*; do cp -p $i ../rpm.doc/fastjar/$i.fastjar done) (cd libffi; for i in ChangeLog* README* LICENSE; do cp -p $i ../rpm.doc/libffi/$i.libffi done) (cd libjava; for i in ChangeLog* README*; do cp -p $i ../rpm.doc/libjava/$i.libjava done) %install rm -fr $RPM_BUILD_ROOT perl -pi -e \ 's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \ libstdc++-v3/docs/html/documentation.html ln -sf documentation.html libstdc++-v3/docs/html/index.html find libstdc++-v3/docs/html -name CVS | xargs rm -rf cd obj-%{gcc_target_platform} if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then export LOCPATH=`pwd`/locale:/usr/lib/locale fi TARGET_PLATFORM=%{gcc_target_platform} # There are some MP bugs in libstdc++ and libjava Makefiles make -C %{gcc_target_platform}/libstdc++-v3 %if %{build_java} make -C %{gcc_target_platform}/libjava %endif make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \ infodir=$RPM_BUILD_ROOT%{_infodir} install %if %{build_ada} chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat* %endif FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} cp -a %{gcc_target_platform}/libiberty/c++filt $RPM_BUILD_ROOT%{_prefix}/bin/c++filt chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c++filt # fix some things ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc mkdir -p $RPM_BUILD_ROOT/lib ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp ln -sf g77 $RPM_BUILD_ROOT%{_prefix}/bin/f77 rm -f $RPM_BUILD_ROOT%{_infodir}/dir gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info* ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do if ! diff -up $cxxconfig $i; then cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version}/%{gcc_target_platform}/bits/c++config.h < #if __WORDSIZE == 32 %ifarch %{multilib_64_archs} `cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)` %else `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` %endif #else %ifarch %{multilib_64_archs} `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` %else `cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)` %endif #endif #endif EOF break fi done %ifarch sparc ppc # Install the sparc/ppc -m32 only compilers FULLPATH32=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{_target_platform}/%{version} FULLEPATH32=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{_target_platform}/%{version} mkdir -p $FULLPATH32 $FULLEPATH32 ln -sf %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version}/include \ $FULLPATH32/ install -m 755 gcc32/gcc/cc1 $FULLEPATH32/ install -m 755 gcc32/gcc/cc1plus $FULLEPATH32/ ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \ $RPM_BUILD_ROOT%{_prefix}/bin/%{_target_platform}-gcc %endif %ifarch sparc ppc cp -al $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version}/%{gcc_target_platform} \ $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version}/%{_target_platform} %endif %ifarch sparc64 ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \ $RPM_BUILD_ROOT%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc %endif %ifarch ppc64 ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \ $RPM_BUILD_ROOT%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc %endif %ifarch sparc ppc FULLLPATH=$FULLPATH/lib32 %endif %ifarch sparc64 ppc64 FULLLPATH=$FULLPATH/lib64 %endif if [ -n "$FULLLPATH" ]; then mkdir -p $FULLLPATH else FULLLPATH=$FULLPATH fi if [ "%{build_java}" -gt 0 ]; then mv $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcj.*a $FULLLPATH/ mv $RPM_BUILD_ROOT%{_prefix}/%{_lib}/lib-gnu-java-awt-peer-gtk.*a $FULLLPATH/ mv $RPM_BUILD_ROOT%{_prefix}/%{_lib}/lib-org-*.*a $FULLLPATH/ mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/ #mv $RPM_BUILD_ROOT%{_prefix}/include/gc*.h $FULLPATH/include/ mv $RPM_BUILD_ROOT%{_prefix}/include/j*.h $FULLPATH/include/ #mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu,org} $FULLPATH/include/ mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu} $FULLPATH/include/ mkdir -p $FULLPATH/include/gcj mv -f $RPM_BUILD_ROOT%{_prefix}/include/gcj/* $FULLPATH/include/gcj/ rmdir $RPM_BUILD_ROOT%{_prefix}/include/gcj fi mkdir -p $RPM_BUILD_ROOT/%{_lib} mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 ln -sf libgcc_s-%{version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1 ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so %ifarch sparc ppc ln -sf /lib64/libgcc_s.so.1 $FULLPATH/libgcc_s_64.so %endif %ifarch %{multilib_64_archs} ln -sf /lib/libgcc_s.so.1 $FULLPATH/libgcc_s_32.so %endif %if %{build_ada} mv -f $FULLPATH/adalib/libgnarl-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ mv -f $FULLPATH/adalib/libgnat-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so* %endif mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/getconf 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 else ln -sf POSIX_V6_LP64_OFF64 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/default fi pushd $FULLPATH if [ "%{_lib}" = "lib" ]; then ln -sf ../../../libobjc.so.1 libobjc.so ln -sf ../../../libstdc++.so.6.* libstdc++_shared.so echo 'GROUP ( -lstdc++_nonshared -lstdc++_shared )' > libstdc++.so %if %{build_java} ln -sf ../../../libgcj.so.5.* libgcj.so ln -sf ../../../lib-gnu-java-awt-peer-gtk.so.5.* lib-gnu-java-awt-peer-gtk.so ln -sf ../../../lib-org-w3c-dom.so.5.* lib-org-w3c-dom.so ln -sf ../../../lib-org-xml-sax.so.5.* lib-org-xml-sax.so %endif ln -sf ../../../libg2c.so.0.* libg2c.so %if %{build_ada} cd adalib ln -sf ../../../../libgnarl-*.so.* libgnarl.so ln -sf ../../../../libgnarl-*.so.* libgnarl-3.4.so ln -sf ../../../../libgnat-*.so.* libgnat.so ln -sf ../../../../libgnat-*.so.* libgnat-3.4.so cd .. %endif else ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++_shared.so echo 'GROUP ( -lstdc++_nonshared -lstdc++_shared )' > libstdc++.so %if %{build_java} ln -sf ../../../../%{_lib}/libgcj.so.5.* libgcj.so ln -sf ../../../../%{_lib}/lib-gnu-java-awt-peer-gtk.so.5.* lib-gnu-java-awt-peer-gtk.so ln -sf ../../../../%{_lib}/lib-org-w3c-dom.so.5.* lib-org-w3c-dom.so ln -sf ../../../../%{_lib}/lib-org-xml-sax.so.5.* lib-org-xml-sax.so %endif ln -sf ../../../../%{_lib}/libg2c.so.0.* libg2c.so %if %{build_ada} cd adalib ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl-3.4.so ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat-3.4.so cd .. %endif fi mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/ mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libsupc++.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++_nonshared.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libg2c.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libfrtbegin.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.*a . %ifarch sparc ppc ln -sf ../../../../../lib64/libobjc.so.1 64/libobjc.so ln -sf ../`echo ../../../../lib/libstdc++.so.6.* | sed s~/lib/~/lib64/~` 64/libstdc++_shared.so echo 'GROUP ( -lstdc++_nonshared -lstdc++_shared )' > 64/libstdc++.so if [ "%{build_java}" -gt 0 ]; then ln -sf ../`echo ../../../../lib/libgcj.so.5.* | sed s~/lib/~/lib64/~` 64/libgcj.so ln -sf ../`echo ../../../../lib/lib-gnu-java-awt-peer-gtk.so.5.* | sed s~/lib/~/lib64/~` 64/lib-gnu-java-awt-peer-gtk.so ln -sf ../`echo ../../../../lib/lib-org-w3c-dom.so.5.* | sed s~/lib/~/lib64/~` 64/lib-org-w3c-dom.so ln -sf ../`echo ../../../../lib/lib-org-xml-sax.so.5.* | sed s~/lib/~/lib64/~` 64/lib-org-xml-sax.so fi ln -sf ../`echo ../../../../lib/libg2c.so.0.* | sed s~/lib/~/lib64/~` 64/libg2c.so mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libsupc++.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libstdc++_nonshared.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libg2c.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libfrtbegin.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libobjc.*a 64/ ln -sf lib32/libstdc++.a libstdc++.a ln -sf ../lib64/libstdc++.a 64/libstdc++.a if [ "%{build_java}" -gt 0 ]; then ln -sf lib32/libgcj.a libgcj.a ln -sf ../lib64/libgcj.a 64/libgcj.a ln -sf ../lib64/lib-gnu-java-awt-peer-gtk.a 64/lib-gnu-java-awt-peer-gtk.a ln -sf lib32/lib-gnu-java-awt-peer-gtk.a lib-gnu-java-awt-peer-gtk.a ln -sf ../lib64/lib-org-w3c-dom.a 64/lib-org-w3c-dom.a ln -sf lib32/lib-org-w3c-dom.a lib-org-w3c-dom.a ln -sf ../lib64/lib-org-w3c-dom.a 64/lib-org-w3c-dom.a ln -sf lib32/lib-org-xml-sax.a lib-org-xml-sax.a ln -sf ../lib64/lib-org-xml-sax.a 64/lib-org-xml-sax.a fi %endif %ifarch %{multilib_64_archs} mkdir -p 32 ln -sf ../../../../libobjc.so.1 32/libobjc.so ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++_shared.so echo 'GROUP ( -lstdc++_nonshared -lstdc++_shared )' > 32/libstdc++.so if [ "%{build_java}" -gt 0 ]; then ln -sf ../`echo ../../../../lib64/libgcj.so.5.* | sed s~/../lib64/~/~` 32/libgcj.so ln -sf ../`echo ../../../../lib64/lib-gnu-java-awt-peer-gtk.so.5.* | sed s~/../lib64/~/~` 32/lib-gnu-java-awt-peer-gtk.so ln -sf ../`echo ../../../../lib64/lib-org-w3c-dom.so.5.* | sed s~/../lib64/~/~` 32/lib-org-w3c-dom.so ln -sf ../`echo ../../../../lib64/lib-org-xml-sax.so.5.* | sed s~/../lib64/~/~` 32/lib-org-xml-sax.so fi ln -sf ../`echo ../../../../lib64/libg2c.so.0.* | sed s~/../lib64/~/~` 32/libg2c.so mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libstdc++_nonshared.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libfrtbegin.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/ %endif %ifarch sparc64 ppc64 ln -sf ../lib32/libstdc++.a 32/libstdc++.a ln -sf lib64/libstdc++.a libstdc++.a if [ "%{build_java}" -gt 0 ]; then ln -sf ../lib32/libgcj.a 32/libgcj.a ln -sf lib64/libgcj.a libgcj.a ln -sf ../lib32/lib-gnu-java-awt-peer-gtk.a 32/lib-gnu-java-awt-peer-gtk.a ln -sf lib64/lib-gnu-java-awt-peer-gtk.a lib-gnu-java-awt-peer-gtk.a ln -sf ../lib32/lib-org-w3c-dom.a 32/lib-org-w3c-dom.a ln -sf lib64/lib-org-w3c-dom.a lib-org-w3c-dom.a ln -sf ../lib32/lib-org-xml-sax.a 32/lib-org-xml-sax.a ln -sf lib64/lib-org-xml-sax.a lib-org-xml-sax.a fi %else %ifarch %{multilib_64_archs} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/libstdc++.a 32/libstdc++.a if [ "%{build_java}" -gt 0 ]; then ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/libgcj.a 32/libgcj.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/lib-gnu-java-awt-peer-gtk.a 32/lib-gnu-java-awt-peer-gtk.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/lib-org-w3c-dom.a 32/lib-org-w3c-dom.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/lib-org-xml-sax.a 32/lib-org-xml-sax.a fi %endif %endif # Strip debug info from Fortran/ObjC/Java static libraries strip -g `find . \( -name libg2c.a -o -name libobjc.a -o -name libgcj.a \ -o -name lib-gnu-java-awt-peer-gtk.a \ -o -name lib-org-w3c-dom.a -o -name lib-org-xml-sax.a \ -o -name libgcc.a -o -name libgcov.a \) -a -type f` popd chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libg2c.so.0.* chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.so.1.* %if %{build_ada} chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnarl*so* chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnat*so* %endif for h in `find $FULLPATH/include -name \*.h`; do if grep -q 'It has been auto-edited by fixincludes from' $h; then rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'` diff -up $rh $h || : rm -f $h fi done # gcj -static doesn't work properly anyway, unless using --whole-archive # and saving 35MB is not bad. find $FULLPATH -name libgcj.a -o -name lib-\*.a | xargs rm -f sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \ $FULLPATH/libgcj.spec cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF" #!/bin/sh fl="-std=c89" for opt; do case "$opt" in -ansi|-std=c89|-std=iso9899:1990) fl="";; -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 exit 1;; esac done exec %{_prefix}/bin/gcc $fl ${1+"$@"} EOF cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF" #!/bin/sh fl="-std=c99" for opt; do case "$opt" in -std=c99|-std=iso9899:1999) fl="";; -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 exit 1;; esac done exec %{_prefix}/bin/gcc $fl ${1+"$@"} EOF chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9 mkdir -p $RPM_BUILD_ROOT%{_prefix}/sbin gcc -static -Os %{SOURCE1} -o $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade strip $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade %if "%{version}" != "%{gcc_version}" mv -f $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/{%{version},%{gcc_version}} ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} mv -f $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/{%{version},%{gcc_version}} ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} mv -f $RPM_BUILD_ROOT%{_prefix}/include/c++/{%{version},%{gcc_version}} ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version} mv -f $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-{%{version},%{gcc_version}}.jar ln -sf libgcj-%{gcc_version}.jar $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-%{version}.jar %ifarch sparc ppc mv -f $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{_target_platform}/{%{version},%{gcc_version}} ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{_target_platform}/%{version} mv -f $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{_target_platform}/{%{version},%{gcc_version}} ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{_target_platform}/%{version} %endif %endif for i in $RPM_BUILD_ROOT%{_prefix}/bin/{*gcc,cpp,*++,c++filt,gcov,protoize,unprotoize}; do mv -f $i ${i}34 done %clean rm -rf $RPM_BUILD_ROOT # Because glibc Prereq's libgcc and /sbin/ldconfig # comes from glibc, it might not exist yet when # libgcc is installed %post -n libgcc34 -p %{_prefix}/sbin/libgcc_post_upgrade %post -n libstdc++34 -p /sbin/ldconfig %postun -n libstdc++34 -p /sbin/ldconfig %post -n libobjc34 -p /sbin/ldconfig %postun -n libobjc34 -p /sbin/ldconfig %postun -n libgcj -p /sbin/ldconfig %if %{build_f77} %post -n libf2c -p /sbin/ldconfig %postun -n libf2c -p /sbin/ldconfig %endif %post -n libgnat -p /sbin/ldconfig %postun -n libgnat -p /sbin/ldconfig %files %defattr(-,root,root) %{_prefix}/bin/gcc34 %{_prefix}/bin/gcov34 %{_prefix}/bin/protoize34 %{_prefix}/bin/unprotoize34 %ifarch sparc ppc %{_prefix}/bin/%{_target_platform}-gcc %endif %ifarch sparc64 %{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc %endif %ifarch ppc64 %{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc %endif %{_prefix}/bin/%{gcc_target_platform}-gcc34 %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/varargs.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/float.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/limits.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/iso646.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h %ifarch %{ix86} x86_64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h %endif %ifarch ia64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia64intrin.h %endif %ifarch ppc ppc64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppc-asm.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/altivec.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spe.h %endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/README %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s_64.so %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/crt*.o %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcov.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s_32.so %endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/specs %dir %{_prefix}/libexec/getconf %{_prefix}/libexec/getconf/default %doc gcc/README* gcc/*ChangeLog* gcc/COPYING* %files -n cpp34 %defattr(-,root,root) /lib/cpp %{_prefix}/bin/cpp34 %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1 %files -n libgcc34 %defattr(-,root,root) /%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 %doc gcc/COPYING.LIB %files c++ %defattr(-,root,root) %{_prefix}/bin/%{gcc_target_platform}-*++34 %{_prefix}/bin/g++34 %{_prefix}/bin/c++34 %{_prefix}/bin/c++filt34 %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++_shared.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++_nonshared.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libsupc++.a %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++_shared.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++_nonshared.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a %endif %ifarch sparc ppc %{multilib_64_archs} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_shared.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_nonshared.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a %endif %ifarch sparc sparc64 ppc ppc64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a %endif %doc gcc/cp/ChangeLog* %files -n libstdc++34 %defattr(-,root,root) %{_prefix}/%{_lib}/libstdc++.so.6* %files -n libstdc++34-devel %defattr(-,root,root) %{_prefix}/include/c++ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a %endif %ifarch sparc64 ppc64 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a %endif %ifnarch sparc sparc64 ppc ppc64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a %endif %ifnarch sparc ppc %{multilib_64_archs} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_shared.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++_nonshared.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a %endif %doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/ %files objc %defattr(-,root,root) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1obj %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.so %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.so %endif %doc libobjc/THREADS* libobjc/ChangeLog %files -n libobjc34 %defattr(-,root,root) %{_prefix}/%{_lib}/libobjc.so.1* %if %{build_f77} %files g77 %defattr(-,root,root) %{_prefix}/bin/g77 %{_prefix}/bin/f77 %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f771 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libfrtbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libg2c.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libg2c.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libfrtbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libg2c.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libg2c.so %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libfrtbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libg2c.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libg2c.so %endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/g2c.h %files -n libf2c %defattr(-,root,root) %{_prefix}/%{_lib}/libg2c.so.0* %endif %if !%{asp10} %if %{build_java} %files java %defattr(-,root,root) %{_prefix}/bin/gcj %{_prefix}/bin/gcjh %{_prefix}/bin/jcf-dump %{_prefix}/bin/jv-scan %{_mandir}/man1/gcj.1* %{_mandir}/man1/gcjh.1* %{_mandir}/man1/jcf-dump.1* %{_mandir}/man1/jv-scan.1* %{_infodir}/gcj* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jc1 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jvgenmain %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib-gnu-java-awt-peer-gtk.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib-org-w3c-dom.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib-org-xml-sax.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/lib-gnu-java-awt-peer-gtk.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/lib-org-w3c-dom.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/lib-org-xml-sax.so %endif %ifarch %{multilib_64_archs} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/lib-gnu-java-awt-peer-gtk.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/lib-org-w3c-dom.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/lib-org-xml-sax.so %endif %doc gcc/java/ChangeLog* %files -n libgcj %defattr(-,root,root) %{_prefix}/bin/jv-convert %{_prefix}/bin/gij %{_prefix}/bin/fastjar %{_prefix}/bin/grepjar %{_prefix}/bin/grmic %{_prefix}/bin/grmiregistry %{_mandir}/man1/fastjar.1* %{_mandir}/man1/grepjar.1* %{_mandir}/man1/jv-convert.1* %{_mandir}/man1/gij.1* %{_mandir}/man1/grmic.1* %{_mandir}/man1/grmiregistry.1* %{_infodir}/fastjar* %{_prefix}/%{_lib}/libgcj.so.* %{_prefix}/%{_lib}/lib-gnu-java-awt-peer-gtk.so.* %{_prefix}/%{_lib}/lib-org-w3c-dom.so.* %{_prefix}/%{_lib}/lib-org-xml-sax.so.* %{_prefix}/share/java %{_prefix}/lib/security %{_prefix}/lib/logging.properties %files -n libgcj-devel %defattr(-,root,root) %{_prefix}/bin/addr2name.awk %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.spec #%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gc*.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/j*.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/java %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/javax %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gnu %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gcj #%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/org %{_prefix}/lib/pkgconfig/libgcj.pc %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/* %doc rpm.doc/libjava/* %endif %endif %if %{build_ada} %files gnat %defattr(-,root,root) %{_prefix}/bin/gnat* %{_prefix}/bin/gpr* %{_infodir}/gnat* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} %endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1 %{_prefix}/share/gnat %doc gcc/ada/ChangeLog %files -n libgnat %defattr(-,root,root) %{_prefix}/%{_lib}/libgnat-*.so.* %{_prefix}/%{_lib}/libgnarl-*.so.* %endif %ifarch sparc %files sparc32 %defattr(-,root,root) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{_target_platform} %dir %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{_target_platform} %dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1 %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}/include %files c++-sparc32 %defattr(-,root,root) %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{_target_platform} %dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1plus %endif %ifarch ppc %files ppc32 %defattr(-,root,root) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{_target_platform} %dir %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/lib/gcc/%{_target_platform}/%{version} %endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{_target_platform} %dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1 %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}/include %files c++-ppc32 %defattr(-,root,root) %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{_target_platform} %dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version} %if "%{version}" != "%{gcc_version}" %{_prefix}/libexec/gcc/%{_target_platform}/%{version} %endif %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1plus %endif %changelog * Fri Oct 21 2005 Vadim Likhota 3.4.4-2 - update for ASPLinux 10 * Fri Jul 22 2005 Jakub Jelinek 3.4.4-2 - update from gcc-3_4-branch - PRs c++/10611, c++/19608, c++/19884, c++/20563, c++/20789, c++/21336, c++/21853, c++/21903, c++/21987, c/22308, libstdc++/21286, rtl-optimization/22167, target/19933, target/20301, target/21888, target/21889, target/22083 - fix -march=i386 -masm=intel -fpic (#162585) - on ppc64 and s390x, change the obsoletes for gcc-gnat and libgnat to < %{gcc_version} - fix visibility handling of static class members (Mark Mitchell, #159197, PR c++/18925) - fix some -fvar-tracking bugs that were causing bogus DW_OP_piece ops - fix -fvar-tracking on big-endian targets (Josef Zlomek, PR middle-end/14084) - avoid recursive use of varasm hash tables (#157308) - on ppc accept CTR-to-CTR copy in mov[sd]f_hardfloat patterns (Dale Johannesen, Janis Johnson, #160815, IT#74566, PRs target/20191, target/22081) - remove limit of 16 nested GCC visibility pragmas (PR middle-end/20303) - fix stringbuf in_avail() (Benjamin Kosnik, #159408, IT#72781) * Thu May 26 2005 Jakub Jelinek 3.4.4-1 - update from gcc-3_4-branch - GCC 3.4.4 release - PRs middle-end/21709, c++/21768 - fix reg-stack ICE (#158407, PR target/21716) - fix ppc64 libgcj (Andrew Haley, #154684, #142611) - add provides, so that packages requiring gcc = 3.4.3 or libstdc++-devel = 3.4.3 etc. can be satisfied - use 3.4.3 directories and make 3.4.4 just a symlink, so that other packages using the 3.4.3 directories are satisfied and we don't try to replace a directory with a symlink (which rpm doesn't like) * Tue May 10 2005 Jakub Jelinek 3.4.3-25 - update from gcc-3_4-branch - PRs c++/21427, debug/16676, libffi/21285, target/16925, target/19051, target/21416 - don't enable -fvar-tracking on ia64 for -O0 or -g0 by default - fix warnings in when compiling with GCC 4 (Mark Mitchell, #157174) - fix warnings in (#157190, PR libstdc++/16678) - fix output of i?86 movb $cst, %ah etc. instructions (#154116) - fix a regression introduced by PR target/14981 backport - fix VEC_SELECT handling in the combiner (PR rtl-optimization/21239) - fix i?86 address canonicalization (PR target/21297) * Sat May 7 2005 Jakub Jelinek 3.4.3-24 - -fvar-tracking support (Josef Zlomek, Daniel Berlin) * Fri May 6 2005 Jakub Jelinek 3.4.3-23 - update from gcc-3_4-branch - PRs bootstrap/20633, c++/18464, c++/18644, c++/19034, c++/19311, c++/19312, c++/19991, c++/20142, c++/20147, c++/20147, c++/20240, c++/20333, c++/20679, c++/20995, c++/21025, c/11459, c/18502, c/20740, c/21213, libstdc++/21035, libstdc++/21131, middle-end/19225, middle-end/20364, rtl-optimization/19683, target/14981, target/15491, target/17822, target/17824, target/18251, target/18551, target/19819, target/20277, target/20288, target/20611, target/20670, target/21098 - make libgcov symbols hidden (#162930, IT#72501, PR middle-end/19985) - add Req/BuildReq for glib2 and libart_lgpl (#150923) - fix ada build with make -jN N>1 * Thu Mar 3 2005 Jakub Jelinek 3.4.3-22 - fix PR c++/19916 (Mark Mitchell, #148793) - fixed C++ redeclaration handling (Alexandre Oliva, #149098) * Mon Feb 28 2005 Jakub Jelinek 3.4.3-21 - update from gcc-3_4-branch - PRs rtl-optimization/17728, target/20159, c++/20175 * Tue Feb 22 2005 Jakub Jelinek 3.4.3-20 - update from gcc-3_4-branch - PRs c++/14479, c++/19487, c++/19739, c++/19755, c++/19762, c++/19787, c++/20028, libstdc++/19829, libstdc++/19946, libstdc++/19955, middle-end/19697, preprocessor/19077, target/19019, target/19715 - rename PowerPC IBM long double helper routines _xlq* to __gcc_*, but keep _xlq*@GCC_3.4 aliases around (#148841, PR target/19019) - change __cxa_demangle to match cxx-abi change http://www.codesourcery.com/archives/cxx-abi-dev/msg01877.html (Jason Merrill, #133406) - only obsolete < NVR gcc-gnat and libgnat if %%{build_ada} is 0 (#139537) - revert the alloca vs. VLA patch, it has too many false positives (#147758) - make sure libjava GC memory is executable for libffi trampolines sake (#149348, PR libgcj/19823) * Sat Feb 10 2005 Jakub Jelinek 3.4.3-19 - use crtendS.o instead of crtend.o on ppc -pie - use execv instead of execl in libgcc_post_upgrade to avoid bringing in malloc and friends into the statically linked binary (which increases its size ~ 10 times) * Thu Feb 10 2005 Jakub Jelinek 3.4.3-18 - update from gcc-3_4-branch - PRs c++/18370, c++/19366, c++/19499, c++/19733, libstdc++/19642, middle-end/19775, target/15384, target/16201, target/17771, target/19293, target/19329, target/19393, target/19803 - fix c++filt/__cxa_demangle segfault on invalidly mangled names generated by G++ 3.4 (#145781, PR c++/16240) - make sure libgcj.so is not PT_GNU_STACK RWE - disallow dlopening libgnat-3*.so, as it must be PT_GNU_STACK RWE due to its extensive use of trampolines - fix PRs c++/18838 and c++/19367 (Mark Mitchell, backported by Alexandro Oliva) - fix ICE in fold_convert (Andrew Pinski, #146385, PR c++/19666) * Tue Jan 25 2005 Jakub Jelinek 3.4.3-17 - update from gcc-3_4-branch - PRs c++/19258, c++/19375, libstdc++/19510, other/16403, rtl-optimization/19296, target/16304, target/19548 - fix PR rtl-optimization/19579 - remove Java *.a libraries, issue error for gcj -static (#145829) * Sat Jan 22 2005 Jakub Jelinek 3.4.3-16 - fix PRs middle-end/19551 * Tue Jan 18 2005 Jakub Jelinek 3.4.3-15 - add gcc-gnat and libgnat on ppc, x86_64 and ia64 again - fix Ada bootstrap problems on 64-bit architectures (PR ada/13470) - run ACATS tests under expect, so that if they hang, they'll be timed out * Fri Jan 14 2005 Jakub Jelinek 3.4.3-14 - update from gcc-3_4-branch - PRs bootstrap/18033, target/18987, target/18720, rtl-optimization/19012, rtl-opt/13299, rtl-opt/10692 - fix PRs c++/19263, rtl-optimization/16104, c/17297, middle-end/19164, rtl-optimization/15139, rtl-optimization/19348, middle-end/19084, java/17255 * Fri Jan 7 2005 Jakub Jelinek 3.4.3-13 - fix memory attribute computation for addqi_1_slp (PR target/19012) - fix TYPE_MODE of enum with __attribute__ ((mode ())) (#144358) * Wed Jan 5 2005 Jakub Jelinek 3.4.3-12 - update from gcc-3_4-branch - PRs c++/14607, middle-end/19175, rtl-optimization/12092, target/17643 - fix ICE in same_translation_unit_p (#144166) * Mon Dec 27 2004 Jakub Jelinek 3.4.3-11 - update from gcc-3_4-branch - PRs c++/17972, c++/18962, c++/18975, java/14104, libobjc/12035, middle-end/17930, middle-end/18424, middle-end/18493, middle-end/18590, middle-end/18730, middle-end/18882, middle-end/19068, other/18508, other/18665, other/19093, preprocessor/15167, rtl-optimization/16968, target/16819, target/17990, target/18002, target/18153, target/19005, target/19010, target/19028, target/19102, target/19147 - fix ICE in dwarf2out (Devang Patel, Eric Botcazou, #143719, PR debug/16261) - fix ICE in reshape_init_array (#143034, PRs c++/18384, c++/18327) * Tue Dec 14 2004 Jakub Jelinek 3.4.3-9.EL4 - update from gcc-3_4-branch - PRs target/18932, target/17025, c++/18731 - fix _Jv_{Start,End}OfInterpreter computation (Andrew Haley, #142611, PRs java/18036, java/13468) - avoid multiple evaluation of sqrt and other math builtins when not -ffast-math (#142603, PR middle-end/18951) - remove leading underscore from %{_prefix}/libexec/getconf/default symlink target * Thu Dec 9 2004 Jakub Jelinek 3.4.3-8.EL4 - update from gcc-3_4-branch - PRs target/18443, c++/18100, java/14853, c++/16681 - fix creation of %{_prefix}/libexec/getconf/default symlink * Wed Dec 8 2004 Jakub Jelinek 3.4.3-8 - update from gcc-3_4-branch - PRs c++/17011, c++/17431, c++/17971, c++/18123, c++/6764, libstdc++/18837, middle-end/17827, preprocessor/17610, preprocessor/17651, rtl-opt/15289, rtl-optimization/16356, target/12769, target/12817, target/16343, target/16952, target/17224, target/18841, target/9908 - make sure target's LOAD_EXTEND_OP or lack thereof doesn't influence gcj -C output (#141730) - package %{_prefix}/libexec/getconf/default symlink - avoid recursion in splay_tree_delete (D.J.Delorie, #142090) - handle java.net.URL ((String) null) (Michael Koch) - don't ICE on invalid templated source (Alexandre Oliva, #141300, PR c++/18757) * Fri Nov 26 2004 Jakub Jelinek 3.4.3-7 - update from gcc-3_4-branch - PRs rtl-optimization/18614, rtl-optimization/14838, target/18263 - don't optimize printf/fprintf/__printf_chk/__fprintf_chk in any way if return value is not ignored - fix folding of abs (#140890) - fix ppc #pragma longcall (Alan Modra, PR target/18686) * Wed Nov 24 2004 Jakub Jelinek 3.4.3-6 - make sure return value of __builtin_object_size () is size_t, not the internal sizetype type (otherwise spurious large integer implicitly truncated to unsigned type warnings might be emitted) * Tue Nov 23 2004 Jakub Jelinek 3.4.3-5 - change s390{,x} stack layout to work-around GCC 2.95.3 bug: former -mno-backchain (the default), -mbackchain and -mkernel-backchain options were transformed into (in order) -mno-backchain -mpacked-stack, -mbackchain -mno-packed-stack and -mbackchain -mpacked-stack. A new combination -mno-backchain -mno-packed-stack is now the new default (Andreas Krebbel, #139678) * Sat Nov 20 2004 Jakub Jelinek 3.4.3-4 - issue error on invalid bitfields (Joseph S. Myers, PR c/18498) - fix __builtin_{setjmp,longjmp} to do stack adjustements properly (Eric Botcazou, Roger Sayle, PR middle-end/17813 #139929) - fix combine on STRICT_LOW_PART (PR rtl-optimization/17825, #138627) * Mon Nov 15 2004 Jakub Jelinek 3.4.3-3 - update from gcc-3_4-branch - PRs 17778, c++/18389, c++/18407, c++/18436, c/18322, objc/18406, target/16480, target/18347, target/18380 - some more libgcc_s.so.1 tweaks on ia64 - add some Java stubs, fix a typo in method's name (Gary Benson, #130006) * Wed Nov 10 2004 Jakub Jelinek 3.4.3-2 - make _Unwind_* symbols in libgcc_s.so.1 unversioned to match the "IA-64 Linux ABI" - fix ia64 unwind info generation (Jim Wilson, David Mosberger, #138217, PRs target/13158, target/18010) - kill the alternatives stuff for libgcj (Thomas Fitzsimmons) * Sun Nov 7 2004 Jakub Jelinek 3.4.3-1 - update from gcc-3_4-branch - GCC 3.4.3 release - PRs 18004, bootstrap/15747, bootstrap/17684, c++/13560, c++/15172, c++/17132, c++/18020, c++/18093, c++/18140, libstdc++/16612, middle-end/18129, other/17783, other/18138, other/18186, rtl-optimization/17581, rtl-optimization/18084, target/17317 - with -D_GLIBCXX_FULLY_DYNAMIC_STRING, STL should now avoid _S_empty_rep_storage (#135268) - don't ICE when cc1 is called on a non-existent source file (Jim Wilson) - add %%doc COPYING{,.LIB} * Tue Nov 2 2004 Jakub Jelinek 3.4.2-9 - allow enums with mode attribute (if mode is integral; PR c/18282) * Mon Nov 1 2004 Jakub Jelinek 3.4.2-8 - added object size checking patch (more limited than in gcc4-4.0.0-0.x, still should catch some overflows) * Mon Oct 25 2004 Jakub Jelinek 3.4.2-7 - fix ICE in dwarf2out.c introduced in 3.4.2-6 (#136884) - fix -fwritable-strings (#136714) * Mon Oct 18 2004 Jakub Jelinek 3.4.2-6 - update from gcc-3_4-branch - PRs c++/15786, c++/15876, c++/16301, c/16999, c/17023, c++/17115, c/17384, c++/17393, c++/17524, c++/17685, c++/17821, c++/17826, c++/17868, c++/17976, debug/13841, debug/14492, debug/15860, libstdc++/17850, other/17361, rtl-opt/17503, rtl-optimization/17027, rtl-optimization/17853, target/14454, target/17245, target/17770 - fix ICE in addqi_1_slp on i386 (#135872) - avoid symlinks in /usr/include/c++/%{version}/ on ppc and sparc (#135611) - make sure .toc{,1} sections are created on ppc -m64 -mminimal-toc (#134248, PR target/17751) - define __GNUC_RH_RELEASE__ macro to match %%{release} rpm macro (well, its first number) * Thu Oct 7 2004 Jakub Jelinek 3.4.2-5 - update from gcc-3_4-branch - PRs target/16007, 16406, libstdc++/10975, libstdc++/17505 - fix a fastjar bug (Tom Tromey, #74106) - obsolete gcc-chill (#84670) - don't use Koenig lookup if normal lookup finds a member function (Nathan Sidwell, #134676, PR c++/17829) * Tue Oct 5 2004 Jakub Jelinek 3.4.2-4 - remove VMClassLoader change * Mon Oct 4 2004 Jakub Jelinek 3.4.2-3 - update from gcc-3_4-branch - PRs 15886, bootstrap/17369, c++/14179, c/15498, c++/16162, c/16566, c++/17327, c++/17501, c++/17585, driver/17537, inline-asm/6806, libgcj/17465, libstdc++/11722, libstdc++/16715, libstdc++/16848, libstdc++/17259, libstdc++/17469, other/15526, rtl-opt/17186, rtl-optimization/9771, target/11476, target/14064, target/15583, target/16884, target/17167, target/17277, target/17455, target/17493, target/17565 - fix Fortran double precision constant handling (Bud Davis, PR fortran/17541, #133694) - fix up gnat_ung_unw's info direntry (#133629) - install-info gnat-style - another backport of s390{,x} -mkernel-backchain, by Andreas Krebbel - remove nothrow attribute from stdio builtins that might be cancellation points - change ZipFile Java class so that it returns null if not found to make ant happy (Anthony Green) - x86-64 libffi argument alignment fix (Andrew Haley) * Mon Sep 20 2004 Jakub Jelinek 3.4.2-2 - add .note.GNU-stack marking to ppc64 crtsavres.o and ia64 crt{begin,end,i,n}.o * Wed Sep 8 2004 Jakub Jelinek 3.4.2-1 - update from gcc-3_4-branch - GCC 3.4.2 release - PRs bootstrap/17325, target/17303, rtl-optimization/16408, fortran/17180 - gnu.regexp.* backport (Anthony Green) - java.ext.dirs (Anthony Green) - fix libjava hash synchronization (Hans Boehm, PR libgcj/16662) * Wed Sep 1 2004 Jakub Jelinek 3.4.1-10 - update from gcc-3_4-branch - PRs c++/15461, c++/15890, c++/16246, c++/16706, c++/16851, c++/16889, c++/17068, c/14492, c/16180, debug/10695, middle-end/16693, rtl-optimization/16590, rtl-optimization/17078, target/15927, target/15948, target/16298, target/16974, target/17019, target/17093, target/17113, target/17119 - thread-safe C++ static initializers (Jason Merrill, #89828) - fix x ? (unsigned long) d : (long) d conversion bug for d floating (#131082) * Sat Aug 21 2004 Jakub Jelinek 3.4.1-9 - make no-dot-syms on ppc64 runtime selectable: -m64 -mcall-linux (the default) will use no dot symbols, -m32 -mcall-aixdesc will use dot symbols - backport C++ visibility patches, -fvisibility*, #pragma GCC visibility - backport s390{,x} -mkernel-backchain and stack checking changes, though for this rpm version the patches are still not applied - add spe.h header on ppc and ppc64, altivec.h and ppc-asm.h on ppc64 - add gcc34* and lib*34 Provides - use libgcj-javac-placeholder.sh for javac alternative(8), run exec gcj -C "$@" at the end of it and gij "$@" at the end of libgcj-java-placeholder.sh * Tue Aug 17 2004 Jakub Jelinek 3.4.1-8 - update from gcc-3_4-branch - PRs 13956, 16684, bootstrap/16469, c++/16175, c++/16224, c++/16273, c++/16489, c++/16529, c++/16618, c++/16637, c++/16698, c++/16717, c++/16810, c++/16853, c++/16870, c++/16904, c++/16929, c++/16964, libgfortran/15930, libstdc++/12658, libstdc++/14697, libstdc++/16813, libstdc++/16959, middle-end/16790, other/16842, preprocessor/16366, rtl-optimization/16490, rtl-optimization/16536, rtl-optimization/16643, target/16239, target/16325 - avoid making silly copies in convert_move (Jeff Law) - make sure all files in libgcj*.jar have identical timestamps accross all the architectures (#128431) - one more gcj -C fix to make sure .class files are identical between 32-bit and 64-bit targets (#128431) - put jumptables for .gnu.linkonce.t.* sections into .gnu.linkonce.r.* sections instead of .rodata (#129574, PR c++/16276) - rtti linkonce fix (H.J.Lu, PR c++/16276) - handle filenames with embedded spaces in gcj (Elliot Lee, #129675, PR java/9677) - stop using dot symbols on ppc64 (Alan Modra) - overlap fd_aux field of ppc64 .opd entries with next .opd entry's fd_func if a function is not going to use r11 passed to it - avoid building multilib libjava's - they shouldn't be needed for packaging and otherwise we would need all of Gtk+ installed as both 32-bit and 64-bit development environment * Thu Aug 12 2004 Thomas Fitzsimmons - build GTK peers, backport libjava changes from gui-branch - rename gjar to fastjar * Tue Jul 20 2004 Jakub Jelinek 3.4.1-7 - fix nested inline function patch * Mon Jul 19 2004 Jakub Jelinek 3.4.1-6 - don't emit unreferenced nested C functions (PRs middle-end/15345, c/16450) - fix libgcj %post (#128068) * Thu Jul 15 2004 Jakub Jelinek 3.4.1-5 - update from gcc-3_4-branch - PRs 16478, bootstrap/16250, c++/16276, c++/16475, libgcj/16473, libgcj/16478, libgcj/7587, libstdc++/15928, libstdc++/16210, libstdc++/16248, libstdc++/16401, libstdc++/16411, other/15194, rtl-optimization/14700, rtl-optimization/16380, target/12602, target/13926, target/15186, target/15869, target/16130, target/16142, target/16143, target/16199, target/16344, target/16357, target/16407, target/16414, target/16416, target/16430, target/16445, target/16459, target/16494, target/1679 - rename rmiregistry, jar and rmic binaries and their man pages and install alternatives-managed symlinks in their place (Tom Fitzsimmons) - make even multilib libstdc++.so's versioned * Sat Jul 10 2004 Jakub Jelinek 3.4.1-4 - handle c++config.h being different between multilibs - fix C++ enum handling in range tests (PR tree-optimization/16372) - one more bitfield patch fix * Fri Jul 9 2004 Jakub Jelinek 3.4.1-3 - reenable bitfield patch after fixing it - don't use SSE prefetch instructions if -mcpu= is a CPU with SSE prefetch, but -march= is not i686+ and -msse{2,3} is not given either (#127375) * Mon Jul 5 2004 Jakub Jelinek 3.4.1-2 - temporary disable the bitfield patch until it is fixed * Sat Jul 3 2004 Jakub Jelinek 3.4.1-1 - update from gcc-3_4-branch - 3.4.1 release - PRs bootstrap/14760, c++/14865, c++/14950, c++/16174, libstdc++/16154, libstdc++/16182, middle-end/16026, preprocessor/15572, preprocessor/15913, preprocessor/16192, rtl-optimization/14782, target/15551, target/16144, target/16176, wrong-code/15089, wrong-code/16129 - optimize some bitfield operations (PR tree-optimization/15310) * Fri Jun 25 2004 Jakub Jelinek 3.4.0-7 - fix ppc64 -mminimal-toc (PR target/16195) - fix gnat rpm scriptlets (#126654) * Tue Jun 22 2004 Jakub Jelinek 3.4.0-6 - update from gcc-3_4-branch - PRs c++/14007, c++/14930, c++/15096, c++/15947, c++/15967, c++/3518, libf2c/15151, libstdc++/16020, rtl-optimization/15159, target/10129, target/13292, target/15178, target/15550, target/15941 - fix gcc hang in CSE on ppc64 kernel (PR rtl-opt/16114, Richard Henderson) - optimize unsigned int i; ... if (i == 0 || i == -1U) and similar tests * Mon Jun 14 2004 Jakub Jelinek 3.4.0-5 - update from gcc-3_4-branch - PRs ada/14150, c++/14211, c++/15076, c++/15227, c++/15862, c++/15875, c++/15877, libstdc++/15775, rtl-optimization/15296, rtl-optimization/15761, target/13312, target/13803, target/14567, target/14960, target/15191, target/15653, target/8309 - don't optimize out Inf - Inf, Inf / Inf and 0 * Inf unless -ffast-math, as they should generate runtime exception (PR middle-end/15945) - add libgnat-3.4.so and libgnarl-3.4.so symlinks - disable Ada support on 64-bit arches and PPC32 for now, xnmake is deadly broken - if Ada support is disabled, Obsolete older gcc-gnat and libgnat in gcc rpm - add Provides libstdc++34 resp. libgcj34 in libstdc++ resp. libgcj packages * Wed Jun 9 2004 Jakub Jelinek 3.4.0-4 - libstdc++ linker map fix for 64-bit arches (Jason Merrill) - for the time being undeprecate #pragma interface and #pragma implementation * Wed Jun 9 2004 Jakub Jelinek 3.4.0-3 - update from gcc-3_4-branch - PRs c++/13092, c/14649, c++/14668, c/14765, c++/14777, c++/14821, c++/14883, c++/14932, c++/15025, c++/15044, c++/15057, c++/15083, c++/15142, c++/15165, c++/15209, c++/15285, c++/15287, c++/15299, c++/15317, c++/15329, c++/15337, c++/15427, c++/15471, c++/15503, c++/15507, c++/15542, c++/15554, c++/15625, c++/15629, c++/15640, c++/15696, c++/15701, c++/15742, c/15749, c++/15766, c++/15815, java/14315, libstdc++/12854, libstdc++/13928, libstdc++/14600, libstdc++/15123, libstdc++/15565, libstdc++/15675, middle-end/15069, middle-end/15228, middle-end/15666, objc/7993, rtl-opt/15193, rtl-optimization/15717, target/13250, target/14457, target/14478, target/14542, target/15569, target/15598, target/15626, target/15693, target/15782, target/15783 - fix ICE on IA-64 with -frename-registers -Os (Jim Wilson, #117946, PR rtl-optimization/15681) - fix libffi bug on ia64 (#122923) - fix ia64 backtrace (#125204) * Thu May 20 2004 Jakub Jelinek 3.4.0-2 - update from gcc-3_4-branch - PRs libgcj/14695, preprocessor/15067, 11591, bootstrap/14671, bootstrap/15120, c++/14962, c/15004, c++/15064, debug/14829, libstdc++/12077, libstdc++/14220, libstdc++/14245, libstdc++/14340, libstdc++/14775, libstdc++/14975, libstdc++/15002, libstdc++/15046, libstdc++/15047, libstdc++/11610, libstdc++/15074, libstdc++/15090, libstdc++/15361, libstdc++/15412, libstdc++/15488, libstdc++/15489, middle-end/15054, optimization/13985, optimization/15100, optimization/15112, other/1963, target/14715, target/14723, target/14813, target/14857, target/15084, target/15130, target/15189, target/15202, target/15290, target/15301, target/15302, target/15331 - use lib64 instead of lib directories on ia64 if %{_lib} is set to lib64 by rpm - add Obsoletes for gcc34 etc. rpms - emit .note.GNU-stack on IA-64 - fix libgcc build on SPARC* - fix SPARC* bi-arch compiler * Tue Apr 20 2004 Jakub Jelinek 3.4.0-1 - GCC 3.4 release - PRs bootstrap/14992, other/14918, 14936, ada/14538, ada/14665, bootstrap/14462, c/14828, c++/14804, 14219, c++/14808, c++/14803, c++/14804, c++/14810, c++/14724, c++/14763, c++/14639, bootstrap/14893, libstdc++/14783, libstdc++/13598 - fix some tests on x86-64 - testcase for PR optimization/13488 * Fri Apr 2 2004 Jakub Jelinek 3.4.0-0.9 - different PR optimization/13424 fix * Wed Mar 31 2004 Jakub Jelinek 3.4.0-0.8 - update from gcc-3_4-branch - PRs 11527, bootstrap/12974, bootstrap/14207, c/12373, c/13129, c/14069, c++/14481, c++/14545, c++/14586, c++/14587, c++/14616, c/14635, debug/13974, libstdc++/14647, libstdc++/14648, middle-end/14470, middle-end/14535, optimization/14669, other/14630, other/14630, pch/14137, preprocessor/14438, target/13889, target/14206, target/14260, target/14291, target/14577, target/14599, target/14676 - link libgcc_s even to C programs and executables if they need exception handling - add support for -m{arch,tune}={prescott,nocona} (Jan Hubicka) - don't use 3dNOW! prefetches in x86-64 libgcj (H.J.Lu, #119022, PR target/14326) - fix typos in ICE hack, add -frandom-seek=0 - another attempt to fix aggregates with mixed const and non-const members and almost-zero initializer (Eric Botcazou, Mark Mitchell, PR optimization/13424) - fix bitfield handling in a.b++ == const to ++a.b == const + 1 transformations (PR c++/14755) * Tue Mar 16 2004 Jakub Jelinek 3.4.0-0.7 - update from gcc-3_4-branch - PRs 13728, bootstrap/12371, c++/13170, c++/14397, c++/14401, c++/14409, c++/14432, c++/14448, c++/14452, c++/14476, c++/14510, c++/14550, c/14114, c/14465, c/14517, debug/11983, debug/14079, driver/13577, libstdc++/11706, libstdc++/13450, libstdc++/14320, libstdc++/3247, middle-end/11767, middle-end/14203, middle-end/14289, middle-end/14327, middle-end/14470, middle-end/14477, opt/13862, optimization/14235, optimization/14381, other/14474, other/14536, target/14047, target/14343, target/14406, target/14471, target/14480, target/14496, target/14539, target/14547 - fix ICE in cp_expr_size (Mark Mitchell, #116213, PR c++/14230) - fix s390x ICE in legitimize_pic_address (#117872, PR target/14533) - fix miscompilation on IA-32 with fix_trunc* between CC setter and consumer (Caroline Tice, #118026, PR target/12308) - emit dwarf2 debug info for __thread vars on ppc/ppc64 (#111628) - fix gcj ICE on final unitialized local variable used in switch (Andrew Haley, #118219, PR java/14581) - make all subpackages owns all dirs in the gcc-lib tree they are using * Tue Mar 2 2004 Jakub Jelinek 3.4.0-0.6 - update from gcc-3_4-branch - PRs 14240, bootstrap/14207, bootstrap/14356, c++/13944, c++/14138, c++/14246, c++/14250, c++/14260, c++/14278, c++/14284, c++/14324, c++/14337, c++/14359, c++/14360, c++/14361, c++/14369, c/14188, debug/12103, debug/14328, java/14296, libstdc++/10246, libstdc++/14248, libstdc++/14252, middle-end/13448, optimization/7871, target/14209 - fix PR optimization/12419 - warn if VLAs might free alloca before end of function (Alexandre Oliva, PR 14236) - add --param min-pretend-dynamic-size=NNN option (Alexandre Oliva) * Sun Feb 22 2004 Jakub Jelinek 3.4.0-0.5 - fix profiled feedback race * Sat Feb 21 2004 Jakub Jelinek 3.4.0-0.4 - update from gcc-3_4-branch - PRs 12028, 12179, bootstrap/13617, bootstrap/14180, bootstrap/9249, c++/11295, c++/11326, c/12818, c++/12850, c++/13086, c++/13113, c++/13635, c++/13683, c++/13714, c++/13813, c++/13854, c++/13883, c++/13907, c++/13925, c++/13927, c++/13932, c++/13950, c++/13957, c++/13968, c++/13969, c++/13970, c++/13971, c++/13975, c++/13978, c++/13997, c++/14002, c++/14028, c++/14033, c++/14083, c++/14085, c++/14086, c/14088, c/14092, c++/14108, c++/14122, c++/14173, c++/14178, c++/14181, c++/14186, c++/14199, c/456, c++/9851, c++/9941, debug/12934, fortran/14129, inline-asm/6162, java/13824, libstdc++/11352, libstdc++/13731, libstdc++/13858, libstdc++/13976, libstdc++/14026, libstdc++/14071, libstdc++/14072, libstdc++/14078, libstdc++/14097, libstdc++/14098, libstdc++/5625, middle-end/13696, middle-end/13750, optimization/12147, optimization/13424, optimization/14119, other/10584, pch/13361, 13485, preprocessor/14103, preprocessor/14198, target/11475, target/12476, target/12898, target/12978, target/13721, target/13866, target/13914, target/14113, target/14201, target/1532 - avoid trailing space in instructions - ppc64 Java fixes (Alan Modra) - use push/pop in prologues/epilogues on P4 (Jan Hubicka) - avoid more than 4 jumps per cacheline on P4 (Jan Hubicka) * Thu Jan 29 2004 Jakub Jelinek 3.4.0-0.3 - update from gcc-3_4-branch - PRs target/7297, target/10904, target/13058, optimization/13567, target/13666, bootstrap/13853, target/13674, opt/12941, c/13814 - profiledbootstrap on IA-32/AMD64 - add include symlink to gcc-{ppc32,sparc32} packages - include libgcov.a - fix IA-32/AMD64 string operations (PR optimization/13424) * Thu Jan 22 2004 Jakub Jelinek 3.4.0-0.2 - fix build of ppc32/sparc32 -m32 only cc1/cc1plus binaries - temporarily revert IA-64 TI/TFmode patch to put IA-64 into bootstrapland * Wed Jan 21 2004 Jakub Jelinek 3.4.0-0.1 - initial gcc 3.4 package