yann@1: See also http://www.spinics.net/lists/mips/msg12236.html yann@1: yann@1: ftp://ftp.linux-mips.org/pub/linux/mips/redhat/7.3/test/SRPMS/gcc-3.2-7.1.src.rpm yann@1: contains the following patches and spec file. yann@1: You may wish to investigate some of these patches; I haven't. yann@1: I think this is mostly the Red Hat 8.0 srpm for a prerelease gcc-3.2, plus a couple yann@1: mips specific fixes, but you'd have to ask H.J.Lu or compare with the regular yann@1: Red Hat 8.0 srpm to find out. yann@1: In any case, the spec file is interesting reading. yann@1: - Dan K. yann@1: yann@1: total 1164 yann@1: 4 boehm-gc-LINUX.patch yann@1: 4 boehm-gc-mips.patch yann@1: 4 contrib-touch.patch yann@1: 8 gcc-arch.patch yann@1: 4 gcc-c++-template.patch yann@1: 4 gcc-copy.patch yann@1: 4 gcc-cross-bfd.patch yann@1: 4 gcc-cross.patch yann@1: 4 gcc-gcj-cross.patch yann@1: 4 gcc-libffi-mips.patch yann@1: 4 gcc-libgcc.patch yann@1: 480 gcc-libstdc++-glibc-2.2.patch yann@1: 4 gcc-libstdc++-mips.patch yann@1: 4 gcc-linux-atexit.patch yann@1: 8 gcc-linux-crt.patch yann@1: 4 gcc-mips-coff.patch yann@1: 4 gcc-mips-file.patch yann@1: 4 gcc-mips-ieee.patch yann@1: 4 gcc-mips-return.patch yann@1: 4 gcc-ppc-linux.patch yann@1: 8 gcc-sizeof.patch yann@1: 4 gcc-test-atexit.patch yann@1: 4 gcc-testsuite-c++.patch yann@1: 4 gcc-var.patch yann@1: 8 gcc32-2.96-RH-compat.patch yann@1: 4 gcc32-ada-addr2line.patch yann@1: 8 gcc32-ada-link.patch yann@1: 12 gcc32-attr-visibility.patch yann@1: 4 gcc32-attr-visibility2.patch yann@1: 4 gcc32-attr-visibility3.patch yann@1: 4 gcc32-attr-visibility4.patch yann@1: 4 gcc32-attr-visibility5.patch yann@1: 8 gcc32-boehm-gc-libs.patch yann@1: 4 gcc32-bogus-inline.patch yann@1: 4 gcc32-c++-nrv-test.patch yann@1: 4 gcc32-c++-pretty_function.patch yann@1: 16 gcc32-c++-tail-pad-backout.patch yann@1: 4 gcc32-c++-tsubst-asm.patch yann@1: 4 gcc32-cfg-eh.patch yann@1: 4 gcc32-debug-pr7241.patch yann@1: 4 gcc32-doc-gcov.patch yann@1: 4 gcc32-duplicate-decl.patch yann@1: 4 gcc32-dwarf2-pr6381.patch yann@1: 4 gcc32-dwarf2-pr6436-test.patch yann@1: 4 gcc32-fde-merge-compat.patch yann@1: 4 gcc32-fold-const-associate.patch yann@1: 4 gcc32-fold-const2.patch yann@1: 24 gcc32-hard-reg-sharing.patch yann@1: 4 gcc32-hard-reg-sharing2.patch yann@1: 4 gcc32-i386-default-momit-leaf-frame-pointer.patch yann@1: 4 gcc32-i386-memtest-test.patch yann@1: 4 gcc32-i386-no-default-momit-leaf-frame-pointer.patch yann@1: 4 gcc32-i386-pic-label-thunk.patch yann@1: 4 gcc32-i386-pr7242.patch yann@1: 4 gcc32-i386-profile-olfp.patch yann@1: 4 gcc32-inline-label.patch yann@1: 4 gcc32-interface_only.patch yann@1: 4 gcc32-java-no-rpath.patch yann@1: 20 gcc32-libstdc++-glibc23-1.patch yann@1: 4 gcc32-libstdc++-glibc23-2.patch yann@1: 4 gcc32-libstdc++-glibc23-3.patch yann@1: 4 gcc32-libstdc++-glibc23-4.patch yann@1: 4 gcc32-loop-prefetch.patch yann@1: 4 gcc32-pr6842.patch yann@1: 8 gcc32-rh69989.patch yann@1: 40 gcc32-s390-java.patch yann@1: 4 gcc32-sparc-sll1.patch yann@1: 4 gcc32-test-rh65771.patch yann@1: 8 gcc32-test-rotate.patch yann@1: 12 gcc32-tls-dwarf2.patch yann@1: 140 gcc32-tls.patch yann@1: 4 gcc32-tls2.patch yann@1: 4 gcc32-tls3.patch yann@1: 4 gcc32-tls4.patch yann@1: 4 gcc32-tls5.patch yann@1: 24 gcc32-tree-code.patch yann@1: 4 gcc32-trunc_int_for_mode.patch yann@1: 4 gcc32-typeof-asm.patch yann@1: 4 gcc32-x86_64-libiberty-pic.patch yann@1: 4 gcc32-x86_64-pr7559.patch yann@1: 4 gcc32-x86_64-q_regs_operand.patch yann@1: 4 gcc32-x86_64-rip-lowercase.patch yann@1: 4 libjava-cross.patch yann@1: 4 libtool-libs.patch yann@1: 4 libtool-mips.patch yann@1: yann@1: ---------- gcc32.spec --------- yann@1: yann@1: %if %{_arch} != %{_build_arch} yann@1: %define cross_compile 1 yann@1: %else yann@1: %define cross_compile 0 yann@1: %endif yann@1: %{?_with_crosscompile: %{expand: %%define cross_compile 1}} yann@1: yann@1: %if %{cross_compile} yann@1: %define make_check 0 yann@1: %else yann@1: %define make_check 1 yann@1: %endif yann@1: %{?_without_check: %{expand: %%define make_check 0}} yann@1: %{?_with_check: %{expand: %%define make_check 1}} yann@1: yann@1: %define default 0 yann@1: %{?_with_default: %{expand: %%define default 1}} yann@1: yann@1: %define gcconly 0 yann@1: %{?_with_gcconly: %{expand: %%define gcconly 1}} yann@1: yann@1: %define DATE 20020903 yann@1: %define gcc_version 3.2 yann@1: %define gcc_release 7.1 yann@1: %ifarch %{ix86} alpha ia64 ppc yann@1: %define build_ada 1 yann@1: %else yann@1: %define build_ada 0 yann@1: %endif yann@1: %{?_without_ada: %{expand: %%define build_ada 0}} yann@1: %if %{cross_compile} yann@1: %define build_ada 0 yann@1: %endif yann@1: Summary: Various compilers (C, C++, Objective-C, Java, ...) yann@1: %if !%{gcconly} yann@1: Name: gcc yann@1: Version: 3.2 yann@1: Release: %{gcc_release} yann@1: %else yann@1: Name: gcc-%{gcc_version} yann@1: Version: %{gcc_release} yann@1: Release: 1 yann@1: %endif yann@1: Copyright: GPL yann@1: Group: Development/Languages yann@1: Source0: gcc-%{version}-%{DATE}.tar.bz2 yann@1: URL: http://gcc.gnu.org yann@1: BuildRoot: %{_tmppath}/%{name}-%{version}-root yann@1: BuildRequires: binutils >= 2.12.90.0.9-1 yann@1: BuildRequires: zlib-devel, gettext, dejagnu yann@1: # Make sure pthread.h doesn't contain __thread tokens yann@1: BuildRequires: glibc-devel >= 2.2.5-36.2 yann@1: %if %{build_ada} yann@1: # Ada requires Ada to build yann@1: BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1 yann@1: %endif yann@1: Requires: cpp = %{version}-%{release} yann@1: # Need .eh_frame ld optimizations yann@1: # Need proper visibility support yann@1: Requires: binutils >= 2.12.90.0.7-1 yann@1: # Make sure gdb will understand DW_FORM_strp yann@1: Conflicts: gdb < 5.1-2 yann@1: Requires: glibc-devel >= 2.2.5-36.2 yann@1: Requires: libgcc >= %{version}-%{release} yann@1: %if !%{gcconly} yann@1: Obsoletes: gcc3 yann@1: %endif yann@1: Prereq: /sbin/install-info yann@1: yann@1: Patch1: gcc32-2.96-RH-compat.patch yann@1: Patch2: gcc32-boehm-gc-libs.patch yann@1: Patch3: gcc32-bogus-inline.patch yann@1: Patch6: gcc32-fde-merge-compat.patch yann@1: Patch7: gcc32-attr-visibility.patch yann@1: Patch8: gcc32-attr-visibility2.patch yann@1: Patch9: gcc32-duplicate-decl.patch yann@1: Patch10: gcc32-trunc_int_for_mode.patch yann@1: Patch11: gcc32-sparc-sll1.patch yann@1: Patch12: gcc32-x86_64-q_regs_operand.patch yann@1: Patch13: gcc32-dwarf2-pr6381.patch yann@1: Patch14: gcc32-dwarf2-pr6436-test.patch yann@1: Patch15: gcc32-c++-pretty_function.patch yann@1: Patch16: gcc32-c++-tsubst-asm.patch yann@1: Patch18: gcc32-i386-memtest-test.patch yann@1: Patch19: gcc32-fold-const2.patch yann@1: Patch21: gcc32-ada-addr2line.patch yann@1: Patch22: gcc32-ada-link.patch yann@1: Patch23: gcc32-java-no-rpath.patch yann@1: Patch25: gcc32-s390-java.patch yann@1: Patch26: gcc32-test-rotate.patch yann@1: Patch27: gcc32-x86_64-libiberty-pic.patch yann@1: Patch29: gcc32-test-rh65771.patch yann@1: Patch30: gcc32-i386-default-momit-leaf-frame-pointer.patch yann@1: Patch31: gcc32-i386-pic-label-thunk.patch yann@1: Patch34: gcc32-pr6842.patch yann@1: Patch35: gcc32-tls.patch yann@1: Patch36: gcc32-i386-profile-olfp.patch yann@1: Patch37: gcc32-tree-code.patch yann@1: Patch38: gcc32-hard-reg-sharing.patch yann@1: Patch39: gcc32-hard-reg-sharing2.patch yann@1: Patch40: gcc32-c++-nrv-test.patch yann@1: Patch41: gcc32-debug-pr7241.patch yann@1: Patch42: gcc32-i386-pr7242.patch yann@1: Patch43: gcc32-cfg-eh.patch yann@1: Patch44: gcc32-attr-visibility3.patch yann@1: Patch45: gcc32-tls2.patch yann@1: Patch46: gcc32-fold-const-associate.patch yann@1: Patch47: gcc32-inline-label.patch yann@1: Patch48: gcc32-typeof-asm.patch yann@1: Patch50: gcc32-rh69989.patch yann@1: Patch51: gcc32-tls3.patch yann@1: Patch52: gcc32-tls4.patch yann@1: Patch54: gcc32-tls5.patch yann@1: Patch55: gcc32-tls-dwarf2.patch yann@1: Patch56: gcc32-x86_64-pr7559.patch yann@1: Patch57: gcc32-loop-prefetch.patch yann@1: Patch58: gcc32-doc-gcov.patch yann@1: Patch59: gcc32-attr-visibility4.patch yann@1: Patch60: gcc32-c++-tail-pad-backout.patch yann@1: Patch61: gcc32-attr-visibility5.patch yann@1: Patch62: gcc32-i386-no-default-momit-leaf-frame-pointer.patch yann@1: Patch64: gcc32-x86_64-rip-lowercase.patch yann@1: Patch65: gcc32-libstdc++-glibc23-1.patch yann@1: Patch66: gcc32-libstdc++-glibc23-2.patch yann@1: Patch67: gcc32-libstdc++-glibc23-3.patch yann@1: Patch68: gcc32-libstdc++-glibc23-4.patch yann@1: Patch69: gcc32-interface_only.patch yann@1: yann@1: %define _gnu %{nil} yann@1: yann@1: Patch10000: boehm-gc-mips.patch yann@1: Patch10001: boehm-gc-LINUX.patch yann@1: Patch10002: gcc-libffi-mips.patch yann@1: yann@1: Patch11000: gcc-mips-coff.patch yann@1: Patch11001: gcc-mips-file.patch yann@1: Patch11002: gcc-mips-ieee.patch yann@1: Patch11003: gcc-mips-return.patch yann@1: Patch11004: gcc-libstdc++-mips.patch yann@1: Patch11005: libtool-mips.patch yann@1: yann@1: Patch12000: gcc-libgcc.patch yann@1: yann@1: Patch13000: gcc-ppc-linux.patch yann@1: Patch13001: gcc-linux-crt.patch yann@1: yann@1: Patch14000: gcc-linux-atexit.patch yann@1: Patch14001: gcc-test-atexit.patch yann@1: yann@1: Patch15000: gcc-var.patch yann@1: Patch15001: gcc-copy.patch yann@1: yann@1: Patch16000: gcc-c++-template.patch yann@1: Patch16001: gcc-testsuite-c++.patch yann@1: yann@1: Patch17000: gcc-cross.patch yann@1: Patch17001: gcc-cross-bfd.patch yann@1: Patch17002: gcc-sizeof.patch yann@1: Patch17003: gcc-arch.patch yann@1: yann@1: Patch18000: libjava-cross.patch yann@1: Patch18001: gcc-gcj-cross.patch yann@1: yann@1: Patch19000: contrib-touch.patch yann@1: yann@1: Patch20000: libtool-libs.patch yann@1: yann@1: Patch21000: gcc-libstdc++-glibc-2.2.patch yann@1: yann@1: %description yann@1: The gcc package contains the GNU Compiler Collection version 3.2. yann@1: You'll need this package in order to compile C code. yann@1: yann@1: %package -n libgcc yann@1: Summary: GCC version 3.2 shared support library yann@1: Group: System Environment/Libraries yann@1: yann@1: %description -n libgcc yann@1: This package contains GCC shared support library which is needed yann@1: e.g. for exception handling support. yann@1: yann@1: %package c++ yann@1: Summary: C++ support for GCC yann@1: Group: Development/Languages yann@1: Requires: gcc = %{version}-%{release} yann@1: Requires: libstdc++ = %{version} yann@1: Requires: libstdc++-devel = %{version} yann@1: Obsoletes: gcc3-c++ yann@1: yann@1: %description c++ yann@1: This package adds C++ support to the GNU Compiler Collection. yann@1: It includes support for most of the current C++ specification, yann@1: including templates and exception handling. yann@1: yann@1: %package -n libstdc++ yann@1: Summary: GNU Standard C++ Library yann@1: Group: System Environment/Libraries yann@1: Obsoletes: libstdc++3 yann@1: yann@1: %description -n libstdc++ yann@1: The libstdc++ package contains a rewritten standard compliant GCC Standard yann@1: C++ Library. yann@1: yann@1: %package -n libstdc++-devel yann@1: Summary: Header files and libraries for C++ development yann@1: Group: Development/Libraries yann@1: Requires: libstdc++ = %{version}-%{release} yann@1: Obsoletes: libstdc++3-devel yann@1: yann@1: %description -n libstdc++-devel yann@1: This is the GNU implementation of the standard C++ libraries. This yann@1: package includes the header files and libraries needed for C++ yann@1: development. This includes rewritten implementation of STL. yann@1: yann@1: %package objc yann@1: Summary: Objective-C support for GCC yann@1: Group: Development/Languages yann@1: Requires: gcc = %{version}-%{release} yann@1: Requires: libobjc = %{version}-%{release} yann@1: Obsoletes: gcc3-objc yann@1: yann@1: %description objc yann@1: gcc-objc provides Objective-C support for the GCC. yann@1: Mainly used on systems running NeXTSTEP, Objective-C is an yann@1: object-oriented derivative of the C language. yann@1: yann@1: %package -n libobjc yann@1: Summary: Objective-C runtime yann@1: Group: System Environment/Libraries yann@1: yann@1: %description -n libobjc yann@1: This package contains Objective-C shared library which is needed to run yann@1: Objective-C dynamically linked programs. yann@1: yann@1: %package g77 yann@1: Summary: Fortran 77 support yann@1: Group: Development/Languages yann@1: Requires: gcc = %{version}-%{release} yann@1: Requires: libf2c = %{version}-%{release} yann@1: Prereq: /sbin/install-info yann@1: Obsoletes: gcc3-g77 yann@1: yann@1: %description g77 yann@1: The gcc-g77 package provides support for compiling Fortran 77 yann@1: programs with the GNU Compiler Collection. yann@1: yann@1: %package -n libf2c yann@1: Summary: Fortran 77 runtime yann@1: Group: System Environment/Libraries yann@1: yann@1: %description -n libf2c yann@1: This package contains Fortran 77 shared library which is needed to run yann@1: Fortran 77 dynamically linked programs. yann@1: yann@1: %package java yann@1: Summary: Java support for GCC yann@1: Group: Development/Languages yann@1: Requires: gcc = %{version}-%{release} yann@1: Requires: libgcj >= %{version}, libgcj-devel >= %{version} yann@1: Obsoletes: gcc3-java yann@1: Prereq: /sbin/install-info yann@1: yann@1: %description java yann@1: This package adds support for compiling Java(tm) programs and yann@1: bytecode into native code. yann@1: yann@1: %package -n libgcj yann@1: Summary: Java runtime library for gcc yann@1: Group: System Environment/Libraries yann@1: Requires: zip >= 2.1 yann@1: Obsoletes: gcc-libgcj yann@1: Obsoletes: libgcj3 yann@1: # Kaffe includes jar too yann@1: Conflicts: kaffe yann@1: yann@1: %description -n libgcj yann@1: The Java(tm) runtime library. You will need this package to run your Java yann@1: programs compiled using the Java compiler from GNU Compiler Collection (gcj). yann@1: yann@1: %package -n libgcj-devel yann@1: Summary: Libraries for Java development using GCC yann@1: Group: Development/Languages yann@1: Requires: zip >= 2.1, libgcj = %{version} yann@1: Obsoletes: libgcj3-devel yann@1: yann@1: %description -n libgcj-devel yann@1: The Java(tm) static libraries and C header files. You will need this yann@1: package to compile your Java programs using the GCC Java compiler (gcj). yann@1: yann@1: %package -n cpp yann@1: Summary: The C Preprocessor. yann@1: Group: Development/Languages yann@1: Prereq: /sbin/install-info yann@1: %ifarch ia64 yann@1: Obsoletes: gnupro yann@1: %endif yann@1: yann@1: %description -n cpp yann@1: Cpp is the GNU C-Compatible Compiler Preprocessor. yann@1: Cpp is a macro processor which is used automatically yann@1: by the C compiler to transform your program before actual yann@1: compilation. It is called a macro processor because it allows yann@1: you to define macros, abbreviations for longer yann@1: constructs. yann@1: yann@1: The C preprocessor provides four separate functionalities: the yann@1: inclusion of header files (files of declarations that can be yann@1: substituted into your program); macro expansion (you can define macros, yann@1: and the C preprocessor will replace the macros with their definitions yann@1: throughout the program); conditional compilation (using special yann@1: preprocessing directives, you can include or exclude parts of the yann@1: program according to various conditions); and line control (if you use yann@1: a program to combine or rearrange source files into an intermediate yann@1: file which is then compiled, you can use line control to inform the yann@1: compiler about where each source line originated). yann@1: yann@1: You should install this package if you are a C programmer and you use yann@1: macros. yann@1: yann@1: %package gnat yann@1: Summary: Ada 95 support for GCC yann@1: Group: Development/Languages yann@1: Requires: gcc = %{version}-%{release}, libgnat = %{version}-%{release} yann@1: Obsoletes: gnat-devel, gcc3-gnat yann@1: Prereq: /sbin/install-info yann@1: yann@1: %description gnat yann@1: GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools, yann@1: the documents and Ada 95 compiler. yann@1: yann@1: %package -n libgnat yann@1: Summary: GNU Ada 95 runtime shared libraries yann@1: Group: System Environment/Libraries yann@1: Obsoletes: gnat libgnat3 yann@1: yann@1: %description -n libgnat yann@1: GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries, yann@1: which are required to run programs compiled with the GNAT. yann@1: yann@1: %prep yann@1: %setup -q -n gcc-%{version}-%{DATE} yann@1: %patch1 -p0 -b .2.96-RH-compat~ yann@1: %patch2 -p0 -b .boehm-gc-libs~ yann@1: %patch3 -p0 -b .bogus-inline~ yann@1: %patch6 -p0 -b .fde-merge-compat~ yann@1: %patch7 -p0 -b .attr-visibility~ yann@1: %patch8 -p0 -b .attr-visibility2~ yann@1: %patch9 -p0 -b .duplicate-decl~ yann@1: %patch10 -p0 -b .trunc_int_for_mode~ yann@1: %patch11 -p0 -b .sparc-sll1~ yann@1: %patch12 -p0 -b .x86_64-q_regs_operand~ yann@1: %patch13 -p0 -b .dwarf2-pr6381~ yann@1: %patch14 -p0 -b .dwarf2-pr6436-test~ yann@1: %patch15 -p0 -b .c++-pretty_function~ yann@1: %patch16 -p0 -b .c++-tsubst-asm~ yann@1: %patch18 -p0 -b .i386-memtest-test~ yann@1: %patch19 -p0 -b .fold-const2~ yann@1: %patch21 -p0 -b .ada-addr2line~ yann@1: %patch22 -p0 -b .ada-link~ yann@1: %patch23 -p0 -b .java-no-rpath~ yann@1: %patch25 -p0 -b .s390-java~ yann@1: %patch26 -p0 -b .test-rotate~ yann@1: %patch27 -p0 -b .x86_64-libiberty-pic~ yann@1: %patch29 -p0 -b .test-rh65771~ yann@1: %patch30 -p0 -b .i386-default-momit-leaf-frame-pointer~ yann@1: %patch31 -p0 -b .i386-pic-label-thunk~ yann@1: %patch34 -p0 -b .pr6842~ yann@1: %patch35 -p0 -b .tls~ yann@1: %patch36 -p0 -b .i386-profile-olfp~ yann@1: %patch37 -p0 -b .tree-code~ yann@1: %patch38 -p0 -b .hard-reg-sharing~ yann@1: %patch39 -p0 -b .hard-reg-sharing2~ yann@1: %patch40 -p0 -b .c++-nrv-test~ yann@1: %patch41 -p0 -b .debug-pr7241~ yann@1: %patch42 -p0 -b .i386-pr7242~ yann@1: %patch43 -p0 -b .cfg-eh~ yann@1: %patch44 -p0 -b .attr-visibility3~ yann@1: %patch45 -p0 -b .tls2~ yann@1: %patch46 -p0 -b .fold-const-associate~ yann@1: %patch47 -p0 -b .inline-label~ yann@1: %patch48 -p0 -b .typeof-asm~ yann@1: %patch50 -p0 -b .rh69989~ yann@1: %patch51 -p0 -b .tls3~ yann@1: %patch52 -p0 -b .tls4~ yann@1: %patch54 -p0 -b .tls5~ yann@1: %patch55 -p0 -b .tls-dwarf2~ yann@1: %patch56 -p0 -b .x86_64-pr7559~ yann@1: %patch57 -p0 -b .loop-prefetch~ yann@1: %patch58 -p0 -b .doc-gcov~ yann@1: %patch59 -p0 -b .attr-visibility4~ yann@1: %patch60 -p0 -b .c++-tail-pad-backout~ yann@1: %patch61 -p0 -b .attr-visibility5~ yann@1: %patch62 -p0 -b .i386-no-default-momit-leaf-frame-pointer~ yann@1: %patch64 -p0 -b .x86_64-rip-lowercase~ yann@1: %patch65 -p0 -b .libstdc++-glibc23-1~ yann@1: %patch66 -p0 -b .libstdc++-glibc23-2~ yann@1: %patch67 -p0 -b .libstdc++-glibc23-3~ yann@1: %patch68 -p0 -b .libstdc++-glibc23-4~ yann@1: %patch69 -p0 -b .interface_only yann@1: yann@1: %patch10000 -p0 -b .mips yann@1: %patch10001 -p0 -b .LINUX yann@1: %patch10002 -p0 -b .mips yann@1: pushd boehm-gc yann@1: autoconf yann@1: popd yann@1: pushd libffi yann@1: autoconf yann@1: # Ignore the error from automake yann@1: automake --cygnus Makefile || : yann@1: popd yann@1: yann@1: %patch11000 -p0 -b .coff yann@1: %patch11001 -p0 -b .file yann@1: %patch11002 -p0 -b .ieee yann@1: %patch11003 -p0 -b .return yann@1: %patch11004 -p0 -b .mips yann@1: %patch11005 -p1 -b .mips yann@1: yann@1: %patch12000 -p0 -b .libgcc yann@1: yann@1: %patch13000 -p0 -b .ppc yann@1: %patch13001 -p0 -b .crt yann@1: yann@1: %patch14000 -p0 -b .order yann@1: %patch14001 -p0 -b .order yann@1: yann@1: %patch15000 -p0 -b .var yann@1: %patch15001 -p0 -b .copy yann@1: yann@1: %patch16000 -p0 -b .template yann@1: %patch16001 -p0 -b .template yann@1: yann@1: %patch17000 -p1 -b .cross yann@1: %patch17001 -p0 -b .cross-bfd yann@1: %patch17002 -p1 -b .sizeof yann@1: %patch17003 -p0 -b .arch yann@1: pushd gcc yann@1: autoheader yann@1: autoconf yann@1: popd yann@1: pushd fastjar yann@1: aclocal yann@1: autoconf yann@1: popd yann@1: pushd libffi yann@1: aclocal yann@1: autoconf yann@1: popd yann@1: yann@1: %patch18000 -p0 -b .cross yann@1: %patch18001 -p0 -b .build yann@1: pushd libjava yann@1: autoconf yann@1: automake --foreign Makefile yann@1: popd yann@1: yann@1: %patch19000 -p0 -b .touch yann@1: yann@1: %patch20000 -p0 -b .libs yann@1: yann@1: %patch21000 -p0 -b .glibc-2.2 yann@1: pushd libstdc++-v3 yann@1: autoconf yann@1: popd yann@1: yann@1: perl -pi -e 's/3\.2\.1/3.2/' gcc/version.c gcc/f/version.c gcc/ada/gnatvsn.ads yann@1: perl -pi -e 's/"%{gcc_version}"/"%{gcc_version} \(release\)"/' gcc/version.c yann@1: perl -pi -e 's/\((prerelease|experimental|release)\)/\(Red Hat Linux 8.0 %{version}-%{gcc_release}\)/' gcc/version.c gcc/f/version.c yann@1: perl -pi -e 's/\((prerelease|experimental|release)\)/\(%{version}-%{gcc_release}\)/' gcc/ada/gnatvsn.ads yann@1: perl -pi -e 's/#define GCCBUGURL.*$/#define GCCBUGURL ""/' gcc/system.h yann@1: # The version string is now longer than 32 bytes and the line containing it yann@1: # doesn't fit into 80 columns yann@1: #perl -pi -e 's/:= 32/:= 64/;s/(Gnat_Version_String.*:=)/\1\n /' gcc/ada/gnatvsn.ads yann@1: yann@1: ./contrib/gcc_update --touch yann@1: yann@1: %build yann@1: rm -fr obj-%{_target_platform} yann@1: mkdir obj-%{_target_platform} yann@1: cd obj-%{_target_platform} yann@1: yann@1: %if %{_arch} != %{_build_arch} yann@1: %ifos linux yann@1: export ac_cv_func_mmap_anywhere=yes yann@1: export ac_cv_func_mmap_file=yes yann@1: export ac_cv_func_mmap_fixed_mapped=yes yann@1: export ac_cv_func_strncmp_works=yes yann@1: export gcc_cv_func_printf_ptr=yes yann@1: %endif yann@1: %endif yann@1: yann@1: DEFAULT_FLAGS= yann@1: %if %{default} yann@1: %ifarch %{ix86} yann@1: TARGET_CPU="%{_target_cpu}" yann@1: DEFAULT_FLAGS="--with-arch=$TARGET_CPU --with-cpu=$TARGET_CPU" yann@1: %endif yann@1: %endif yann@1: yann@1: CC=%{__cc} yann@1: OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` yann@1: CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ yann@1: ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ yann@1: --enable-shared --enable-threads=posix --disable-checking --host=%{_target_platform} \ yann@1: $DEFAULT_FLAGS \ yann@1: %if %{cross_compile} yann@1: --target=%{_target_platform} --build=%{_build_alias} \ yann@1: %endif yann@1: --with-system-zlib --enable-__cxa_atexit yann@1: yann@1: # We have to make sure all gcc configure files are up to date for yann@1: # parallel build. We have to do it twice due to the stupid Makefile. yann@1: make -C gcc cstamp-h yann@1: make -C gcc cstamp-h yann@1: yann@1: # if RPM_BUILD_NCPUS unset, set it yann@1: if [ -z "$RPM_BUILD_NCPUS" ] ; then yann@1: if [ -x /usr/bin/getconf ] ; then yann@1: RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN) yann@1: if [ $RPM_BUILD_NCPUS -eq 0 ]; then yann@1: RPM_BUILD_NCPUS=1 yann@1: fi yann@1: else yann@1: RPM_BUILD_NCPUS=1 yann@1: fi yann@1: fi yann@1: yann@1: RPM_BUILD_NCPUS=`expr $RPM_BUILD_NCPUS + $RPM_BUILD_NCPUS` yann@1: yann@1: cat < makefile yann@1: MAKE=make -j $RPM_BUILD_NCPUS yann@1: include Makefile yann@1: CFLAGS:=\$(CFLAGS) -pipe yann@1: CXXFLAGS:=\$(CXXFLAGS) -pipe yann@1: EOF yann@1: yann@1: # FIXME: It is a kludge. yann@1: export GCJFLAGS="$OPT_FLAGS" yann@1: yann@1: %if %{cross_compile} yann@1: make -j$RPM_BUILD_NCPUS \ yann@1: CC=%{__cc} \ yann@1: CXX=%{__cxx} \ yann@1: AR=%{__ar} \ yann@1: AS=%{__as} \ yann@1: LD=%{__ld} \ yann@1: NM=%{__nm} \ yann@1: RANLIB=%{__ranlib} \ yann@1: CC_FOR_TARGET=%{__cc} \ yann@1: GCC_FOR_TARGET=%{__cc} \ yann@1: CXX_FOR_TARGET=%{__cxx} \ yann@1: AR_FOR_TARGET=%{__ar} \ yann@1: AS_FOR_TARGET=%{__as} \ yann@1: LD_FOR_TARGET=%{__ld} \ yann@1: NM_FOR_TARGET=%{__nm} \ yann@1: RANLIB_FOR_TARGET=%{__ranlib} \ yann@1: HOST_CC=cc \ yann@1: CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \ yann@1: CFLAGS_FOR_BUILD="-O -pipe" \ yann@1: CFLAGS="$RPM_OPT_FLAGS -pipe" \ yann@1: CXXFLAGS="$RPM_OPT_FLAGS -pipe" yann@1: %else yann@1: make -j$RPM_BUILD_NCPUS bootstrap-lean yann@1: #make -j$RPM_BUILD_NCPUS bootstrap yann@1: %endif yann@1: yann@1: %if %{build_ada} yann@1: # This doesn't work with -j$RPM_BUILD_NCPUS yann@1: make -C gcc gnatlib-shared yann@1: make -C gcc gnattools yann@1: make -C gcc/ada doc yann@1: %endif yann@1: yann@1: %if %{make_check} yann@1: # run the tests. yann@1: make -j$RPM_BUILD_NCPUS -k check || : yann@1: %ifarch %{ix86} yann@1: ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform} yann@1: ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform}-gnu yann@1: %endif yann@1: echo ====================TESTING========================= yann@1: ( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' yann@1: %ifarch %{ix86} yann@1: make -C %{_target_platform}/libstdc++-v3 check-abi yann@1: %endif yann@1: echo ====================TESTING END===================== yann@1: #cd %{_target_platform}/libstdc++-v3 yann@1: #./mkcheck 0 yann@1: #cd ../.. yann@1: %endif yann@1: yann@1: %if !%{cross_compile} yann@1: # Make protoize yann@1: make -C gcc CC="./xgcc -B ./ -O2" proto yann@1: %endif yann@1: yann@1: # Make generated man pages even if Pod::Man is not new enough yann@1: perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl yann@1: for i in ../gcc/doc/*.texi; do yann@1: cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i yann@1: done yann@1: make -C gcc generated-manpages yann@1: for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done yann@1: yann@1: # Copy various doc files here and there yann@1: cd .. yann@1: mkdir -p rpm.doc/g77 rpm.doc/objc yann@1: mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava yann@1: yann@1: (cd gcc/f; for i in ChangeLog*; do yann@1: cp -p $i ../../rpm.doc/g77/$i.f yann@1: done) yann@1: (cd libf2c; for i in ChangeLog*; do yann@1: cp -p $i ../rpm.doc/g77/$i.libf2c yann@1: done) yann@1: (cd gcc/objc; for i in README*; do yann@1: cp -p $i ../../rpm.doc/objc/$i.objc yann@1: done) yann@1: (cd libobjc; for i in README*; do yann@1: cp -p $i ../rpm.doc/objc/$i.libobjc yann@1: done) yann@1: (cd boehm-gc; for i in ChangeLog*; do yann@1: cp -p $i ../rpm.doc/boehm-gc/$i.gc yann@1: done) yann@1: (cd fastjar; for i in ChangeLog* README*; do yann@1: cp -p $i ../rpm.doc/fastjar/$i.fastjar yann@1: done) yann@1: (cd libffi; for i in ChangeLog* README* LICENSE; do yann@1: cp -p $i ../rpm.doc/libffi/$i.libffi yann@1: done) yann@1: (cd libjava; for i in ChangeLog* README*; do yann@1: cp -p $i ../rpm.doc/libjava/$i.libjava yann@1: done) yann@1: yann@1: %install yann@1: rm -fr $RPM_BUILD_ROOT yann@1: yann@1: perl -pi -e \ yann@1: 's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \ yann@1: libstdc++-v3/docs/html/documentation.html yann@1: ln -sf documentation.html libstdc++-v3/docs/html/index.html yann@1: find libstdc++-v3/docs/html -name CVS | xargs rm -rf yann@1: yann@1: cd obj-%{_target_platform} yann@1: TARGET_PLATFORM=%{_target_platform} yann@1: yann@1: # There are some MP bugs in libstdc++ and libjava Makefiles yann@1: make -C %{_target_platform}/libstdc++-v3 yann@1: make -C %{_target_platform}/libjava yann@1: yann@1: make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \ yann@1: %if %{cross_compile} yann@1: CC=%{__cc} \ yann@1: CXX=%{__cxx} \ yann@1: AR=%{__ar} \ yann@1: AS=%{__as} \ yann@1: LD=%{__ld} \ yann@1: NM=%{__nm} \ yann@1: RANLIB=%{__ranlib} \ yann@1: CC_FOR_TARGET=%{__cc} \ yann@1: GCC_FOR_TARGET=%{__cc} \ yann@1: CXX_FOR_TARGET=%{__cxx} \ yann@1: AR_FOR_TARGET=%{__ar} \ yann@1: AS_FOR_TARGET=%{__as} \ yann@1: LD_FOR_TARGET=%{__ld} \ yann@1: NM_FOR_TARGET=%{__nm} \ yann@1: RANLIB_FOR_TARGET=%{__ranlib} \ yann@1: HOST_CC=cc \ yann@1: CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \ yann@1: CFLAGS_FOR_BUILD="-O -pipe" \ yann@1: CFLAGS="$RPM_OPT_FLAGS -pipe" \ yann@1: CXXFLAGS="$RPM_OPT_FLAGS -pipe" \ yann@1: %endif yann@1: infodir=$RPM_BUILD_ROOT%{_infodir} install yann@1: %if %{build_ada} yann@1: pushd gcc/ada yann@1: cp -a gnat-style.info* gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}/ yann@1: for i in gnat_ug_unx.info*; do yann@1: sed 's/gnat_ug_unx/gnat_ug/g' $i > $RPM_BUILD_ROOT%{_infodir}/`echo $i | sed 's/gnat_ug_unx/gnat_ug/'` yann@1: done yann@1: chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat* yann@1: popd yann@1: %endif yann@1: yann@1: FULLPATH=$(dirname $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1) yann@1: yann@1: file $RPM_BUILD_ROOT/%{_prefix}/bin/* | grep ELF | cut -d':' -f1 | xargs %{__strip} || : yann@1: %{__strip} $FULLPATH/{cc1,cc1obj,cc1plus,cpp0,tradcpp0,f771,jc1,jvgenmain} yann@1: yann@1: # fix some things yann@1: ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc yann@1: mkdir -p $RPM_BUILD_ROOT/lib yann@1: ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp yann@1: ln -sf g77 $RPM_BUILD_ROOT%{_prefix}/bin/f77 yann@1: rm -f $RPM_BUILD_ROOT%{_infodir}/dir yann@1: gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info* yann@1: ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc yann@1: yann@1: mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.*a $FULLPATH/ yann@1: sed 's/-lgcjgc//g;s/-lzgcj//g;s/-lpthread//g' $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec > $FULLPATH/libgcj.spec yann@1: mv $RPM_BUILD_ROOT%{_prefix}/include/gc*.h $FULLPATH/include/ yann@1: mv $RPM_BUILD_ROOT%{_prefix}/include/j*.h $FULLPATH/include/ yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu,org} $FULLPATH/include/ yann@1: mkdir -p $FULLPATH/include/gcj yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/include/gcj/* $FULLPATH/include/gcj/ yann@1: rmdir $RPM_BUILD_ROOT%{_prefix}/include/gcj yann@1: yann@1: mkdir -p $RPM_BUILD_ROOT/%{_lib} yann@1: mv -f `find $RPM_BUILD_ROOT%{_prefix}/lib -name libgcc_s.so.1` $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 yann@1: chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 yann@1: ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1 yann@1: ln -sf ../../%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so yann@1: #ln -sf `echo "%{_prefix}" | sed 's~/[^/]*~\.\./~g'`../%{_lib}/libgcc_s.so.1 \ yann@1: # $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so yann@1: #mv -f $FULLPATH/libobjc.so.1* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ yann@1: %if %{build_ada} yann@1: mv -f $FULLPATH/adalib/libgnarl-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ yann@1: mv -f $FULLPATH/adalib/libgnat-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ yann@1: rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so* yann@1: %endif yann@1: pushd $FULLPATH yann@1: if [ "%{_lib}" = "lib" ]; then yann@1: ln -sf ../../../libobjc.so.1 libobjc.so yann@1: ln -sf ../../../libstdc++.so.5.* libstdc++.so yann@1: ln -sf ../../../libgcj.so.3.* libgcj.so yann@1: ln -sf ../../../libg2c.so.0.* libg2c.so yann@1: %if %{build_ada} yann@1: cd adalib yann@1: ln -sf ../../../../libgnarl-*.so.* libgnarl.so yann@1: ln -sf ../../../../libgnat-*.so.* libgnat.so yann@1: cd .. yann@1: %endif yann@1: else yann@1: ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so yann@1: ln -sf ../../../../%{_lib}/libstdc++.so.5.* libstdc++.so yann@1: ln -sf ../../../../%{_lib}/libgcj.so.3.* libgcj.so yann@1: ln -sf ../../../../%{_lib}/libg2c.so.0.* libg2c.so yann@1: %if %{build_ada} yann@1: cd adalib yann@1: ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so yann@1: ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so yann@1: cd .. yann@1: %endif yann@1: fi yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libstdc++.*a . yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a . yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.*a . yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libfrtbegin.*a . yann@1: mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a . yann@1: # Strip debug info from Fortran/ObjC/Java static libraries yann@1: %{__strip} -g libg2c.a libobjc.a libgcj.a yann@1: # Fix up .la files yann@1: for i in *.la; do yann@1: sed -e '/^libdir/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \ yann@1: -e '/^dependency_libs/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \ yann@1: -e '/^dependency_libs/s~'\''$~ '\''~' \ yann@1: -e '/^dependency_libs/s~[ ][ ]*~ ~g' \ yann@1: -e '/^dependency_libs/s~-L[^ ]* ~~g' \ yann@1: -e '/^dependency_libs/s~-lgcc_s -lgcc -lc -lgcc_s -lgcc ~~g' \ yann@1: -e '/^dependency_libs/s~-lgcc -lc -lgcc ~~g' \ yann@1: -e '/^dependency_libs/s~-lc ~~g' \ yann@1: -e '/^dependency_libs/s~-lm \(-lm \)*~-lm ~g' \ yann@1: $i > $i.tmp yann@1: mv -f $i.tmp $i yann@1: done yann@1: popd yann@1: chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.so.0.* yann@1: chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.so.1.* yann@1: %if %{build_ada} yann@1: chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnarl*so* yann@1: chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnat*so* yann@1: %endif yann@1: yann@1: cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF" yann@1: #!/bin/sh yann@1: fl="-std=c89" yann@1: for opt; do yann@1: case "$opt" in yann@1: -ansi|-std=c89|-std=iso9899:1990) fl="";; yann@1: -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 yann@1: exit 1;; yann@1: esac yann@1: done yann@1: exec %{_prefix}/bin/gcc $fl ${1+"$@"} yann@1: EOF yann@1: cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF" yann@1: #!/bin/sh yann@1: fl="-std=c99" yann@1: for opt; do yann@1: case "$opt" in yann@1: -std=c99|-std=iso9899:1999) fl="";; yann@1: -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 yann@1: exit 1;; yann@1: esac yann@1: done yann@1: exec %{_prefix}/bin/gcc $fl ${1+"$@"} yann@1: EOF yann@1: chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9 yann@1: yann@1: cd .. yann@1: %find_lang %{name} yann@1: yann@1: %if %{cross_compile} yann@1: # Install syslimits.h for canadian cross compile. yann@1: pushd $RPM_BUILD_DIR/gcc-%{gcc_version}-%{DATE}/obj-%{_target_platform} yann@1: cp -af ../gcc/gsyslimits.h $FULLPATH/include/syslimits.h yann@1: # Fix the specs file. yann@1: cat gcc/specs | yann@1: awk ' yann@1: BEGIN { yann@1: cross=0; yann@1: } yann@1: /cross_compile/ { print; cross = 1; next; } yann@1: /^1$/ { yann@1: if (cross == 0) { yann@1: print; yann@1: } yann@1: else { yann@1: cross = 0; yann@1: print "0"; yann@1: } yann@1: next; yann@1: } yann@1: { print; } yann@1: ' > $FULLPATH/specs yann@1: popd yann@1: %endif yann@1: yann@1: %clean yann@1: rm -rf $RPM_BUILD_ROOT yann@1: yann@1: %post yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/gcc.info.gz yann@1: yann@1: %preun yann@1: if [ $1 = 0 ]; then yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/gcc.info.gz yann@1: fi yann@1: yann@1: %post -n cpp yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/cpp.info.gz yann@1: yann@1: %preun -n cpp yann@1: if [ $1 = 0 ]; then yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/cpp.info.gz yann@1: fi yann@1: yann@1: %post g77 yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/g77.info.gz yann@1: yann@1: %preun g77 yann@1: if [ $1 = 0 ]; then yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/g77.info.gz yann@1: fi yann@1: yann@1: %post java yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/gcj.info.gz yann@1: yann@1: %preun java yann@1: if [ $1 = 0 ]; then yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/gcj.info.gz yann@1: fi yann@1: yann@1: %post gnat yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz yann@1: /sbin/install-info \ yann@1: --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz yann@1: yann@1: %preun gnat yann@1: if [ $1 = 0 ]; then yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz yann@1: /sbin/install-info --delete \ yann@1: --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz yann@1: fi yann@1: yann@1: %post -n libgcc -p /sbin/ldconfig yann@1: yann@1: %postun -n libgcc -p /sbin/ldconfig yann@1: yann@1: %post -n libstdc++ -p /sbin/ldconfig yann@1: yann@1: %postun -n libstdc++ -p /sbin/ldconfig yann@1: yann@1: %post -n libobjc -p /sbin/ldconfig yann@1: yann@1: %postun -n libobjc -p /sbin/ldconfig yann@1: yann@1: %post -n libgcj -p /sbin/ldconfig yann@1: yann@1: %postun -n libgcj -p /sbin/ldconfig yann@1: yann@1: %post -n libf2c -p /sbin/ldconfig yann@1: yann@1: %postun -n libf2c -p /sbin/ldconfig yann@1: yann@1: %post -n libgnat -p /sbin/ldconfig yann@1: yann@1: %postun -n libgnat -p /sbin/ldconfig yann@1: yann@1: %files -f %{name}.lang yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/cc yann@1: %{_prefix}/bin/c89 yann@1: %{_prefix}/bin/c99 yann@1: %{_prefix}/bin/gcc yann@1: %{_prefix}/bin/gcov yann@1: %if !%{cross_compile} yann@1: %{_prefix}/bin/protoize yann@1: %{_prefix}/bin/unprotoize yann@1: %endif yann@1: %{_prefix}/bin/%{_target_platform}-gcc yann@1: %{_mandir}/man1/gcc.1* yann@1: %{_mandir}/man1/gcov.1* yann@1: %{_infodir}/gcc* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stddef.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdarg.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/varargs.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/float.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/limits.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdbool.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/iso646.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/syslimits.h yann@1: %ifarch %{ix86} x86_64 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/mmintrin.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/xmmintrin.h yann@1: %endif yann@1: %ifarch ia64 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ia64intrin.h yann@1: %endif yann@1: %ifarch ppc yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ppc-asm.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/altivec.h yann@1: %endif yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/README yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/collect2 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/crt*.o yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc_eh.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/specs yann@1: %{_prefix}/%{_lib}/libgcc_s.so yann@1: %doc gcc/README* gcc/*ChangeLog* yann@1: yann@1: %if !%{gcconly} yann@1: %files -n cpp yann@1: %defattr(-,root,root) yann@1: /lib/cpp yann@1: %endif yann@1: %{_prefix}/bin/cpp yann@1: %{_mandir}/man1/cpp.1* yann@1: %{_infodir}/cpp* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cpp0 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/tradcpp0 yann@1: yann@1: %files -n libgcc yann@1: %defattr(-,root,root) yann@1: /%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 yann@1: /%{_lib}/libgcc_s.so.1 yann@1: yann@1: %if !%{gcconly} yann@1: %files c++ yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/%{_target_platform}-*++ yann@1: %{_prefix}/bin/g++ yann@1: %{_prefix}/bin/c++ yann@1: %{_prefix}/bin/c++filt yann@1: %{_mandir}/man1/g++.1* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1plus yann@1: %doc gcc/cp/ChangeLog* yann@1: yann@1: %files -n libstdc++ yann@1: %defattr(-,root,root) yann@1: %{_prefix}/%{_lib}/libstdc++.so.5* yann@1: yann@1: %files -n libstdc++-devel yann@1: %defattr(-,root,root) yann@1: %{_prefix}/include/c++ yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.so yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libsupc++.a yann@1: %doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/ yann@1: yann@1: %files objc yann@1: %defattr(-,root,root) yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/objc yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1obj yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.so yann@1: %doc rpm.doc/objc/* yann@1: %doc libobjc/THREADS* libobjc/ChangeLog yann@1: yann@1: %files -n libobjc yann@1: %defattr(-,root,root) yann@1: %{_prefix}/%{_lib}/libobjc.so.1* yann@1: yann@1: %files g77 yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/g77 yann@1: %{_prefix}/bin/f77 yann@1: %{_mandir}/man1/g77.1* yann@1: %{_infodir}/g77* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/f771 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libfrtbegin.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.so yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/g2c.h yann@1: %doc gcc/f/README rpm.doc/g77/* yann@1: yann@1: %files -n libf2c yann@1: %defattr(-,root,root) yann@1: %{_prefix}/%{_lib}/libg2c.so.0* yann@1: yann@1: %files java yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/gcj yann@1: %{_prefix}/bin/gcjh yann@1: %{_prefix}/bin/jcf-dump yann@1: %{_prefix}/bin/jv-scan yann@1: %{_mandir}/man1/gcj.1* yann@1: %{_mandir}/man1/gcjh.1* yann@1: %{_mandir}/man1/jcf-dump.1* yann@1: %{_mandir}/man1/jv-scan.1* yann@1: %{_infodir}/gcj* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jc1 yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jvgenmain yann@1: %doc gcc/java/ChangeLog* yann@1: yann@1: %files -n libgcj yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/jv-convert yann@1: %{_prefix}/bin/gij yann@1: %{_prefix}/bin/jar yann@1: %{_prefix}/bin/grepjar yann@1: %{_prefix}/bin/rmic yann@1: %{_prefix}/bin/rmiregistry yann@1: %{_mandir}/man1/jv-convert.1* yann@1: %{_mandir}/man1/gij.1* yann@1: %{_mandir}/man1/rmic.1* yann@1: %{_mandir}/man1/rmiregistry.1* yann@1: %{_prefix}/%{_lib}/libgcj.so.* yann@1: %{_prefix}/share/java yann@1: %{_prefix}/lib/security yann@1: yann@1: %files -n libgcj-devel yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/addr2name.awk yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.a yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.so yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.spec yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gc*.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/j*.h yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/java yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/javax yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gnu yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gcj yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/org yann@1: %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/* yann@1: %doc rpm.doc/libjava/* yann@1: yann@1: %if %{build_ada} yann@1: %files gnat yann@1: %defattr(-,root,root) yann@1: %{_prefix}/bin/gnat* yann@1: %{_infodir}/gnat* yann@1: %dir %{_prefix}/lib/gcc-lib yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform} yann@1: %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version} yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adainclude yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adalib yann@1: %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/gnat1 yann@1: %doc gcc/ada/ChangeLog yann@1: yann@1: %files -n libgnat yann@1: %defattr(-,root,root) yann@1: %{_prefix}/%{_lib}/libgnat-*.so.* yann@1: %{_prefix}/%{_lib}/libgnarl-*.so.* yann@1: %endif yann@1: %endif yann@1: yann@1: %changelog yann@1: * Tue Sep 3 2002 Bill Nottingham 3.2-7 yann@1: - fix calling of C++ destructors in certain cases yann@1: yann@1: * Tue Sep 3 2002 Jakub Jelinek 3.2-6 yann@1: - update from CVS (but revert C++ tail padding patches yann@1: for now) yann@1: - further fixes to make libstdc++-v3 build on glibc 2.3 yann@1: - run libstdc++-v3 make check-abi on IA-32 during testing yann@1: yann@1: * Fri Aug 30 2002 Jakub Jelinek 3.2-5 yann@1: - disable tail copy patches, they seem to still have problems yann@1: - make libstdc++-v3 build on glibc 2.3 (and use thread-local yann@1: locale model) yann@1: - fix c89 and c99 scripts (#73104) yann@1: yann@1: * Wed Aug 26 2002 Jakub Jelinek 3.2-4 yann@1: - reorder alpha_encode_section_info checks slightly to fix an ICE yann@1: when building glibc and to take better advantage of visibility yann@1: attribute on Alpha yann@1: - as gdb is not there yet, disable -momit-leaf-frame-pointer yann@1: by default for now on IA-32 yann@1: - fix IA-64 bootstrap with tail padding patch (Jason Merrill, Daniel Berlin) yann@1: - fix x86-64 %RIP to %rip, only output (%rip) if no other relocation yann@1: is used (Richard Henderson) yann@1: yann@1: * Fri Aug 23 2002 Jakub Jelinek 3.2-3 yann@1: - take advantage of __attribute__((visibility())) on Alpha yann@1: - avoid copying tail padding (Jason Merrill) yann@1: yann@1: * Thu Aug 22 2002 Jakub Jelinek 3.2-2 yann@1: - fixed Dwarf2 DW_OP_GNU_push_tls_address patch from Richard Henderson yann@1: - don't mention removed -a and -ax options in the documentation yann@1: (Nathan Sidwell, #72233) yann@1: - fixed __typeof() followed by __asm() redirection from Alexandre Oliva yann@1: yann@1: * Wed Aug 14 2002 Jakub Jelinek 3.2-1 yann@1: - update to 3.2 release yann@1: - fix x86-64 PR target/7559 (Jan Hubicka) yann@1: - fix -fprefetch-loop-arrays (Janis Johnson) yann@1: - fix x86-64 prefetch (Jan Hubicka) yann@1: yann@1: * Fri Aug 9 2002 Jakub Jelinek 3.2-0.3 yann@1: - istream fix (Benjamin Kosnik) yann@1: - emit Dwarf2 DW_OP_GNU_push_tls_address extension for TLS (Richard Henderson) yann@1: - temporarily disable __typeof() + __asm() fix yann@1: yann@1: * Thu Aug 8 2002 Jakub Jelinek 3.2-0.2 yann@1: - update from 3.2 branch yann@1: - ABI incompatible changes in libstdc++.so.5, long long bitfield yann@1: layout on IA-32 (both C and C++), oversized bitfields layout yann@1: on IA-32 and bitfields with base type with __attribute__((aligned ())) yann@1: - fix strstream segfaults (#68292, Benjamin Kosnik) yann@1: - fix __attribute__((visibility())) together with __asm__() yann@1: function redirection yann@1: - fix __typeof() followed by __asm() redirection (Alexandre Oliva) yann@1: - fix TLS ICE on glibc (#70061) yann@1: - fix K6 ICE on linux kernel (#69989, Richard Sandiford, Jan Hubicka) yann@1: - fix inlining bug with labels (#70941) yann@1: - fix fold-const bug (#70541) yann@1: - fix PR preprocessor/7358 (Neil Booth) yann@1: - error when mixing __thread and non-__thread declarations yann@1: (#70059, Aldy Hernandez) yann@1: - fix TLS bug on g++.dg/tls/diag-1.C (Jason Merrill) yann@1: - add -mcmodel= x86-64 documentation (Andreas Jaeger) yann@1: - avoid TLS emitting movl %gs:0, MEMORY on IA-32 (#71033) yann@1: yann@1: * Mon Jul 22 2002 Jakub Jelinek 3.2-0.1 yann@1: - first attempt for gcc 3.2 yann@1: - remove .la files yann@1: yann@1: * Sat Jul 20 2002 Jakub Jelinek 3.1-10 yann@1: - update from 3.1 branch yann@1: - add throw() to set_new_handler (Andreas Schwab) yann@1: - fixed PR optimization/7147, optimization/7153 yann@1: - make sure pic register is set up even when the only @PLT calls yann@1: are done in EH basic blocks (Richard Henderson) yann@1: yann@1: * Sun Jul 14 2002 Jakub Jelinek 3.1-9 yann@1: - define %%_gnu to nothing for compatibility yann@1: yann@1: * Sat Jul 13 2002 Jakub Jelinek 3.1-8 yann@1: - update from 3.1 branch yann@1: - fix OpenOffice miscompilation (PR c++/7279, Jason Merrill) yann@1: - PRs c++/7224, c++/6255, optimization/7145, c++/6706, preprocessor/7070, yann@1: middle-end/6963, target/6841, target/6770, target/6719, yann@1: other/6836, libstdc++/7057, libstdc++/7097, libstdc++/3946, yann@1: libstdc++/7173 yann@1: - fix a GC bug with named labels in C++ (Jim Wilson) yann@1: - fix ICE on Mesa (Bernd Schmidt, #65771) yann@1: - added some NRV tests yann@1: - fix typo in i386 specs (PR c/7242) yann@1: - fix IA-32 ICE with shifts by negative values followed by compare yann@1: (PR middle-end/7245, #68395) yann@1: - fixed DWARF-2 output for const char * (PR debug/7241) yann@1: - actually enable __cxa_atexit for standard compliance at configury time yann@1: - added PPC as Ada enabled architecture yann@1: yann@1: * Wed Jun 19 2002 Jakub Jelinek 3.1-7 yann@1: - update from 3.1 branch yann@1: - PRs target/6922, opt/6722, c/7030, c/6677, objc/6834, c++/6892, yann@1: c++/6723, opt/6793 yann@1: - use __cxa_atexit for standard compliance: yann@1: if your C++ project knows it won't call atexit from within its yann@1: static constructors, use -fno-use-cxa-atexit to optimize it yann@1: - share hard register rtxs where possible to speed the compiler up (Jeff Law) yann@1: - optimize tree_code_* arrays (Kaveh Ghazi) yann@1: - don't link prefix.o into libgnat, link libgnat against libgcc_s and yann@1: libgnarl against libgnat yann@1: - fix typo in GNAT %%post (#66847, #66941, #66639) yann@1: - add TLS support yann@1: yann@1: * Fri Jun 7 2002 Jakub Jelinek 3.1-6 yann@1: - add GNAT yann@1: - remove DT_RPATH from Java binaries (#66103) yann@1: - obsolete kaffe, install jar as %{_prefix}/bin/jar yann@1: - add include/org directory in java yann@1: - add rmic and rmiregistry programs to libgcj yann@1: - add info documentation for gcj and various man pages yann@1: - add message catalogues for da, el, es, fr, ja, nl, sv, tr yann@1: - don't put IA-64 vtables with relocations into read-only sections yann@1: with -fpic yann@1: yann@1: * Tue Jun 4 2002 Jakub Jelinek 3.1-5 yann@1: - update from 3.1 branch yann@1: - PRs optimization/6822, preprocessor/6844, target/6838, target/6788, yann@1: libstdc++/6886, libstdc++/6795, libstdc++/6811 yann@1: - m$ compatibility for unnamed fields as typedef of struct/union yann@1: (PR c/6660) yann@1: - fix -fverbose-asm with unnamed fields (PR c/6809) yann@1: - fix -mmmx ICE (PR optimization/6842) yann@1: - default to -momit-leaf-frame-pointer on i386 (Richard Henderson) yann@1: - use linkonce section/hidden symbol for i686 pic getpc thunks yann@1: (Richard Henderson) yann@1: yann@1: * Tue May 28 2002 Jakub Jelinek 3.1-4 yann@1: - rebuilt yann@1: yann@1: * Sat May 25 2002 Jakub Jelinek 3.1-3 yann@1: - update from 3.1 branch yann@1: - PRs other/6782, preprocessor/6780, preprocessor/6517, yann@1: libstdc++/6282, libstdc++/6701, libstdc++/6701 yann@1: - fix out << "" bug (Ben Kosnik, #65409, PR libstdc++/6750) yann@1: - 3 new patches yann@1: - fix C++ __PRETTY_FUNCTION__ (PR c++/6794) yann@1: - fix ICE on jikes (#65379) yann@1: - add test for fixed mozilla miscompilation yann@1: - include intrinsic headers on IA-32/x86-64, include altivec.h on PPC yann@1: yann@1: * Wed May 22 2002 Jakub Jelinek 3.1-2 yann@1: - update from 3.1 branch yann@1: - 8 new patches yann@1: - fix as version test for 2.12.1 and newer binutils non-CVS releases yann@1: - fix ICE in do_subst (#65049) yann@1: - fix SSE conditional move (PR target/6753) yann@1: - fix SPARC CSE ICE (PR optimization/6759) yann@1: - fix x86_64 dbx64_register_map typo (Jan Hubicka) yann@1: - fix DWARF-2 with flag_asynchronous_unwind_tables set for leaf yann@1: functions (Jan Hubicka) yann@1: - fix DWARF-2 x86_64 __builtin_dwarf_reg_sizes (Jan Hubicka) yann@1: - fix x86_64 movabsdi (Michael Matz) yann@1: yann@1: * Wed May 15 2002 Jakub Jelinek 3.1-1 yann@1: - update to 3.1 final yann@1: - 15 new patches yann@1: - fix PR c/6643 yann@1: - fix fold-const.c typo yann@1: - fix unitialized pointer-to-member values (Alexandre Oliva) yann@1: - fix templates with asm inputs (Jason Merrill) yann@1: - fix -fdata-section (Andreas Schwab) yann@1: - readd warning about i386 -malign-double into documentation (Jan Hubicka) yann@1: - fix PR libstdc++/6594 (Ben Kosnik) yann@1: - fix PR PR libstdc++/6648 (Paolo Carlini) yann@1: - fix libstdc++ testsuite rlimits (Rainer Orth) yann@1: - s390 java support (Gerhard Tonn) yann@1: - rotate testcases (Tom Rix) yann@1: - build libiberty with -fpic on x86_64 (Andreas Schwab) yann@1: - fix x86_64 multilib build (Bo Thorsen) yann@1: - fix x86_64 ASM_OUTPUT_MI_THUNK (Jan Hubicka) yann@1: - fix loop-2[cd].c tests on i386 (Eric Botcazou) yann@1: - fix typo in g77 info files tweaking yann@1: - fix libgcj.so symlink yann@1: yann@1: * Thu May 9 2002 Jakub Jelinek 3.1-0.28 yann@1: - update to CVS 3.1 branch yann@1: - PR c++/6212, target/6429, opt/6534, c/6543, target/6561, c/6569 yann@1: - fix x86_64 q_regs_operand (Jan Hubicka) yann@1: - better PR c++/6381 fix (Jason Merrill) yann@1: yann@1: * Fri May 3 2002 Jakub Jelinek 3.1-0.27 yann@1: - update to CVS 3.1 branch yann@1: - PR target/5628, libstdc++/5820, c++/6396, preprocessor/6489, yann@1: libstdc++/6501, libstdc++/6511, target/6512, libstdc++/6513, yann@1: bootstrap/6514, opt/6516, bootstrap/6525, c++/6527, libstdc++/6533, yann@1: target/6540 yann@1: - fix PR target/6542, target/6522, libstdc++/6549 yann@1: yann@1: * Mon Apr 29 2002 Jakub Jelinek 3.1-0.26 yann@1: - update to CVS 3.1 branch yann@1: - PR c/3581, libstdc++/4150, libstdc++/4164, c/5154, c/5430, c++/5504, yann@1: c++/5658, c++/5719, f/6138, libgcj/6158, middle-end/6205, c++/6256, yann@1: c/6300, c++/6331, c/6343, c/6344, c++/6352, c/6358, libstdc++/6360, yann@1: c++/6395, target/6413, libstdc++/6414, target/6422, bootstrap/6445, yann@1: optimization/6475, target/6476, c++/6477, c++/6479, c++/6486, c++/6492, yann@1: target/6494, target/6496, c/6497, target/6500 yann@1: - fix PR c++/6396 yann@1: - run make check as part of build process yann@1: yann@1: * Thu Apr 18 2002 Jakub Jelinek 3.1-0.25 yann@1: - update to CVS 3.1 branch yann@1: - PR opt/420, c++/525, target/817, target/1538, opt/3967, target/3997, yann@1: opt/4120, bootstrap/4191, opt/4311, optimization/4328, c++/4884, c++/4934, yann@1: c/5078, c++/5104, opt/5120, c++/5189, c++/5373, target/5446, c/5484, yann@1: c++/5507, c++/5571, c++/5636, target/5672, target/5715, target/5886, yann@1: c++/5933, c++/5964, c++/5998, opt/6007, target/6032, target/6041, yann@1: target/6054, c++/6073, target/6082, optimization/6086, target/6087, yann@1: middle-end/6096, middle-end/6098, middle-end/6099, middle-end/6100, yann@1: middle-end/6102, fortran/6106, c++/6119, opt/6165, optimization/6177, yann@1: c++/6179, optimization/6189, c/6202, c/6223, optimization/6233, yann@1: middle-end/6279, c/6290, optimization/6305, target/6305, bootstrap/6315, yann@1: c++/6320... yann@1: - fix PR c++/6316 yann@1: yann@1: * Wed Mar 27 2002 Jakub Jelinek 3.1-0.24 yann@1: - update to CVS 3.1 branch yann@1: - PRs c/5656, c/5972, bootstrap/4192, target/4792, bootstrap/4195, yann@1: optimization/5854, target/6043, c++/6037, bootstrap/4128, target/5740, yann@1: c/5597, optimization/5863, optimization/5742, target/3177, c/5354, yann@1: optimization/5999, target/5977, middle-end/5731, target/5312... yann@1: yann@1: * Fri Mar 15 2002 Jakub Jelinek 3.1-0.23.1 yann@1: - fix info and man page generation yann@1: yann@1: * Thu Mar 14 2002 Jakub Jelinek 3.1-0.23 yann@1: - update to CVS 3.1 branch yann@1: - fix IA-64 packet selection (PR optimization/5892) yann@1: - make highest_pow2_factor work for all constants (PR middle-end/5877) yann@1: - fix -Wunused (#61047) yann@1: - fix loop on mixed mode class assignments (#60923) yann@1: - fix wide character literals yann@1: - support SPARC v9 long distance branches (PR target/5626) yann@1: - fix SPARC leaf functions yann@1: - fix a rtl sharing problem (Richard Henderson, #60760, yann@1: PR optimization/5844) yann@1: - fix va_arg with variable size types (PR c/3711) yann@1: - PRs optimization/5901, optimization/5878, 5693, preprocessor/5899 yann@1: - fix C++ ?: at the end of stmt expr (PR c++/5373) yann@1: - fix loop unrolling with sibcalls (PR optimization/5891) yann@1: yann@1: * Thu Mar 7 2002 Jakub Jelinek 3.1-0.22 yann@1: - update to CVS 3.1 branch yann@1: - fix ICE with volatile long long (#60650) yann@1: - fix tempbuf.h (Philipp Thomas, #60212) yann@1: - fix -fssa-ccp (Jeff Law, #60651) yann@1: - versioned libstdc++ yann@1: - backport __attribute__((visibility("..."))) patches from trunk yann@1: - include libstdc++ html documentation yann@1: yann@1: * Tue Feb 5 2002 Jakub Jelinek 3.1-0.21 yann@1: - update to CVS HEAD yann@1: - fix demangler (H.J. Lu, #59300, #59310) yann@1: - fix typo in IA-32 specs file (#59081) yann@1: - support moving SFmode values in MMX regs if -mmmx (#59083) yann@1: - fix recog_for_combine (#59084) yann@1: - don't ICE when inserting insns on edge from bb0 to bb0 (Bernd Schmidt, yann@1: #59087) yann@1: - make sure configure has not time in the future (#59203) yann@1: - fix division/modulo by certain constants (#58065, PR c/5304) yann@1: - fix -Wswitch (PR c/4475) yann@1: yann@1: * Thu Jan 31 2002 Jakub Jelinek 3.1-0.20 yann@1: - update to CVS HEAD yann@1: - fix jar (Tom Tromey) yann@1: - fix loop unrolling (Richard Henderson) yann@1: yann@1: * Wed Jan 30 2002 Jakub Jelinek 3.1-0.19 yann@1: - update to CVS HEAD yann@1: - fix a reload bug on ia32 (#58579, #58648) yann@1: - issue error about unknown -W* options (#58909) yann@1: - fix ia64 libbfd miscompilation (#58694) yann@1: - register all pending unparsed_text structures with GC (#58647) yann@1: - fix __builtin_apply with ia32 -msse (#58447) yann@1: - prevent ia64 prologue insns saving regs required for eh from being yann@1: deleted (#58387) yann@1: yann@1: * Tue Jan 15 2002 Jakub Jelinek 3.1-0.18 yann@1: - update to CVS HEAD yann@1: - handle static x[] = { [X...Y] = (foo) { Z } } (#58338) yann@1: - fix getdents.os miscompilation (Richard Henderson, #58308) yann@1: - fix ICE in try_forward_edges (#58125) yann@1: - fix ICE with -fexceptions -foptimize-sibling-calls yann@1: yann@1: * Tue Jan 8 2002 Jakub Jelinek 3.1-0.17 yann@1: - avoid division by 0 when computing prediction probabilities (#57992) yann@1: - fix ICE due to store_expr not adjusting value back for mode yann@1: - increase -ftemplate-depth default value to 500 yann@1: yann@1: * Mon Jan 7 2002 Jakub Jelinek 3.1-0.16 yann@1: - if using PT_GNU_EH_FRAME registry, work around assembler bug resp. feature yann@1: and don't provide weak prototypes of functions which won't be used yann@1: - on Alpha, fix a typo so that crtbeginT.o is built and installed yann@1: - fix glibc inl-tester miscompilation on ia32 yann@1: yann@1: * Sun Jan 6 2002 Jakub Jelinek 3.1-0.15 yann@1: - update to CVS HEAD (fix glibc bootstrap failure) yann@1: yann@1: * Thu Jan 3 2002 Jakub Jelinek 3.1-0.14 yann@1: - update to CVS HEAD (#57907) yann@1: - fix alpha bootstrap (Richard Henderson) yann@1: - fix simplification of (div:SI (???:DI ???) (const_int 1)) yann@1: (#57916) yann@1: - add contrib/gcc_update --touch yann@1: yann@1: * Tue Jan 1 2002 Jakub Jelinek 3.1-0.13 yann@1: - update to CVS HEAD (fix glibc miscompilation on alpha) yann@1: - fix objc to not emit __objc_class_name_* without type and size yann@1: yann@1: * Mon Dec 31 2001 Jakub Jelinek 3.1-0.12 yann@1: - update to CVS HEAD yann@1: - fix sed commands for .la files yann@1: - make Alpha use PT_GNU_EH_FRAME yann@1: yann@1: * Thu Dec 27 2001 Jakub Jelinek 3.1-0.11 yann@1: - update to CVS HEAD (#57165, #57212, #57467, #57488, #57502, yann@1: #57505, #57574) yann@1: - readd .la files after fixing them up by sed yann@1: - add %%defattr(-,root,root) to libobjc subpackage yann@1: yann@1: * Mon Dec 3 2001 Jakub Jelinek 3.1-0.10 yann@1: - one more gcc.spec fix for passing --gdwarf-2 resp. --gstabs to as yann@1: - fix conditional register dead computation on IA-64 yann@1: - fix extern array of incomplete structures handling yann@1: - fix gcc -xc - yann@1: - fix Fortran ICEs with SAVE_EXPRs (Richard Kenner) yann@1: yann@1: * Tue Nov 27 2001 Jakub Jelinek 3.1-0.9 yann@1: - update to CVS HEAD yann@1: - make DWARF 2 preferred debugging format on Linux yann@1: yann@1: * Mon Nov 12 2001 Jakub Jelinek 3.1-0.8 yann@1: - don't ship .la files (#56072) yann@1: - include libfrtbegin.a (#56098) yann@1: yann@1: * Mon Nov 12 2001 Jakub Jelinek 3.1-0.7 yann@1: - update to CVS HEAD yann@1: - back out Nov 7th loop.c change for now yann@1: yann@1: * Fri Nov 9 2001 Jakub Jelinek 3.1-0.6 yann@1: - update to CVS HEAD yann@1: - frame unwind compatibility with 7.[12] binutils yann@1: yann@1: * Tue Nov 6 2001 Jakub Jelinek 3.1-0.5 yann@1: - update to CVS HEAD yann@1: - merge DW_EH_PE_indirect constants and their relocs yann@1: yann@1: * Thu Oct 25 2001 Jakub Jelinek 3.1-0.4 yann@1: - don't loop forever or ICE on bogus array initializers (#53704) yann@1: - fix store motion with pure calls yann@1: - disable store motion for now yann@1: yann@1: * Tue Oct 23 2001 Jakub Jelinek 3.1-0.3 yann@1: - fix inlining of C nested functions with auto prototypes yann@1: yann@1: * Mon Oct 22 2001 Jakub Jelinek 3.1-0.2 yann@1: - update to CVS HEAD yann@1: - tree inlining fix from Alexandre Oliva yann@1: - fix anonymous union ICE on alpha yann@1: yann@1: * Mon Oct 15 2001 Jakub Jelinek 3.1-0.1 yann@1: - switch package to main compiler from alternate compiler yann@1: - update to CVS HEAD yann@1: - early gcc-2.96-RH compatibility in __frame_state_for yann@1: - change weak function tests for functions always present in GLIBC 2.2 yann@1: into simple non-weak calls in crt*.o to avoid unnecessary symbol yann@1: lookups and prelink conflicts yann@1: - don't link against libgcc_s C shared libraries yann@1: yann@1: * Tue Oct 2 2001 Jakub Jelinek 3.0.1-4 yann@1: - update from CVS 3.0 branch yann@1: - ia64 function descriptors in vtables yann@1: - handle large files in Fortran (#53328) yann@1: - allow Java programs to be statically linked (#53605) yann@1: - remove #include_next patch, Benjamin commited it yann@1: yann@1: * Thu Sep 6 2001 Jakub Jelinek 3.0.1-3 yann@1: - don't use #include_next in headers (Benjamin Kosnik, #53262) yann@1: yann@1: * Wed Sep 5 2001 Jakub Jelinek 3.0.1-2 yann@1: - update from CVS 3.0 branch yann@1: - check all gcc-2.96-RH patches whether they have made it into 3.0.1, yann@1: and if not, whether they are appropriate for 3.0.1 yann@1: - 8 new patches yann@1: - add 36 testcases from gcc-2.96-RH yann@1: - fix ICE on very questionable C++ code from JDK (#39858, #52960) yann@1: - fix -frepo (Nathan Sidwell, #52877) yann@1: - avoid generating bogus .stabs (#49214) yann@1: - issue a clear error message about invalid ia32 floating point yann@1: asm constraints (#27137) yann@1: - fix some comment typos yann@1: - fix ADDRESSOF recognition (#29686) yann@1: yann@1: * Mon Aug 27 2001 Jakub Jelinek 3.0.1-1 yann@1: - update from CVS (3.0.1 final) yann@1: - properly handle throw() exception specifiers in template decls (#51824) yann@1: - fix IA-64 varargs handling in presence of additional anonymous arguments yann@1: (#50757) yann@1: - fix boehm-gc for prelink yann@1: - fix a typo in gcc3-c++ description (#52323) yann@1: - remove Chill from package summary (#51764) yann@1: yann@1: * Tue Aug 7 2001 Jakub Jelinek 3.0-6 yann@1: - update from CVS yann@1: - fix glibc vfprintf miscompilation yann@1: - don't warn about if (&foo) if foo is weak (H.J.Lu, #50855) yann@1: yann@1: * Wed Jul 25 2001 Jakub Jelinek 3.0-5 yann@1: - include libgcjgc.a in libgcj3-devel yann@1: - include libgcjgc.so.* in libgcj3 on ia64 yann@1: - remove dependency on libgcj on ia64 yann@1: - add ldconfig to libgcj3 post/postun yann@1: yann@1: * Tue Jul 24 2001 Jakub Jelinek 3.0-4 yann@1: - update from CVS yann@1: - make gcc3-java/libgcj3* packages, so that they can coexist yann@1: with 2.96-RH Java yann@1: - make sure shared Java libraries are built with proper dependencies yann@1: yann@1: * Wed Jul 11 2001 Jakub Jelinek 3.0-3 yann@1: - fix libgcc_s.so and libstdc++.so symlinks yann@1: - don't ship jar yann@1: yann@1: * Tue Jul 10 2001 Jakub Jelinek 3.0-2 yann@1: - move libstdc++.so into gcc-lib yann@1: - add libobjc.so symlink yann@1: yann@1: * Tue Jul 10 2001 Jakub Jelinek 3.0-1 yann@1: - new rpm