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