%define DATE 20050727 %define gcc_version 4.0.1 %define gcc_release 5 %define _unpackaged_files_terminate_build 0 Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc-%{cross_target} Version: %{gcc_version} Release: 4.fc4 License: GPL Group: Development/Languages Source0: gcc-%{version}-%{DATE}.tar.bz2 Source1: libgcc_post_upgrade.c URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/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 Requires: cpp-%{cross_target} = %{version}-%{release} # Need .eh_frame ld optimizations # Need proper visibility support # Need -pie support # Need --as-needed/--no-as-needed support # On ppc64, need omit dot symbols support and --non-overlapping-opd # Need binutils that owns /usr/bin/c++filt Requires: binutils-%{cross_target} >= 2.15.94.0.2-2 # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 # Requires: libgcc >= %{version}-%{release} # Provides: gcc4 = %{version}-%{release} AutoReq: true Patch1: gcc4-ice-hack.patch Patch2: gcc4-ppc64-m32-m64-multilib-only.patch Patch3: gcc4-ia64-libunwind.patch Patch4: gcc4-gnuc-rh-release.patch Patch5: gcc4-java-nomulti.patch Patch6: gcc4-g++-struct-layout.patch Patch7: gcc4-pr16104-test.patch Patch8: gcc4-libstdc++-mt-alloc.patch Patch9: gcc4-struct-layout.patch Patch10: gcc4-ppc32-hwint32.patch Patch11: gcc4-pr17965.patch Patch12: gcc4-vsb-stack.patch Patch13: gcc4-libltdl-multilib.patch Patch14: gcc4-java-rh163099.patch Patch15: gcc4-libstdc++-pr22309.patch Patch16: gcc4-libjava-ia64-backtrace.patch Patch17: gcc4-stack-protector.patch Patch18: gcc4-ia64-stack-protector.patch Patch19: gcc4-s390-stack-protector.patch Patch20: gcc4-pr22052.patch Patch21: gcc4-fortran-equiv.patch Patch22: gcc4-pr21149-test.patch Patch23: gcc4-ppc32-msecure-plt.patch Patch24: gcc4-pr20606.patch Patch25: gcc4-pr22503.patch %define _gnu %{nil} %define gcc_target_platform %{cross_target} %define __strip $RPM_BUILD_DIR/gcc-%{version}-%{DATE}/strip %define __objdump $RPM_BUILD_DIR/gcc-%{version}-%{DATE}/objdump %define cross 1 %description The gcc package contains the GNU Compiler Collection version 4.0. You'll need this package in order to compile C code. %package -n libgcc Summary: GCC version 4.0 shared support library Group: System Environment/Libraries Autoreq: false %description -n libgcc This package contains GCC shared support library which is needed e.g. for exception handling support. %if !%{cross} %package c++ Summary: C++ support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libstdc++ = %{version}-%{release} Requires: libstdc++-devel = %{version}-%{release} Obsoletes: gcc3-c++ Obsoletes: gcc34-c++ Obsoletes: gcc35-c++ Obsoletes: gcc4-c++ Provides: gcc4-c++ = %{version}-%{release} Autoreq: true %description c++ This package adds C++ support to the GNU Compiler Collection. It includes support for most of the current C++ specification, including templates and exception handling. %package -n libstdc++ Summary: GNU Standard C++ Library Group: System Environment/Libraries Obsoletes: libstdc++3 Obsoletes: libstdc++34 Provides: libstdc++34 Autoreq: true %description -n libstdc++ The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %package -n libstdc++-devel Summary: Header files and libraries for C++ development Group: Development/Libraries Requires: libstdc++ = %{version}-%{release} Obsoletes: libstdc++3-devel Obsoletes: libstdc++34-devel Provides: libstdc++34-devel Autoreq: true %description -n libstdc++-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. This includes rewritten implementation of STL. %package objc Summary: Objective-C support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libobjc = %{version}-%{release} Obsoletes: gcc3-objc Autoreq: true %description objc gcc-objc provides Objective-C support for the GCC. Mainly used on systems running NeXTSTEP, Objective-C is an object-oriented derivative of the C language. %package -n libobjc Summary: Objective-C runtime Group: System Environment/Libraries Autoreq: true %description -n libobjc This package contains Objective-C shared library which is needed to run Objective-C dynamically linked programs. %package gfortran Summary: Fortran 95 support Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libgfortran = %{version}-%{release} BuildRequires: gmp-devel >= 4.1.2-8 Prereq: /sbin/install-info Obsoletes: gcc3-g77 Obsoletes: gcc-g77 Obsoletes: gcc4-gfortran Autoreq: true %description gfortran The gcc-gfortran package provides support for compiling Fortran 95 programs with the GNU Compiler Collection. %package -n libgfortran Summary: Fortran 95 runtime Group: System Environment/Libraries Obsoletes: libf2c Autoreq: true %description -n libgfortran This package contains Fortran 95 shared library which is needed to run Fortran 95 dynamically linked programs. %package -n libmudflap Summary: GCC mudflap shared support library Group: System Environment/Libraries %description -n libmudflap This package contains GCC shared support library which is needed for mudflap support. %package -n libmudflap-devel Summary: GCC mudflap support Group: Development/Libraries Requires: libmudflap = %{version}-%{release} Requires: gcc = %{version}-%{release} %description -n libmudflap-devel This package contains headers and static libraries for building mudflap-instrumented programs. To instrument a non-threaded program, add -fmudflap option to GCC and when linking add -lmudflap, for threaded programs also add -fmudflapth and -lmudflapth. %package java Summary: Java support for GCC Group: Development/Languages Requires: gcc = %{version}-%{release} Requires: libgcj = %{version}-%{release} Requires: libgcj-devel = %{version}-%{release}, zlib-devel Obsoletes: gcc3-java Obsoletes: gcc34-java Obsoletes: gcc35-java Obsoletes: gcc4-java Provides: gcc4-java Prereq: /sbin/install-info Autoreq: true %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 Obsoletes: libgcj4 Provides: libgcj4 Autoreq: true %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}-%{release} Obsoletes: libgcj3-devel Obsoletes: libgcj34-devel Obsoletes: libgcj4-devel Provides: libgcj4-devel Autoreq: true %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 -n libgcj-src Summary: Java library sources from GCC4 preview Group: System Environment/Libraries Requires: libgcj = %{version}-%{release} Obsoletes: libgcj4-src Provides: libgcj4-src Autoreq: true %description -n libgcj-src The Java(tm) runtime library sources for use in Eclipse. %endif %package -n cpp-%{cross_target} Summary: The C Preprocessor. Group: Development/Languages Autoreq: true %description -n cpp-%{cross_target} 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. %if !%{cross} %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 %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 %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. %endif %prep %setup -q -n gcc-%{version}-%{DATE} %patch1 -p0 -b .ice-hack~ %patch2 -p0 -b .ppc64-m32-m64-multilib-only~ %patch3 -p0 -b .ia64-libunwind~ %patch4 -p0 -b .gnuc-rh-release~ %patch5 -p0 -b .java-nomulti~ %patch6 -p0 -b .g++-struct-layout~ %patch7 -p0 -b .pr16104-test~ %patch8 -p0 -b .libstdc++-mt-alloc~ %patch9 -p0 -b .struct-layout~ #%patch10 -p0 -b .ppc32-hwint32~ %patch11 -p0 -b .pr17965~ %patch12 -p0 -b .vsb-stack~ %patch13 -p0 -b .libltdl-multilib~ %patch14 -p0 -b .java-rh163099~ %patch15 -p0 -b .libstdc++-pr22309~ %patch16 -p0 -b .libjava-ia64-backtrace~ #%patch17 -p0 -b .stack-protector~ #%patch18 -p0 -b .ia64-stack-protector~ #%patch19 -p0 -b .s390-stack-protector~ %patch20 -p0 -b .pr22052~ %patch21 -p0 -b .fortran-equiv~ %patch22 -p0 -b .pr21149-test~ #%patch23 -p0 -b .ppc32-msecure-plt~ %patch24 -p0 -b .pr20606~ %patch25 -p0 -b .pr22503~ perl -pi -e 's/4\.0\.2/4.0.1/' gcc/version.c perl -pi -e 's/"%{gcc_version}"/"%{gcc_version} \(release\)"/' gcc/version.c perl -pi -e 's/\((prerelease|experimental|release|Red Hat[^)]*)\)/\(Red Hat %{version}-%{gcc_release}\)/' gcc/version.c %if !%{cross} sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} 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 %endif ./contrib/gcc_update --touch %ifarch ppc if [ -d libstdc++-v3/config/abi/powerpc64-linux-gnu ]; then mkdir -p libstdc++-v3/config/abi/powerpc64-linux-gnu/64 mv libstdc++-v3/config/abi/powerpc64-linux-gnu/{,64/}baseline_symbols.txt mv libstdc++-v3/config/abi/powerpc64-linux-gnu/{32/,}baseline_symbols.txt rm -rf libstdc++-v3/config/abi/powerpc64-linux-gnu/32 fi %endif %ifarch sparc if [ -d libstdc++-v3/config/abi/sparc64-linux-gnu ]; then mkdir -p libstdc++-v3/config/abi/sparc64-linux-gnu/64 mv libstdc++-v3/config/abi/sparc64-linux-gnu/{,64/}baseline_symbols.txt mv libstdc++-v3/config/abi/sparc64-linux-gnu/{32/,}baseline_symbols.txt rm -rf libstdc++-v3/config/abi/sparc64-linux-gnu/32 fi %endif %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/\(-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/[[:blank:]]\+/ /g'` %if %{cross} CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ GCJFLAGS="$OPT_FLAGS" \ ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --disable-shared --enable-checking=release \ --with-system-zlib --enable-__cxa_atexit \ --disable-libunwind-exceptions \ --enable-languages=c --disable-libmudflap \ --disable-libgcj --disable-threads\ --host=%{_target_platform} --build=%{_target_platform} --target=%{gcc_target_platform} make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" %else 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 --enable-checking=release \ --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-libgcj-multifile \ %if !%{build_ada} --enable-languages=c,c++,objc,java,f95 \ %else --enable-languages=c,c++,objc,java,f95,ada \ %endif %if !%{build_java} --disable-libgcj \ %else --enable-java-awt=gtk \ --with-java-home=%{_prefix}/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre \ %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} for i in gcc/ada/rts/lib*-*.so.1; do ln -sf `basename $i` gcc/ada/rts/`basename $i .1` done %endif # run the tests. make %{?_smp_mflags} -k check || : #cd gcc #mv testsuite{,.normal} #make %{?_smp_mflags} -k \ # `sed -n 's/check-ada//;s/^CHECK_TARGETS[[:blank:]]*=[[:blank:]]*//p' Makefile` \ # RUNTESTFLAGS=--target_board=unix/-fstack-protector || : #mv testsuite{,.ssp} #mv testsuite{.normal,} #cd .. echo ====================TESTING========================= ( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' echo ====================TESTING END===================== # Make protoize make -C gcc CC="./xgcc -B ./ -O2" proto %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/boehm-gc rpm.doc/changelogs/gcc for i in gcc/ChangeLog*; do cp -p $i rpm.doc/changelogs/$i done %if !%{cross} (cd gcc/f; for i in ChangeLog*; do cp -p $i ../../rpm.doc/gfortran/$i.f done) (cd libgfortran; for i in ChangeLog*; do cp -p $i ../rpm.doc/gfortran/$i.libgfortran 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) %endif (cd boehm-gc; for i in ChangeLog*; do cp -p $i ../rpm.doc/boehm-gc/$i.gc done) %if !%{cross} (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) %endif rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9] find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9 %install rm -fr $RPM_BUILD_ROOT cat >strip <<'EOF' #!/bin/sh opt= target= host= arg= n=0 state=0 base=`basename $0` case "$base" in strip) opts="[oIOFRNK]";; objdump) opts="[bmjMI]";; esac for i do eval arg$n=\$i quoted="\"\$arg$n\"" case $state in 0) case "$i" in -$opts) state=1; arg=;; --) state=2; arg=;; -*) arg=;; *) arg=1;; esac;; 1) state=0;; 2) arg=1;; esac if [ -z $arg ]; then opt="$opt $quoted" else case "$i" in $RPM_BUILD_ROOT%{_prefix}/lib/gcc/*) target="$target $quoted";; *) host="$host $quoted";; esac fi n=`expr $n + 1` done if [ -z "$target" -o -n "$host" ]; then eval /usr/bin/$base "$opt $host" || exit $? fi if [ -n "$target" ]; then eval /usr/bin/%{gcc_target_platform}-$base "$opt $target" || exit $? fi exit 0 $cmd "$@" EOF chmod +x strip cp strip objdump cd obj-%{gcc_target_platform} if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then export LOCPATH=`pwd`/locale:/usr/lib/locale fi make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \ infodir=$RPM_BUILD_ROOT%{_infodir} install FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} # fix some things %if !%{cross} 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 gfortran $RPM_BUILD_ROOT%{_prefix}/bin/f95 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++/%{gcc_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 %endif rm -rf $RPM_BUILD_ROOT%{_infodir} find $RPM_BUILD_ROOT -name \*.la | xargs rm -f %if !%{cross} if [ "%{build_java}" -gt 0 ]; then # gcj -static doesn't work properly anyway, unless using --whole-archive # and saving 35MB is not bad. find $RPM_BUILD_ROOT -name libgcj.a -o -name lib-gnu-java-awt-peer-gtk.a \ -o -name libgij.a -o -name libgcjawt.a | xargs rm -f mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \ $FULLPATH/libgcj.spec fi mkdir -p $RPM_BUILD_ROOT/%{_lib} mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 chmod 755 $RPM_BUILD_ROOT/%{_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 /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so %ifarch sparc ppc ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so %endif %ifarch %{multilib_64_archs} ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.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++.so ln -sf ../../../libgfortran.so.0.* libgfortran.so ln -sf ../../../libmudflap.so.0.* libmudflap.so ln -sf ../../../libmudflapth.so.0.* libmudflapth.so %if %{build_java} ln -sf ../../../libgcj.so.6.* libgcj.so ln -sf ../../../lib-gnu-java-awt-peer-gtk.so.6.* lib-gnu-java-awt-peer-gtk.so ln -sf ../../../libgij.so.6.* libgij.so ln -sf ../../../libgcjawt.so.6.* libgcjawt.so %endif %if %{build_ada} cd adalib ln -sf ../../../../libgnarl-*.so.* libgnarl.so ln -sf ../../../../libgnarl-*.so.* libgnarl-4.0.so ln -sf ../../../../libgnat-*.so.* libgnat.so ln -sf ../../../../libgnat-*.so.* libgnat-4.0.so cd .. %endif else ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.0.* libgfortran.so ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so %if %{build_java} ln -sf ../../../../%{_lib}/libgcj.so.6.* libgcj.so ln -sf ../../../../%{_lib}/lib-gnu-java-awt-peer-gtk.so.6.* lib-gnu-java-awt-peer-gtk.so ln -sf ../../../../%{_lib}/libgij.so.6.* libgij.so ln -sf ../../../../%{_lib}/libgcjawt.so.6.* libgcjawt.so %endif %if %{build_ada} cd adalib ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl-4.0.so ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat-4.0.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}/libgfortran.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortranbegin.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/include/mf-runtime.h include/ %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++.so ln -sf ../`echo ../../../../lib/libgfortran.so.0.* | sed s~/lib/~/lib64/~` 64/libgfortran.so ln -sf ../`echo ../../../../lib/libmudflap.so.0.* | sed s~/lib/~/lib64/~` 64/libmudflap.so ln -sf ../`echo ../../../../lib/libmudflapth.so.0.* | sed s~/lib/~/lib64/~` 64/libmudflapth.so if [ "%{build_java}" -gt 0 ]; then ln -sf ../`echo ../../../../lib/libgcj.so.6.* | sed s~/lib/~/lib64/~` 64/libgcj.so ln -sf ../`echo ../../../../lib/lib-gnu-java-awt-peer-gtk.so.6.* | sed s~/lib/~/lib64/~` 64/lib-gnu-java-awt-peer-gtk.so ln -sf ../`echo ../../../../lib/libgij.so.6.* | sed s~/lib/~/lib64/~` 64/libgij.so ln -sf ../`echo ../../../../lib/libgcjawt.so.6.* | sed s~/lib/~/lib64/~` 64/libgcjawt.so fi mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libsupc++.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortran.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortranbegin.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libobjc.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libmudflap{,th}.*a 64/ ln -sf lib32/libstdc++.a libstdc++.a ln -sf ../lib64/libstdc++.a 64/libstdc++.a %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++.so ln -sf ../`echo ../../../../lib64/libgfortran.so.0.* | sed s~/../lib64/~/~` 32/libgfortran.so ln -sf ../`echo ../../../../lib64/libmudflap.so.0.* | sed s~/../lib64/~/~` 32/libmudflap.so ln -sf ../`echo ../../../../lib64/libmudflapth.so.0.* | sed s~/../lib64/~/~` 32/libmudflapth.so if [ "%{build_java}" -gt 0 ]; then ln -sf ../`echo ../../../../lib64/libgcj.so.6.* | sed s~/../lib64/~/~` 32/libgcj.so ln -sf ../`echo ../../../../lib64/lib-gnu-java-awt-peer-gtk.so.6.* | sed s~/../lib64/~/~` 32/lib-gnu-java-awt-peer-gtk.so ln -sf ../`echo ../../../../lib64/libgij.so.6.* | sed s~/../lib64/~/~` 32/libgij.so ln -sf ../`echo ../../../../lib64/libgcjawt.so.6.* | sed s~/../lib64/~/~` 32/libgcjawt.so fi mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortran.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortranbegin.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libmudflap{,th}.*a 32/ %endif %ifarch sparc64 ppc64 ln -sf ../lib32/libstdc++.a 32/libstdc++.a ln -sf lib64/libstdc++.a libstdc++.a %else %ifarch %{multilib_64_archs} ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a if [ "%{build_java}" -gt 0 ]; then ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgcj.a 32/libgcj.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/lib-gnu-java-awt-peer-gtk.a 32/lib-gnu-java-awt-peer-gtk.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgij.a 32/libgij.a ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgcjawt.a 32/libgcjawt.a fi %endif %endif # Strip debug info from Fortran/ObjC/Java static libraries strip -g `find . \( -name libgfortran.a -o -name libobjc.a \ -o -name libmudflap.a -o -name libmudflapth.a \ -o -name libgcc.a -o -name libgcov.a \) -a -type f` popd chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.so.0.* chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.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 %else %{gcc_target_platform}-strip -g `find $FULLPATH -name libgcc.a -a -type f` %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 %if !%{cross} 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 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 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 %endif cd .. # Remove binaries we will not be including, so that they don't end up in # gcc-debuginfo rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libiberty.a rm -f $FULLEPATH/install-tools/{mkheaders,fixincl} %if %{cross} rm -rf $FULLEPATH/install-tools %endif rm -f $RPM_BUILD_ROOT%{_prefix}/lib/{32,64}/libiberty.a %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix}/bin/%{gcc_target_platform}-gcc %{_prefix}/bin/%{gcc_target_platform}-gcov %{_mandir}/man1/%{gcc_target_platform}-gcc.1* %{_mandir}/man1/%{gcc_target_platform}-gcov.1* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2 %doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* %files -n cpp-%{cross_target} %defattr(-,root,root) %{_prefix}/bin/%{gcc_target_platform}-cpp %{_mandir}/man1/%{gcc_target_platform}-cpp.1* %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1 #%files -n libgcc #%defattr(-,root,root) #/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 #/%{_lib}/libgcc_s.so.1 #%doc gcc/COPYING.LIB %if !%{cross} %files c++ %defattr(-,root,root) %{_prefix}/bin/%{gcc_target_platform}-*++ %{_prefix}/bin/g++ %{_prefix}/bin/c++ %{_mandir}/man1/g++.1* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_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++.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++.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}/libsupc++.a %endif %ifarch sparc sparc64 ppc ppc64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a %endif %doc rpm.doc/changelogs/gcc/cp/ChangeLog* %files -n libstdc++ %defattr(-,root,root) %{_prefix}/%{_lib}/libstdc++.so.6* %files -n libstdc++-devel %defattr(-,root,root) %dir %{_prefix}/include/c++ %dir %{_prefix}/include/c++/%{gcc_version} %{_prefix}/include/c++/%{gcc_version}/[^gj]* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %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}/libsupc++.a %endif %doc rpm.doc/changelogs/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} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %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 rpm.doc/objc/* %doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog* %files -n libobjc %defattr(-,root,root) %{_prefix}/%{_lib}/libobjc.so.1* %files gfortran %defattr(-,root,root) %{_prefix}/bin/gfortran %{_prefix}/bin/f95 %{_mandir}/man1/gfortran.1* %{_infodir}/gfortran* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f951 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortranbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.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/libgfortranbegin.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.so %endif %doc rpm.doc/gfortran/* %files -n libgfortran %defattr(-,root,root) %{_prefix}/%{_lib}/libgfortran.so.0* %if %{build_java} %files java %defattr(-,root,root) %{_prefix}/bin/gcj %{_prefix}/bin/gcjh %{_prefix}/bin/gjnih %{_prefix}/bin/jcf-dump %{_prefix}/bin/jv-scan %{_mandir}/man1/gcj.1* %{_mandir}/man1/gcjh.1* %{_mandir}/man1/gjnih.1* %{_mandir}/man1/jcf-dump.1* %{_mandir}/man1/jv-scan.1* %{_infodir}/gcj* %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jc1 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jvgenmain %doc rpm.doc/changelogs/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 %{_prefix}/bin/gcj-dbtool %{_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* %{_mandir}/man1/gcj-dbtool.1* %{_infodir}/fastjar* %{_prefix}/%{_lib}/libgcj.so.* %{_prefix}/%{_lib}/lib-gnu-java-awt-peer-gtk.so.* %{_prefix}/%{_lib}/libgij.so.* %{_prefix}/%{_lib}/libgcjawt.so.* %dir %{_prefix}/share/java %{_prefix}/share/java/[^s]* %dir %{_prefix}/lib/security %config(noreplace) %{_prefix}/lib/security/classpath.security %config(noreplace) %{_prefix}/lib/security/libgcj.security %{_prefix}/lib/logging.properties %dir %{_prefix}/%{_lib}/gcj-%{version} %dir %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{version}/classmap.db %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} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gcj %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt_md.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jni.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jvmpi.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.spec %{_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}/libgij.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcjawt.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/libgij.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcjawt.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/libgij.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcjawt.so %endif %dir %{_prefix}/include/c++ %dir %{_prefix}/include/c++/%{gcc_version} %{_prefix}/include/c++/%{gcc_version}/[gj]* %{_prefix}/lib/pkgconfig/libgcj.pc %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/* %doc rpm.doc/libjava/* %endif %files -n libgcj-src %defattr(-,root,root) %dir %{_prefix}/share/java %{_prefix}/share/java/src*.zip %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} %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_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 %doc rpm.doc/changelogs/gcc/ada/ChangeLog* %files -n libgnat %defattr(-,root,root) %{_prefix}/%{_lib}/libgnat-*.so.* %{_prefix}/%{_lib}/libgnarl-*.so.* %endif %files -n libmudflap %defattr(-,root,root) %{_prefix}/%{_lib}/libmudflap.so.0* %{_prefix}/%{_lib}/libmudflapth.so.0* %files -n libmudflap-devel %defattr(-,root,root) %dir %{_prefix}/lib/gcc %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}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.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/libmudflap.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.so %endif %doc rpm.doc/changelogs/libmudflap/ChangeLog* %endif %changelog * Wed Jul 27 2005 Jakub Jelinek 4.0.1-4.fc4 - rebuilt for FC4 - disable stack protector patches - update from CVS - PRs tree-optimization/22591, fortran/16940, libfortran/22570, libstdc++/23053, middle-end/16719, middle-end/18421, target/21149, target/22576 - fix fortran EQUIVALENCE handling with substrings (#160853, PRs fortran/18833, fortran/20850) - improve fortran diagnostics for comparison of logicals (Volker Reichelt, PR fortran/22503) - fix GCSE hoisting (Richard Sandiford, PR rtl-optimization/22167) * Wed Jul 20 2005 Jakub Jelinek 4.0.1-4 - update from CVS - PRs c++/22132, c++/22139, c++/22263, c/22421, fortran/13257, fortran/20842, fortran/21034, libfortran/18857, libfortran/21333, libfortran/21480, libfortran/21593, libfortran/21594, libfortran/21926, libfortran/22142, libfortran/22144, libstdc++/21193, middle-end/22057, target/21721, testsuite/21969 - avoid discarding volatile casts (Richard Henderson, #162274, PR tree-opt/22278) - fix -frepo (Mark Mitchell, #163271, PR c++/22204) - ensure debug info for C static file-scope vars is emitted with -g -O[23] (PR debug/21828) - fix fortran handling of repeated character literals in DATA (#163394, PR fortran/20063) - avoid sibling calls if structure arguments passed by value overlap (#163058) - work around PR middle-end/20606 (Andrew Haley) - fix fortran output of -Infinity for length 3 (Jerry DeLisle) - fix fortran handling of trailing blanks in exponents (Jerry DeLisle) * Thu Jul 14 2005 Jakub Jelinek 4.0.1-3 - update from CVS - PRs bootstrap/21704, c++/10611, c++/20563, c++/20637, c++/20678, c++/20746, c++/20789, c++/21903, c++/21929, fortran/15966, fortran/16531, fortran/18781, fortran/22327, fortran/22417, libfortran/16435, libfortran/21875, libgfortran/22412, libstdc++/22102, middle-end/20593, tree-opt/22105 - another attempt to fix libstdc++ mt allocator (#161061, PR libstdc++/22309) - diagnose invalid uses of inline (Eric Christopher, #162216, #159731, PRs c/22052, c/21975) - fix linker command line ordering when compiling multiple java source files (Tom Tromey, #163099) - use backtrace () in libgcj even on ia64 - support more than 16 nested GCC visibility pragmas (H.J.Lu) * Sun Jul 10 2005 Jakub Jelinek 4.0.1-2 - update from CVS - PRs fortran/17792, fortran/19926, fortran/21257, fortran/21375 - don't run check-ada twice - create libgna{t,rl}-4.0.so symlinks in the build dir, so that check-ada doesn't link against installed libgnat - add ia64 -fstack-protector support - fix stack protector test for short arrays * Fri Jul 8 2005 Jakub Jelinek 4.0.1-1 - update from CVS - GCC 4.0.1 release - PRs tree-optimization/22000, tree-optimization/22171, middle-end/21985, target/22260, c/21911, c/22308, target/22083, middle-end/17961 - use SCHED_OTHER rather than SCHED_RR in libjava (Andrew Haley, #152386) - fix compound literal handling (Joseph S. Myers, #160018, c/22013, c/22098) - -fstack-protector{,-all} support (Richard Henderson) - fix -march=i386 -masm=intel -fpic (#162585) - make sure libstdc++ mt allocator calls pthread_key_delete before libstdc++ dlclose (#161061, PR libstdc++/22309) - accept fortran ENTRY without () even in FUNCTIONs (#161634) - fix fortran handling of ENTRY return var names as rvalues (#161669) - fix fortran ICE on invalid preprocessor line (#161679) - fix fortran handling of long preprocessor lines (#161680) - add -std=legacy gfortran option (Roger Sayle) - support logical to boolean (and vice versa) conversions as legacy fortran extension (Roger Sayle) - fortran Hollerith constant and character array fixes (Feng Wang, #161430) - add sparc and sparc64 to build_ada arches (#161865) * Thu Jun 23 2005 Jakub Jelinek 4.0.0-13 - update from CVS - PRs bootstrap/17383, libfortran/16436, libfortran/19216, libstdc++/21726, libstdc++/22111 - fix libltdl fix for */lib64 paths (#156005) - fix ICE on invalid introduced in 4.0.0-10 (PR middle-end/22028) - further libstdc++.so symbol versioning fixes (PR libstdc++/22109) - fix ICE when compiling call with excessive size of arguments passed by value (#160718, PR middle-end/17965) - grmic fix (Archit Shah, #133180) * Thu Jun 16 2005 Jakub Jelinek 4.0.0-12 - update from CVS - PRs fortran/22038, libfortran/20930, libfortran/21950, rtl-opt/21528, target/20301, target/21889, tree-opt/19768, tree-optimization/21171, tree-optimization/21847, tree-optimization/22043 - further fixes for Fortran FORALL, also use less temporary memory for masks - make libltdl aware of */lib64 paths (#156005) - cast of vector to integral type fix (PR middle-end/21850) - libstdc++.so symbol versioning fixes (Benjamin Kosnik) * Mon Jun 6 2005 Jakub Jelinek 4.0.0-11 - update from CVS - PRs c++/20350, c++/21151, c++/21280, c++/21336, c++/21619, c++/21853, c/21873, c/21879, fortran/16898, fortran/16939, fortran/17192, fortran/17193, fortran/17202, fortran/18109, fortran/18283, fortran/18689, fortran/18890, fortran/19107, fortran/19195, fortran/20883, fortran/21912, java/21722, libgcj/21753, target/21888 - fix some -fvar-tracking bugs that were causing bogus DW_OP_piece ops - extend GCC NLS support, so that gettext 0.14.5+ can verify GCC internal diagnostics format strings - fix ICE on not fully enumerated VECTOR_CSTs (PR regression/21897) - fix a typo in reset_evolution_in_loop * Tue May 31 2005 Jakub Jelinek 4.0.0-10 - update from CVS - PRs c++/21165, c++/21340, c++/21455, c++/21614, c++/21681, c++/21768, c++/21784, fortran/20846, libfortran/17283, libfortran/20006, libfortran/20179, libgcj/20273, libgcj/21775, middle-end/20931, middle-end/20946, middle-end/21595 - remove no longer used extra line in %%build (#158863) - fold extractions from vector constant - fix and , so that they are usable with -std=c89 -pedantic-errors - gimplify SAVE_EXPRs in types (PRs c/21536, c/20760) - fix ICE in ivopts on vector constant (Zdenek Dvorak, PR tree-optimization/21817) * Wed May 25 2005 Jakub Jelinek 4.0.0-9 - update from CVS - PRs c++/1016, c++/21686, libfortran/18495, libfortran/19014, libfortran/19016, libfortran/19106, libfortran/20074, libfortran/20436, libfortran/21075, libfortran/21108, libfortran/21354, libfortran/21376, libgcj/21637, libgcj/21703, libgcj/21736 - fix overflowed constant handling (Zdenek Dvorak, #156844, PRs middle-end/21331, tree-opt/21293) - make sure slow_pthread_self is never yes for linux targets - fix reg-stack ICE (#158407, PR target/21716) - fix ICE on fortran alternate returns (#158434) - fix ICE on fortran functions without explicit type with implicit none (#158232, PR fortran/21729) * Fri May 20 2005 Jakub Jelinek 4.0.0-8 - update from CVS - PRs libfortran/21127, target/19933, target/21315, target/21390, target/21657 - fix an IA-64 TLS bug that prevented glibc build (Richard Henderson, PR target/21657) - rename libjawt.so* to libgcjawt.so* to avoid interferences with proprietary libjawt.so's * Wed May 18 2005 Jakub Jelinek 4.0.0-7 - update from CVS - PRs fortran/20954, libgcj/18220, libgcj/19729, libgcj/21140 - fix IA-64 ICE on sdata/sbss variable references with offsets (Richard Henderson, #158001, PR target/21632) - add gjnih and gjnih.1 to gcc-java subpackage - fix german, spanish, turkish and chinese translations (#157879, PR translation/21364) - configure with --enable-libgcj-multifile to avoid make -jN related multilib failures * Tue May 17 2005 Jakub Jelinek 4.0.0-6 - update from CVS - PRs target/18655, bootstrap/21230, fortran/17143, fortran/17432, java/21519, libfortran/21324, libgcj/20504, libgcj/21557, libgcj/21606, libstdc++/21526, middle-end/21237, target/21551, target/21556, tree-optimization/21532 - fixed WHERE inside FORALL (PR fortran/15080) - fix a tree sharing bug (#157792, PR tree-optimization/21610) - avoid using hash tables recursively (#157308) - fix ppc64 libgcj (Andrew Haley, #154684, #142611) * Thu May 12 2005 Jakub Jelinek 4.0.0-5 - update from CVS - PRs bootstrap/21403, c++/19203, c++/20723, c++/21352, c/21160, c/21342, c/21502, fortran/19478, fortran/21260, java/19285, java/20309, libffi/21285, libfortran/18958, libfortran/19155, libfortran/20788, libfortran/21471, libstdc++/18604, libstdc++/21238, middle-end/21085, other/21052, target/16925, target/19051, target/21325, target/21397, target/21412, target/21416, tree-optimization/21380 - use INTERNAL_SYSCALL* macros in libgcc_post_upgrade.c, so that the statically linked binary doesn't need TLS (#155701) - implement java.awt.Frame.getBufferStrategy (Thomas Fitzsimmons, #153266) - put C++ const POD arrays with size determined from initializer into .rodata section (PR c++/21454) - allow limited recursive hash tab use (#157308) - fix C++ "storage class specified for" error reporting (PR c++/21495) - fix crossjumping (#157243, PR middle-end/21492) * Thu May 5 2005 Jakub Jelinek 4.0.0-4 - update from CVS - PRs libgcj/21372, target/21284 - fix fold ICE (James A. Morrison, PR tree-optimization/21085) - fix weak decl merging (PR c++/20961) - optimize i386/x86-64 movmem sequences (PR target/21329) * Wed May 4 2005 Jakub Jelinek 4.0.0-3 - update from CVS - PRs middle-end/19985, bootstrap/20633, c++/15875, c++/19542, c/15698, fortran/16861, java/21022, libfortran/17992, libfortran/19568, libfortran/19595, libfortran/20005, libfortran/20092, libfortran/20131, libfortran/20661, libfortran/20744, libgcj/21136, libstdc++/21209, libstdc++/21286, rtl-optimization/21144, target/16888, target/21098, treelang/21345 - fix loop unswitching (PR rtl-optimization/21330) - fix i386 ASHIFT to MULT address canonicalization (PR target/21297) - propagate tail call info bit through builtin expanders (PR middle-end/21265) - fix VEC_SELECT in combine (PR rtl-optimization/21239) - fix i386 V4SFmode vector initialization - fix Fortran FOREACH (PR fortran/15080) * Thu Apr 28 2005 Jakub Jelinek 4.0.0-2 - update from CVS - PRs ada/18847, bootstrap/21215, c++/21087, c/20740, c/21159, c/21213, fortran/20059, fortran/20865, fortran/20879, fortran/21177, libfortran/20950, libgcj/21233:, libstdc++/20914, libstdc++/21035, libstdc++/21131, libstdc++/21244, preprocessor/20907, rtl-opt/21163, target/17822, target/17824, target/21100, target/21101 - https Handler.java from GNU classpath (Thomas Fitzsimmons, #155466) - Fortran namelist support (Paul Thomas, #155852, PRs fortran/17472, fortran/18396, fortran/19467, libfortran/12884, libfortran/17285, libfortran/18122, libfortran/18209, libfortran/18210, libfortran/18392, libfortran/18591, libfortran/18879, libfortran/19657) - fixes for the Fortran ENTRY support (PRs fortran/13082, fortran/18824, #153715) - make %{_prefix}/lib/security/*.security %%config(noreplace) (Thomas Fitzsimmons) - fix GThread errors when running OOo (Thomas Fitzsimmons, #154215) - fix promotion of outgoing arguments (Andrew Haley, PR java/21115) * Sat Apr 23 2005 Jakub Jelinek 4.0.0-1 - update from CVS - GCC 4.0.0 release - PRs c/12913, fortran/14569, gfortran/14569, middle-end/20973 - fix dwarf2 writer to avoid ICEing gdb (Jim Wilson, #153681, PR c++/20805) - fix hang in tree-chrec.c (Sebastian Pop, #153268, PR tree-optimization/20742) - fix i386 ICE with vectors (Richard Henderson, PR target/21099) - fix an recently introduced PRE bug (Steven Bosscher, PRs tree-optimization/21173, tree-optimization/21167) - fix PR rtl-opt/21102 (Richard Henderson) * Tue Apr 19 2005 Jakub Jelinek 4.0.0-0.43 - update from CVS - PRs ada/15977, c++/21025, libgcj/20693, middle-end/20991, target/20375, target/20924, target/20927, tree-optimization/20929 - fix KDE miscompilation caused by reload (Michael Matz, #154294, PR regression/20973) - fix Java exception handling (Andrew Haley, PR java/20768) * Wed Apr 13 2005 Jakub Jelinek 4.0.0-0.42 - update from CVS - PRs ada/18659, ada/18819, c++/20145, c++/20212, c++/20905, fortran/15959, fortran/17229, fortran/20713, libfortran/20766, libstdc++/20806, libstdc++/20909, middle-end/20648, target/17245, target/20093, target/20795 - changed struct-layout-1 testsuites to avoid types where sizeof (type) < __alignof__ (type) in arrays - add support for Fortran ENTRY in FUNCTIONS and SUBROUTINES with alternate returns (PRs fortran/13082, fortran/18824, #153715) - fix PR libfortran/20163 (Thomas Koenig) - fix PR tree-optimization/20490 (Daniel Berlin) - fix PR middle-end/20739 (Alexandre Oliva) - fix PR middle-end/20917 (Ulrich Weigand) - configure with --with-java-home=%{_prefix}/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre - include empty %{_prefix}/share/java/gcj-endorsed and %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d directories and %%ghost %{_prefix}/%{_lib}/gcj-%{version}/classmap.db - move gcj-dbtool program from gcc-java to libgcj subpackage * Wed Apr 6 2005 Jakub Jelinek 4.0.0-0.41 - update from CVS - PRs c++/19312, c++/20734, libgcj/20750, middle-end/19225, target/20342, target/20421, target/20447, target/20625, target/20670 * Wed Apr 6 2005 Jakub Jelinek 4.0.0-0.40 - update from CVS - PRs ada/19956, c++/18644, c++/19159, c++/19199, c++/20679, debug/20505, libfortran/20068, libfortran/20125, libfortran/20156, libfortran/20471, libfortran/20755, libgcj/20727, libgcj/20761, rtl-optimization/16104, rtl-optimization/20527, target/19537, target/20446, tree-optimization/19903 - fixed ABI bug where __attribute was ignored on certain struct fields (Mark Mitchell, PR c++/20763) - don't error on #define a! in c89 pedantic mode (PR preprocessor/19475) - prevent inlining functions that call __builtin_apply_args or __builtin_return (PR tree-optimization/20076) - add g++.dg/compat/struct-layout-1.exp compatibility tests * Sun Apr 3 2005 Jakub Jelinek 4.0.0-0.39 - update from CVS - PRs c++/19406, c/17855, c/17913, c/20368, c/20519, c/772, debug/19345, libfortran/20660, libgcj/20090, libgcj/20526, middle-end/19454, middle-end/20177, middle-end/20635, rtl-optimization/20600, target/20203, target/20611 - remove very old ChangeLogs from %%doc, bzip2 all ChangeLogs to save space * Wed Mar 30 2005 Jakub Jelinek 4.0.0-0.38 - update from CVS - PRs libfortran/15332, libfortran/19678, libfortran/19679, libfortran/20163, middle-end/20263, middle-end/20491, rtl-optimization/20249, target/15491, target/20617, tree-opt/19108, tree-optimization/19108 - fix edge redirection (Alexandre Oliva, #152149, PR tree-optimization/20640) * Thu Mar 24 2005 Jakub Jelinek 4.0.0-0.37 - fix PR middle-end/20622 * Thu Mar 24 2005 Jakub Jelinek 4.0.0-0.36 - update from CVS - PRs c++/19769, c++/19980, c++/20147, c++/20147, c++/20461, c++/20463, c++/20465, c++/20499, c++/20536, libfortran/18025, libgcj/11085, libgcj/14892, libgcj/18083, libgcj/2641, libgcj/9854, libstdc++/20352, libstdc++/20577, middle-end/20539, middle-end/20557, other/20564, target/20166, target/20561 - fix PRE causing miscompilation of sudo (Daniel Berlin, #151632, PR tree-optimization/20601) - fix PR rtl-optimization/20532 (Alexandre Oliva) * Mon Mar 21 2005 Jakub Jelinek 4.0.0-0.35 - update from CVS - PRs ada/18727, ada/19140, ada/19408, ada/19900, ada/20255, ada/20344, c++/20240, c++/20333, fortran/18525, fortran/18827, java/20522, libfortran/20257, libfortran/20480, libgcj/20251, middle-end/15700, middle-end/20225, middle-end/20493, target/18251, target/18380, target/18551, tree-optimization/17454, tree-optimization/20474 - replace 3.4 with 4.0 in gcc %%description and libgcc Summary (#151327) - don't hardcode full path to gcc in c89 and c99 wrapper scripts (#151620) - fix loop optimizer with loops that after tree optimization are entered after the loop body (Alexandre Oliva, PR rtl-optimization/20290, #150020) - fix handling of jump tables at the end of scope with -g1 (#151466) - BuildRequire gmp-devel with mpfr support - tighten up rpm requires between subpackages * Tue Mar 15 2005 Jakub Jelinek 4.0.0-0.34 - update from gcc-4_0-branch - PRs c++/20157, c++/20280, fortran/16907, fortran/20323, fortran/20361, fortran/20467, libfortran/20124, middle-end/19331, other/20326, rtl-optimization/20306, target/20288, target/20415 - add Req/BuildReq for glib2 and libart_lgpl (#150923) - fix up gnat_ug_unw.info* @direntry (#150948) - fix occassional parallel build failures in Ada stage1 * Fri Mar 11 2005 Jakub Jelinek 4.0.0-0.33 - update from gcc-4_0-branch - PRs c++/20142, c++/20186, c++/20208, c++/20375, libgcj/20389, rtl-opt/20412 - fix s390* reload issue (Ulrich Weigand, #150115) - fix CSE on hard registers with different modes (Zdenek Dvorak, #150115, PR middle-end/20249) - fix PR middle-end/18628 (Alexandre Oliva) - fix miscompilation of python (Alexandre Oliva, PR target/20126) - fix ICE when taking address of a member function in template (Kriang Lerdsuwanakij, PR c++/20381) - require exact libgcj = %%{version}-%%{release} in libgcj-src (#150800) - make sure src*.zip is left out of libgcj package * Wed Mar 9 2005 Jakub Jelinek 4.0.0-0.32 - update from gcc-4_0-branch - PRs ada/20035, c++/19311, c++/19797, debug/20253, fortran/19673, fortran/19754, fortran/19936, java/18362, java/20215, libgcj/20155, libgcj/20292, rtl-optimization/19683, target/20277, tree-optimization/18815, tree-optimization/20122 - fix handling of in/out asm constraints with multiple alternatives (#150202, PR inline-asm/20314) - fix miscompilation of libcpp.a on x86-64 (PR target/20322) - first try *.so.6 libs in gij, then *.so (Thomas Fitzsimmons, #150453) - with CSE handling of TABLEJUMPs (Alexendre Oliva, PR middle-end/18628) * Fri Mar 4 2005 Jakub Jelinek 4.0.0-0.31 - update from gcc-4_0-branch - PRs c++/18327, c++/18384, c++/20232, fortran/19479, libgcj/20160, libobjc/19024, rtl-optimization/17728, target/19065, target/19819, tree-optimization/20216 - fixed PR c++/19916 (Mark Mitchell, #148793) - fixed (Alexandre Oliva, #149098) - revert PR c++/16405 fix to fix PR c++/19317 (Qt miscompilation) - fix libcpp, so that it can be compiled by GCC4 on 64-bit big-endian architectures (PRs bootstrap/20282, bootstrap/20305) - fix -fno-unit-at-a-time handling of static functions with global aliases (Alexandre Oliva, #150150) - temporarily disable Ada on ppc, where there are bootstrap comparison failures * Mon Feb 28 2005 Jakub Jelinek 4.0.0-0.30 - initial 4.0 package, using newly created gcc-4_0-rhl-branch