patches/gcc/3.2.3/README-mips
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     1 See also http://www.spinics.net/lists/mips/msg12236.html
     2 
     3 ftp://ftp.linux-mips.org/pub/linux/mips/redhat/7.3/test/SRPMS/gcc-3.2-7.1.src.rpm
     4 contains the following patches and spec file.
     5 You may wish to investigate some of these patches; I haven't.
     6 I think this is mostly the Red Hat 8.0 srpm for a prerelease gcc-3.2, plus a couple
     7 mips specific fixes, but you'd have to ask H.J.Lu or compare with the regular
     8 Red Hat 8.0 srpm to find out.
     9 In any case, the spec file is interesting reading.
    10 - Dan K. 
    11 
    12 total 1164
    13    4 boehm-gc-LINUX.patch
    14    4 boehm-gc-mips.patch
    15    4 contrib-touch.patch
    16    8 gcc-arch.patch
    17    4 gcc-c++-template.patch
    18    4 gcc-copy.patch
    19    4 gcc-cross-bfd.patch
    20    4 gcc-cross.patch
    21    4 gcc-gcj-cross.patch
    22    4 gcc-libffi-mips.patch
    23    4 gcc-libgcc.patch
    24  480 gcc-libstdc++-glibc-2.2.patch
    25    4 gcc-libstdc++-mips.patch
    26    4 gcc-linux-atexit.patch
    27    8 gcc-linux-crt.patch
    28    4 gcc-mips-coff.patch
    29    4 gcc-mips-file.patch
    30    4 gcc-mips-ieee.patch
    31    4 gcc-mips-return.patch
    32    4 gcc-ppc-linux.patch
    33    8 gcc-sizeof.patch
    34    4 gcc-test-atexit.patch
    35    4 gcc-testsuite-c++.patch
    36    4 gcc-var.patch
    37    8 gcc32-2.96-RH-compat.patch
    38    4 gcc32-ada-addr2line.patch
    39    8 gcc32-ada-link.patch
    40   12 gcc32-attr-visibility.patch
    41    4 gcc32-attr-visibility2.patch
    42    4 gcc32-attr-visibility3.patch
    43    4 gcc32-attr-visibility4.patch
    44    4 gcc32-attr-visibility5.patch
    45    8 gcc32-boehm-gc-libs.patch
    46    4 gcc32-bogus-inline.patch
    47    4 gcc32-c++-nrv-test.patch
    48    4 gcc32-c++-pretty_function.patch
    49   16 gcc32-c++-tail-pad-backout.patch
    50    4 gcc32-c++-tsubst-asm.patch
    51    4 gcc32-cfg-eh.patch
    52    4 gcc32-debug-pr7241.patch
    53    4 gcc32-doc-gcov.patch
    54    4 gcc32-duplicate-decl.patch
    55    4 gcc32-dwarf2-pr6381.patch
    56    4 gcc32-dwarf2-pr6436-test.patch
    57    4 gcc32-fde-merge-compat.patch
    58    4 gcc32-fold-const-associate.patch
    59    4 gcc32-fold-const2.patch
    60   24 gcc32-hard-reg-sharing.patch
    61    4 gcc32-hard-reg-sharing2.patch
    62    4 gcc32-i386-default-momit-leaf-frame-pointer.patch
    63    4 gcc32-i386-memtest-test.patch
    64    4 gcc32-i386-no-default-momit-leaf-frame-pointer.patch
    65    4 gcc32-i386-pic-label-thunk.patch
    66    4 gcc32-i386-pr7242.patch
    67    4 gcc32-i386-profile-olfp.patch
    68    4 gcc32-inline-label.patch
    69    4 gcc32-interface_only.patch
    70    4 gcc32-java-no-rpath.patch
    71   20 gcc32-libstdc++-glibc23-1.patch
    72    4 gcc32-libstdc++-glibc23-2.patch
    73    4 gcc32-libstdc++-glibc23-3.patch
    74    4 gcc32-libstdc++-glibc23-4.patch
    75    4 gcc32-loop-prefetch.patch
    76    4 gcc32-pr6842.patch
    77    8 gcc32-rh69989.patch
    78   40 gcc32-s390-java.patch
    79    4 gcc32-sparc-sll1.patch
    80    4 gcc32-test-rh65771.patch
    81    8 gcc32-test-rotate.patch
    82   12 gcc32-tls-dwarf2.patch
    83  140 gcc32-tls.patch
    84    4 gcc32-tls2.patch
    85    4 gcc32-tls3.patch
    86    4 gcc32-tls4.patch
    87    4 gcc32-tls5.patch
    88   24 gcc32-tree-code.patch
    89    4 gcc32-trunc_int_for_mode.patch
    90    4 gcc32-typeof-asm.patch
    91    4 gcc32-x86_64-libiberty-pic.patch
    92    4 gcc32-x86_64-pr7559.patch
    93    4 gcc32-x86_64-q_regs_operand.patch
    94    4 gcc32-x86_64-rip-lowercase.patch
    95    4 libjava-cross.patch
    96    4 libtool-libs.patch
    97    4 libtool-mips.patch
    98 
    99 ---------- gcc32.spec ---------
   100 
   101 %if %{_arch} != %{_build_arch}
   102 %define cross_compile 1
   103 %else
   104 %define cross_compile 0
   105 %endif
   106 %{?_with_crosscompile: %{expand: %%define cross_compile 1}}
   107 
   108 %if %{cross_compile}
   109 %define make_check 0
   110 %else
   111 %define make_check 1
   112 %endif
   113 %{?_without_check: %{expand: %%define make_check 0}}
   114 %{?_with_check: %{expand: %%define make_check 1}}
   115 
   116 %define default 0
   117 %{?_with_default: %{expand: %%define default 1}}
   118 
   119 %define gcconly 0
   120 %{?_with_gcconly: %{expand: %%define gcconly 1}}
   121 
   122 %define DATE 20020903
   123 %define gcc_version 3.2
   124 %define gcc_release 7.1
   125 %ifarch %{ix86} alpha ia64 ppc
   126 %define build_ada 1
   127 %else
   128 %define build_ada 0
   129 %endif
   130 %{?_without_ada: %{expand: %%define build_ada 0}}
   131 %if %{cross_compile}
   132 %define build_ada 0
   133 %endif
   134 Summary: Various compilers (C, C++, Objective-C, Java, ...)
   135 %if !%{gcconly}
   136 Name: gcc
   137 Version: 3.2
   138 Release: %{gcc_release}
   139 %else
   140 Name: gcc-%{gcc_version}
   141 Version: %{gcc_release}
   142 Release: 1
   143 %endif
   144 Copyright: GPL
   145 Group: Development/Languages
   146 Source0: gcc-%{version}-%{DATE}.tar.bz2
   147 URL: http://gcc.gnu.org
   148 BuildRoot: %{_tmppath}/%{name}-%{version}-root
   149 BuildRequires: binutils >= 2.12.90.0.9-1
   150 BuildRequires: zlib-devel, gettext, dejagnu
   151 # Make sure pthread.h doesn't contain __thread tokens
   152 BuildRequires: glibc-devel >= 2.2.5-36.2
   153 %if %{build_ada}
   154 # Ada requires Ada to build
   155 BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
   156 %endif
   157 Requires: cpp = %{version}-%{release}
   158 # Need .eh_frame ld optimizations
   159 # Need proper visibility support
   160 Requires: binutils >= 2.12.90.0.7-1
   161 # Make sure gdb will understand DW_FORM_strp
   162 Conflicts: gdb < 5.1-2
   163 Requires: glibc-devel >= 2.2.5-36.2
   164 Requires: libgcc >= %{version}-%{release}
   165 %if !%{gcconly}
   166 Obsoletes: gcc3
   167 %endif
   168 Prereq: /sbin/install-info
   169 
   170 Patch1: gcc32-2.96-RH-compat.patch
   171 Patch2: gcc32-boehm-gc-libs.patch
   172 Patch3: gcc32-bogus-inline.patch
   173 Patch6: gcc32-fde-merge-compat.patch
   174 Patch7: gcc32-attr-visibility.patch
   175 Patch8: gcc32-attr-visibility2.patch
   176 Patch9: gcc32-duplicate-decl.patch
   177 Patch10: gcc32-trunc_int_for_mode.patch
   178 Patch11: gcc32-sparc-sll1.patch
   179 Patch12: gcc32-x86_64-q_regs_operand.patch
   180 Patch13: gcc32-dwarf2-pr6381.patch
   181 Patch14: gcc32-dwarf2-pr6436-test.patch
   182 Patch15: gcc32-c++-pretty_function.patch
   183 Patch16: gcc32-c++-tsubst-asm.patch
   184 Patch18: gcc32-i386-memtest-test.patch
   185 Patch19: gcc32-fold-const2.patch
   186 Patch21: gcc32-ada-addr2line.patch
   187 Patch22: gcc32-ada-link.patch
   188 Patch23: gcc32-java-no-rpath.patch
   189 Patch25: gcc32-s390-java.patch
   190 Patch26: gcc32-test-rotate.patch
   191 Patch27: gcc32-x86_64-libiberty-pic.patch
   192 Patch29: gcc32-test-rh65771.patch
   193 Patch30: gcc32-i386-default-momit-leaf-frame-pointer.patch
   194 Patch31: gcc32-i386-pic-label-thunk.patch
   195 Patch34: gcc32-pr6842.patch
   196 Patch35: gcc32-tls.patch
   197 Patch36: gcc32-i386-profile-olfp.patch
   198 Patch37: gcc32-tree-code.patch
   199 Patch38: gcc32-hard-reg-sharing.patch
   200 Patch39: gcc32-hard-reg-sharing2.patch
   201 Patch40: gcc32-c++-nrv-test.patch
   202 Patch41: gcc32-debug-pr7241.patch
   203 Patch42: gcc32-i386-pr7242.patch
   204 Patch43: gcc32-cfg-eh.patch
   205 Patch44: gcc32-attr-visibility3.patch
   206 Patch45: gcc32-tls2.patch
   207 Patch46: gcc32-fold-const-associate.patch
   208 Patch47: gcc32-inline-label.patch
   209 Patch48: gcc32-typeof-asm.patch
   210 Patch50: gcc32-rh69989.patch
   211 Patch51: gcc32-tls3.patch
   212 Patch52: gcc32-tls4.patch
   213 Patch54: gcc32-tls5.patch
   214 Patch55: gcc32-tls-dwarf2.patch
   215 Patch56: gcc32-x86_64-pr7559.patch
   216 Patch57: gcc32-loop-prefetch.patch
   217 Patch58: gcc32-doc-gcov.patch
   218 Patch59: gcc32-attr-visibility4.patch
   219 Patch60: gcc32-c++-tail-pad-backout.patch
   220 Patch61: gcc32-attr-visibility5.patch
   221 Patch62: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
   222 Patch64: gcc32-x86_64-rip-lowercase.patch
   223 Patch65: gcc32-libstdc++-glibc23-1.patch
   224 Patch66: gcc32-libstdc++-glibc23-2.patch
   225 Patch67: gcc32-libstdc++-glibc23-3.patch
   226 Patch68: gcc32-libstdc++-glibc23-4.patch
   227 Patch69: gcc32-interface_only.patch
   228 
   229 %define _gnu %{nil}
   230 
   231 Patch10000: boehm-gc-mips.patch
   232 Patch10001: boehm-gc-LINUX.patch
   233 Patch10002: gcc-libffi-mips.patch
   234 
   235 Patch11000: gcc-mips-coff.patch
   236 Patch11001: gcc-mips-file.patch
   237 Patch11002: gcc-mips-ieee.patch
   238 Patch11003: gcc-mips-return.patch
   239 Patch11004: gcc-libstdc++-mips.patch
   240 Patch11005: libtool-mips.patch
   241 
   242 Patch12000: gcc-libgcc.patch
   243 
   244 Patch13000: gcc-ppc-linux.patch
   245 Patch13001: gcc-linux-crt.patch
   246 
   247 Patch14000: gcc-linux-atexit.patch
   248 Patch14001: gcc-test-atexit.patch
   249 
   250 Patch15000: gcc-var.patch
   251 Patch15001: gcc-copy.patch
   252 
   253 Patch16000: gcc-c++-template.patch
   254 Patch16001: gcc-testsuite-c++.patch
   255 
   256 Patch17000: gcc-cross.patch
   257 Patch17001: gcc-cross-bfd.patch
   258 Patch17002: gcc-sizeof.patch
   259 Patch17003: gcc-arch.patch
   260 
   261 Patch18000: libjava-cross.patch
   262 Patch18001: gcc-gcj-cross.patch
   263 
   264 Patch19000: contrib-touch.patch
   265 
   266 Patch20000: libtool-libs.patch
   267 
   268 Patch21000: gcc-libstdc++-glibc-2.2.patch
   269 
   270 %description
   271 The gcc package contains the GNU Compiler Collection version 3.2.
   272 You'll need this package in order to compile C code.
   273 
   274 %package -n libgcc
   275 Summary: GCC version 3.2 shared support library
   276 Group: System Environment/Libraries
   277 
   278 %description -n libgcc
   279 This package contains GCC shared support library which is needed
   280 e.g. for exception handling support.
   281 
   282 %package c++
   283 Summary: C++ support for GCC
   284 Group: Development/Languages
   285 Requires: gcc = %{version}-%{release}
   286 Requires: libstdc++ = %{version}
   287 Requires: libstdc++-devel = %{version}
   288 Obsoletes: gcc3-c++
   289 
   290 %description c++
   291 This package adds C++ support to the GNU Compiler Collection.
   292 It includes support for most of the current C++ specification,
   293 including templates and exception handling.
   294 
   295 %package -n libstdc++
   296 Summary: GNU Standard C++ Library
   297 Group: System Environment/Libraries
   298 Obsoletes: libstdc++3
   299 
   300 %description -n libstdc++
   301 The libstdc++ package contains a rewritten standard compliant GCC Standard
   302 C++ Library.
   303 
   304 %package -n libstdc++-devel
   305 Summary: Header files and libraries for C++ development
   306 Group: Development/Libraries
   307 Requires: libstdc++ = %{version}-%{release}
   308 Obsoletes: libstdc++3-devel
   309 
   310 %description -n libstdc++-devel
   311 This is the GNU implementation of the standard C++ libraries.  This
   312 package includes the header files and libraries needed for C++
   313 development. This includes rewritten implementation of STL.
   314 
   315 %package objc
   316 Summary: Objective-C support for GCC
   317 Group: Development/Languages
   318 Requires: gcc = %{version}-%{release}
   319 Requires: libobjc = %{version}-%{release}
   320 Obsoletes: gcc3-objc
   321 
   322 %description objc
   323 gcc-objc provides Objective-C support for the GCC.
   324 Mainly used on systems running NeXTSTEP, Objective-C is an
   325 object-oriented derivative of the C language.
   326 
   327 %package -n libobjc
   328 Summary: Objective-C runtime
   329 Group: System Environment/Libraries
   330 
   331 %description -n libobjc
   332 This package contains Objective-C shared library which is needed to run
   333 Objective-C dynamically linked programs.
   334 
   335 %package g77
   336 Summary: Fortran 77 support
   337 Group: Development/Languages
   338 Requires: gcc = %{version}-%{release}
   339 Requires: libf2c = %{version}-%{release}
   340 Prereq: /sbin/install-info
   341 Obsoletes: gcc3-g77
   342 
   343 %description g77
   344 The gcc-g77 package provides support for compiling Fortran 77
   345 programs with the GNU Compiler Collection.
   346 
   347 %package -n libf2c
   348 Summary: Fortran 77 runtime
   349 Group: System Environment/Libraries
   350 
   351 %description -n libf2c
   352 This package contains Fortran 77 shared library which is needed to run
   353 Fortran 77 dynamically linked programs.
   354 
   355 %package java
   356 Summary: Java support for GCC
   357 Group: Development/Languages
   358 Requires: gcc = %{version}-%{release}
   359 Requires: libgcj >= %{version}, libgcj-devel >= %{version}
   360 Obsoletes: gcc3-java
   361 Prereq: /sbin/install-info
   362 
   363 %description java
   364 This package adds support for compiling Java(tm) programs and
   365 bytecode into native code.
   366 
   367 %package -n libgcj
   368 Summary: Java runtime library for gcc
   369 Group: System Environment/Libraries
   370 Requires: zip >= 2.1
   371 Obsoletes: gcc-libgcj
   372 Obsoletes: libgcj3
   373 # Kaffe includes jar too
   374 Conflicts: kaffe
   375 
   376 %description -n libgcj
   377 The Java(tm) runtime library. You will need this package to run your Java
   378 programs compiled using the Java compiler from GNU Compiler Collection (gcj).
   379 
   380 %package -n libgcj-devel
   381 Summary: Libraries for Java development using GCC
   382 Group: Development/Languages
   383 Requires: zip >= 2.1, libgcj = %{version}
   384 Obsoletes: libgcj3-devel
   385 
   386 %description -n libgcj-devel
   387 The Java(tm) static libraries and C header files. You will need this
   388 package to compile your Java programs using the GCC Java compiler (gcj).
   389 
   390 %package -n cpp
   391 Summary: The C Preprocessor.
   392 Group: Development/Languages
   393 Prereq: /sbin/install-info
   394 %ifarch ia64
   395 Obsoletes: gnupro
   396 %endif
   397 
   398 %description -n cpp
   399 Cpp is the GNU C-Compatible Compiler Preprocessor.
   400 Cpp is a macro processor which is used automatically
   401 by the C compiler to transform your program before actual
   402 compilation. It is called a macro processor because it allows
   403 you to define macros, abbreviations for longer
   404 constructs.
   405 
   406 The C preprocessor provides four separate functionalities: the
   407 inclusion of header files (files of declarations that can be
   408 substituted into your program); macro expansion (you can define macros,
   409 and the C preprocessor will replace the macros with their definitions
   410 throughout the program); conditional compilation (using special
   411 preprocessing directives, you can include or exclude parts of the
   412 program according to various conditions); and line control (if you use
   413 a program to combine or rearrange source files into an intermediate
   414 file which is then compiled, you can use line control to inform the
   415 compiler about where each source line originated).
   416 
   417 You should install this package if you are a C programmer and you use
   418 macros.
   419 
   420 %package gnat
   421 Summary: Ada 95 support for GCC
   422 Group: Development/Languages
   423 Requires: gcc = %{version}-%{release}, libgnat = %{version}-%{release}
   424 Obsoletes: gnat-devel, gcc3-gnat
   425 Prereq: /sbin/install-info
   426 
   427 %description gnat
   428 GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools,
   429 the documents and Ada 95 compiler.
   430 
   431 %package -n libgnat
   432 Summary: GNU Ada 95 runtime shared libraries
   433 Group: System Environment/Libraries
   434 Obsoletes: gnat libgnat3
   435 
   436 %description -n libgnat
   437 GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries,
   438 which are required to run programs compiled with the GNAT.
   439 
   440 %prep
   441 %setup -q -n gcc-%{version}-%{DATE}
   442 %patch1 -p0 -b .2.96-RH-compat~
   443 %patch2 -p0 -b .boehm-gc-libs~
   444 %patch3 -p0 -b .bogus-inline~
   445 %patch6 -p0 -b .fde-merge-compat~
   446 %patch7 -p0 -b .attr-visibility~
   447 %patch8 -p0 -b .attr-visibility2~
   448 %patch9 -p0 -b .duplicate-decl~
   449 %patch10 -p0 -b .trunc_int_for_mode~
   450 %patch11 -p0 -b .sparc-sll1~
   451 %patch12 -p0 -b .x86_64-q_regs_operand~
   452 %patch13 -p0 -b .dwarf2-pr6381~
   453 %patch14 -p0 -b .dwarf2-pr6436-test~
   454 %patch15 -p0 -b .c++-pretty_function~
   455 %patch16 -p0 -b .c++-tsubst-asm~
   456 %patch18 -p0 -b .i386-memtest-test~
   457 %patch19 -p0 -b .fold-const2~
   458 %patch21 -p0 -b .ada-addr2line~
   459 %patch22 -p0 -b .ada-link~
   460 %patch23 -p0 -b .java-no-rpath~
   461 %patch25 -p0 -b .s390-java~
   462 %patch26 -p0 -b .test-rotate~
   463 %patch27 -p0 -b .x86_64-libiberty-pic~
   464 %patch29 -p0 -b .test-rh65771~
   465 %patch30 -p0 -b .i386-default-momit-leaf-frame-pointer~
   466 %patch31 -p0 -b .i386-pic-label-thunk~
   467 %patch34 -p0 -b .pr6842~
   468 %patch35 -p0 -b .tls~
   469 %patch36 -p0 -b .i386-profile-olfp~
   470 %patch37 -p0 -b .tree-code~
   471 %patch38 -p0 -b .hard-reg-sharing~
   472 %patch39 -p0 -b .hard-reg-sharing2~
   473 %patch40 -p0 -b .c++-nrv-test~
   474 %patch41 -p0 -b .debug-pr7241~
   475 %patch42 -p0 -b .i386-pr7242~
   476 %patch43 -p0 -b .cfg-eh~
   477 %patch44 -p0 -b .attr-visibility3~
   478 %patch45 -p0 -b .tls2~
   479 %patch46 -p0 -b .fold-const-associate~
   480 %patch47 -p0 -b .inline-label~
   481 %patch48 -p0 -b .typeof-asm~
   482 %patch50 -p0 -b .rh69989~
   483 %patch51 -p0 -b .tls3~
   484 %patch52 -p0 -b .tls4~
   485 %patch54 -p0 -b .tls5~
   486 %patch55 -p0 -b .tls-dwarf2~
   487 %patch56 -p0 -b .x86_64-pr7559~
   488 %patch57 -p0 -b .loop-prefetch~
   489 %patch58 -p0 -b .doc-gcov~
   490 %patch59 -p0 -b .attr-visibility4~
   491 %patch60 -p0 -b .c++-tail-pad-backout~
   492 %patch61 -p0 -b .attr-visibility5~
   493 %patch62 -p0 -b .i386-no-default-momit-leaf-frame-pointer~
   494 %patch64 -p0 -b .x86_64-rip-lowercase~
   495 %patch65 -p0 -b .libstdc++-glibc23-1~
   496 %patch66 -p0 -b .libstdc++-glibc23-2~
   497 %patch67 -p0 -b .libstdc++-glibc23-3~
   498 %patch68 -p0 -b .libstdc++-glibc23-4~
   499 %patch69 -p0 -b .interface_only
   500 
   501 %patch10000 -p0 -b .mips
   502 %patch10001 -p0 -b .LINUX
   503 %patch10002 -p0 -b .mips
   504 pushd boehm-gc
   505 autoconf
   506 popd
   507 pushd libffi
   508 autoconf
   509 # Ignore the error from automake
   510 automake --cygnus Makefile || :
   511 popd
   512 
   513 %patch11000 -p0 -b .coff
   514 %patch11001 -p0 -b .file
   515 %patch11002 -p0 -b .ieee
   516 %patch11003 -p0 -b .return
   517 %patch11004 -p0 -b .mips
   518 %patch11005 -p1 -b .mips
   519 
   520 %patch12000 -p0 -b .libgcc
   521 
   522 %patch13000 -p0 -b .ppc
   523 %patch13001 -p0 -b .crt
   524 
   525 %patch14000 -p0 -b .order
   526 %patch14001 -p0 -b .order
   527 
   528 %patch15000 -p0 -b .var
   529 %patch15001 -p0 -b .copy
   530 
   531 %patch16000 -p0 -b .template
   532 %patch16001 -p0 -b .template
   533 
   534 %patch17000 -p1 -b .cross
   535 %patch17001 -p0 -b .cross-bfd
   536 %patch17002 -p1 -b .sizeof
   537 %patch17003 -p0 -b .arch
   538 pushd gcc
   539 autoheader
   540 autoconf
   541 popd
   542 pushd fastjar
   543 aclocal
   544 autoconf
   545 popd
   546 pushd libffi
   547 aclocal
   548 autoconf
   549 popd
   550 
   551 %patch18000 -p0 -b .cross
   552 %patch18001 -p0 -b .build
   553 pushd libjava
   554 autoconf
   555 automake --foreign Makefile
   556 popd
   557 
   558 %patch19000 -p0 -b .touch
   559 
   560 %patch20000 -p0 -b .libs
   561 
   562 %patch21000 -p0 -b .glibc-2.2
   563 pushd libstdc++-v3
   564 autoconf
   565 popd
   566 
   567 perl -pi -e 's/3\.2\.1/3.2/' gcc/version.c gcc/f/version.c gcc/ada/gnatvsn.ads
   568 perl -pi -e 's/"%{gcc_version}"/"%{gcc_version} \(release\)"/' gcc/version.c
   569 perl -pi -e 's/\((prerelease|experimental|release)\)/\(Red Hat Linux 8.0 %{version}-%{gcc_release}\)/' gcc/version.c gcc/f/version.c
   570 perl -pi -e 's/\((prerelease|experimental|release)\)/\(%{version}-%{gcc_release}\)/' gcc/ada/gnatvsn.ads
   571 perl -pi -e 's/#define GCCBUGURL.*$/#define GCCBUGURL "<URL:http:\/\/bugzilla.redhat.com\/bugzilla\/>"/' gcc/system.h
   572 # The version string is now longer than 32 bytes and the line containing it
   573 # doesn't fit into 80 columns
   574 #perl -pi -e 's/:= 32/:= 64/;s/(Gnat_Version_String.*:=)/\1\n    /' gcc/ada/gnatvsn.ads
   575 
   576 ./contrib/gcc_update --touch
   577 
   578 %build
   579 rm -fr obj-%{_target_platform}
   580 mkdir obj-%{_target_platform}
   581 cd obj-%{_target_platform}
   582 
   583 %if %{_arch} != %{_build_arch}
   584 %ifos linux
   585 export ac_cv_func_mmap_anywhere=yes
   586 export ac_cv_func_mmap_file=yes
   587 export ac_cv_func_mmap_fixed_mapped=yes
   588 export ac_cv_func_strncmp_works=yes
   589 export gcc_cv_func_printf_ptr=yes
   590 %endif
   591 %endif
   592 
   593 DEFAULT_FLAGS=
   594 %if %{default}
   595 %ifarch %{ix86}
   596 TARGET_CPU="%{_target_cpu}"
   597 DEFAULT_FLAGS="--with-arch=$TARGET_CPU --with-cpu=$TARGET_CPU"
   598 %endif
   599 %endif
   600 
   601 CC=%{__cc}
   602 OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'`
   603 CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
   604 	../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
   605 	--enable-shared --enable-threads=posix --disable-checking --host=%{_target_platform} \
   606 	$DEFAULT_FLAGS \
   607 %if %{cross_compile}
   608 	--target=%{_target_platform} --build=%{_build_alias} \
   609 %endif
   610 	--with-system-zlib --enable-__cxa_atexit
   611 
   612 # We have to make sure all gcc configure files are up to date for
   613 # parallel build. We have to do it twice due to the stupid Makefile.
   614 make -C gcc cstamp-h
   615 make -C gcc cstamp-h
   616 
   617 # if RPM_BUILD_NCPUS unset, set it
   618 if [ -z "$RPM_BUILD_NCPUS" ] ; then
   619   if [ -x /usr/bin/getconf ] ; then
   620     RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
   621     if [ $RPM_BUILD_NCPUS -eq 0 ]; then
   622       RPM_BUILD_NCPUS=1
   623     fi
   624   else
   625     RPM_BUILD_NCPUS=1
   626   fi
   627 fi
   628 
   629 RPM_BUILD_NCPUS=`expr $RPM_BUILD_NCPUS + $RPM_BUILD_NCPUS`
   630 
   631 cat <<EOF > makefile
   632 MAKE=make -j $RPM_BUILD_NCPUS
   633 include Makefile
   634 CFLAGS:=\$(CFLAGS) -pipe
   635 CXXFLAGS:=\$(CXXFLAGS) -pipe
   636 EOF
   637 
   638 # FIXME: It is a kludge.
   639 export GCJFLAGS="$OPT_FLAGS"
   640 
   641 %if %{cross_compile}
   642 make -j$RPM_BUILD_NCPUS \
   643 	CC=%{__cc} \
   644 	CXX=%{__cxx} \
   645 	AR=%{__ar} \
   646 	AS=%{__as} \
   647 	LD=%{__ld} \
   648 	NM=%{__nm} \
   649 	RANLIB=%{__ranlib} \
   650 	CC_FOR_TARGET=%{__cc} \
   651 	GCC_FOR_TARGET=%{__cc} \
   652 	CXX_FOR_TARGET=%{__cxx} \
   653 	AR_FOR_TARGET=%{__ar} \
   654 	AS_FOR_TARGET=%{__as} \
   655 	LD_FOR_TARGET=%{__ld} \
   656 	NM_FOR_TARGET=%{__nm} \
   657 	RANLIB_FOR_TARGET=%{__ranlib} \
   658 	HOST_CC=cc \
   659 	CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \
   660 	CFLAGS_FOR_BUILD="-O -pipe" \
   661 	CFLAGS="$RPM_OPT_FLAGS -pipe" \
   662 	CXXFLAGS="$RPM_OPT_FLAGS -pipe"
   663 %else
   664 make -j$RPM_BUILD_NCPUS bootstrap-lean
   665 #make -j$RPM_BUILD_NCPUS bootstrap
   666 %endif
   667 
   668 %if %{build_ada}
   669 # This doesn't work with -j$RPM_BUILD_NCPUS
   670 make -C gcc gnatlib-shared
   671 make -C gcc gnattools
   672 make -C gcc/ada doc
   673 %endif
   674 
   675 %if %{make_check}
   676 # run the tests.
   677 make -j$RPM_BUILD_NCPUS -k check || :
   678 %ifarch %{ix86}
   679 ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform}
   680 ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform}-gnu
   681 %endif
   682 echo ====================TESTING=========================
   683 ( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
   684 %ifarch %{ix86}
   685 make -C %{_target_platform}/libstdc++-v3 check-abi
   686 %endif
   687 echo ====================TESTING END=====================
   688 #cd %{_target_platform}/libstdc++-v3
   689 #./mkcheck 0
   690 #cd ../..
   691 %endif
   692 
   693 %if !%{cross_compile}
   694 # Make protoize
   695 make -C gcc CC="./xgcc -B ./ -O2" proto
   696 %endif
   697 
   698 # Make generated man pages even if Pod::Man is not new enough
   699 perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
   700 for i in ../gcc/doc/*.texi; do
   701   cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
   702 done
   703 make -C gcc generated-manpages
   704 for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
   705 
   706 # Copy various doc files here and there
   707 cd ..
   708 mkdir -p rpm.doc/g77 rpm.doc/objc
   709 mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
   710 
   711 (cd gcc/f; for i in ChangeLog*; do
   712 	cp -p $i ../../rpm.doc/g77/$i.f
   713 done)
   714 (cd libf2c; for i in ChangeLog*; do
   715 	cp -p $i ../rpm.doc/g77/$i.libf2c
   716 done)
   717 (cd gcc/objc; for i in README*; do
   718 	cp -p $i ../../rpm.doc/objc/$i.objc
   719 done)
   720 (cd libobjc; for i in README*; do
   721 	cp -p $i ../rpm.doc/objc/$i.libobjc
   722 done)
   723 (cd boehm-gc; for i in ChangeLog*; do
   724 	cp -p $i ../rpm.doc/boehm-gc/$i.gc
   725 done)
   726 (cd fastjar; for i in ChangeLog* README*; do
   727 	cp -p $i ../rpm.doc/fastjar/$i.fastjar
   728 done)
   729 (cd libffi; for i in ChangeLog* README* LICENSE; do
   730 	cp -p $i ../rpm.doc/libffi/$i.libffi
   731 done)
   732 (cd libjava; for i in ChangeLog* README*; do
   733 	cp -p $i ../rpm.doc/libjava/$i.libjava
   734 done)
   735 
   736 %install
   737 rm -fr $RPM_BUILD_ROOT
   738 
   739 perl -pi -e \
   740   's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
   741   libstdc++-v3/docs/html/documentation.html
   742 ln -sf documentation.html libstdc++-v3/docs/html/index.html
   743 find libstdc++-v3/docs/html -name CVS | xargs rm -rf
   744 
   745 cd obj-%{_target_platform}
   746 TARGET_PLATFORM=%{_target_platform}
   747 
   748 # There are some MP bugs in libstdc++ and libjava Makefiles
   749 make -C %{_target_platform}/libstdc++-v3
   750 make -C %{_target_platform}/libjava
   751 
   752 make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \
   753 %if %{cross_compile}
   754 	CC=%{__cc} \
   755 	CXX=%{__cxx} \
   756 	AR=%{__ar} \
   757 	AS=%{__as} \
   758 	LD=%{__ld} \
   759 	NM=%{__nm} \
   760 	RANLIB=%{__ranlib} \
   761 	CC_FOR_TARGET=%{__cc} \
   762 	GCC_FOR_TARGET=%{__cc} \
   763 	CXX_FOR_TARGET=%{__cxx} \
   764 	AR_FOR_TARGET=%{__ar} \
   765 	AS_FOR_TARGET=%{__as} \
   766 	LD_FOR_TARGET=%{__ld} \
   767 	NM_FOR_TARGET=%{__nm} \
   768 	RANLIB_FOR_TARGET=%{__ranlib} \
   769 	HOST_CC=cc \
   770 	CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \
   771 	CFLAGS_FOR_BUILD="-O -pipe" \
   772 	CFLAGS="$RPM_OPT_FLAGS -pipe" \
   773 	CXXFLAGS="$RPM_OPT_FLAGS -pipe" \
   774 %endif
   775   infodir=$RPM_BUILD_ROOT%{_infodir} install
   776 %if %{build_ada}
   777 pushd gcc/ada
   778 cp -a gnat-style.info* gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}/
   779 for i in gnat_ug_unx.info*; do
   780   sed 's/gnat_ug_unx/gnat_ug/g' $i > $RPM_BUILD_ROOT%{_infodir}/`echo $i | sed 's/gnat_ug_unx/gnat_ug/'`
   781 done
   782 chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
   783 popd
   784 %endif
   785 
   786 FULLPATH=$(dirname $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1)
   787 
   788 file $RPM_BUILD_ROOT/%{_prefix}/bin/* | grep ELF | cut -d':' -f1 | xargs %{__strip} || :
   789 %{__strip} $FULLPATH/{cc1,cc1obj,cc1plus,cpp0,tradcpp0,f771,jc1,jvgenmain}
   790 
   791 # fix some things
   792 ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc
   793 mkdir -p $RPM_BUILD_ROOT/lib
   794 ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp
   795 ln -sf g77 $RPM_BUILD_ROOT%{_prefix}/bin/f77
   796 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
   797 gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info*
   798 ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc
   799 
   800 mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.*a $FULLPATH/
   801 sed 's/-lgcjgc//g;s/-lzgcj//g;s/-lpthread//g' $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec > $FULLPATH/libgcj.spec
   802 mv $RPM_BUILD_ROOT%{_prefix}/include/gc*.h $FULLPATH/include/
   803 mv $RPM_BUILD_ROOT%{_prefix}/include/j*.h $FULLPATH/include/
   804 mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu,org} $FULLPATH/include/
   805 mkdir -p $FULLPATH/include/gcj
   806 mv -f $RPM_BUILD_ROOT%{_prefix}/include/gcj/* $FULLPATH/include/gcj/
   807 rmdir $RPM_BUILD_ROOT%{_prefix}/include/gcj
   808 
   809 mkdir -p $RPM_BUILD_ROOT/%{_lib}
   810 mv -f `find $RPM_BUILD_ROOT%{_prefix}/lib -name libgcc_s.so.1` $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
   811 chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
   812 ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
   813 ln -sf ../../%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so
   814 #ln -sf `echo "%{_prefix}" | sed 's~/[^/]*~\.\./~g'`../%{_lib}/libgcc_s.so.1 \
   815 #  $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so
   816 #mv -f $FULLPATH/libobjc.so.1* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
   817 %if %{build_ada}
   818 mv -f $FULLPATH/adalib/libgnarl-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
   819 mv -f $FULLPATH/adalib/libgnat-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
   820 rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
   821 %endif
   822 pushd $FULLPATH
   823 if [ "%{_lib}" = "lib" ]; then
   824 ln -sf ../../../libobjc.so.1 libobjc.so
   825 ln -sf ../../../libstdc++.so.5.* libstdc++.so
   826 ln -sf ../../../libgcj.so.3.* libgcj.so
   827 ln -sf ../../../libg2c.so.0.* libg2c.so
   828 %if %{build_ada}
   829 cd adalib
   830 ln -sf ../../../../libgnarl-*.so.* libgnarl.so
   831 ln -sf ../../../../libgnat-*.so.* libgnat.so
   832 cd ..
   833 %endif
   834 else
   835 ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so
   836 ln -sf ../../../../%{_lib}/libstdc++.so.5.* libstdc++.so
   837 ln -sf ../../../../%{_lib}/libgcj.so.3.* libgcj.so
   838 ln -sf ../../../../%{_lib}/libg2c.so.0.* libg2c.so
   839 %if %{build_ada}
   840 cd adalib
   841 ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so
   842 ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so
   843 cd ..
   844 %endif
   845 fi
   846 mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libstdc++.*a .
   847 mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a .
   848 mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.*a .
   849 mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libfrtbegin.*a .
   850 mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a .
   851 # Strip debug info from Fortran/ObjC/Java static libraries
   852 %{__strip} -g libg2c.a libobjc.a libgcj.a
   853 # Fix up .la files
   854 for i in *.la; do
   855   sed -e '/^libdir/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \
   856       -e '/^dependency_libs/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \
   857       -e '/^dependency_libs/s~'\''$~ '\''~' \
   858       -e '/^dependency_libs/s~[ 	][ 	]*~ ~g' \
   859       -e '/^dependency_libs/s~-L[^ ]* ~~g' \
   860       -e '/^dependency_libs/s~-lgcc_s -lgcc -lc -lgcc_s -lgcc ~~g' \
   861       -e '/^dependency_libs/s~-lgcc -lc -lgcc ~~g' \
   862       -e '/^dependency_libs/s~-lc ~~g' \
   863       -e '/^dependency_libs/s~-lm \(-lm \)*~-lm ~g' \
   864       $i > $i.tmp
   865   mv -f $i.tmp $i
   866 done
   867 popd
   868 chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.so.0.*
   869 chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.so.1.*
   870 %if %{build_ada}
   871 chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnarl*so*
   872 chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnat*so*
   873 %endif
   874 
   875 cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF"
   876 #!/bin/sh
   877 fl="-std=c89"
   878 for opt; do
   879   case "$opt" in
   880     -ansi|-std=c89|-std=iso9899:1990) fl="";;
   881     -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
   882 	    exit 1;;
   883   esac
   884 done
   885 exec %{_prefix}/bin/gcc $fl ${1+"$@"}
   886 EOF
   887 cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF"
   888 #!/bin/sh
   889 fl="-std=c99"
   890 for opt; do
   891   case "$opt" in
   892     -std=c99|-std=iso9899:1999) fl="";;
   893     -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
   894 	    exit 1;;
   895   esac
   896 done
   897 exec %{_prefix}/bin/gcc $fl ${1+"$@"}
   898 EOF
   899 chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9
   900 
   901 cd ..
   902 %find_lang %{name}
   903 
   904 %if %{cross_compile}
   905 # Install syslimits.h for canadian cross compile.
   906 pushd $RPM_BUILD_DIR/gcc-%{gcc_version}-%{DATE}/obj-%{_target_platform}
   907 cp -af ../gcc/gsyslimits.h $FULLPATH/include/syslimits.h
   908 # Fix the specs file.
   909 cat gcc/specs |
   910 awk '
   911 BEGIN {
   912   cross=0;
   913 }
   914 /cross_compile/ { print; cross = 1; next; }
   915 /^1$/ {
   916   if (cross == 0) {
   917     print;
   918   }
   919   else {
   920     cross = 0;
   921     print "0";
   922   }
   923   next;
   924 }
   925 { print; }
   926 ' > $FULLPATH/specs
   927 popd
   928 %endif
   929 
   930 %clean
   931 rm -rf $RPM_BUILD_ROOT
   932 
   933 %post
   934 /sbin/install-info \
   935   --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
   936 
   937 %preun
   938 if [ $1 = 0 ]; then
   939   /sbin/install-info --delete \
   940     --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
   941 fi
   942 
   943 %post -n cpp
   944 /sbin/install-info \
   945   --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
   946 
   947 %preun -n cpp
   948 if [ $1 = 0 ]; then
   949   /sbin/install-info --delete \
   950     --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
   951 fi
   952 
   953 %post g77
   954 /sbin/install-info \
   955   --info-dir=%{_infodir} %{_infodir}/g77.info.gz
   956 
   957 %preun g77
   958 if [ $1 = 0 ]; then
   959   /sbin/install-info --delete \
   960     --info-dir=%{_infodir} %{_infodir}/g77.info.gz
   961 fi
   962 
   963 %post java
   964 /sbin/install-info \
   965   --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
   966 
   967 %preun java
   968 if [ $1 = 0 ]; then
   969   /sbin/install-info --delete \
   970     --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
   971 fi
   972 
   973 %post gnat
   974 /sbin/install-info \
   975   --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
   976 /sbin/install-info \
   977   --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
   978 
   979 %preun gnat
   980 if [ $1 = 0 ]; then
   981   /sbin/install-info --delete \
   982     --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
   983   /sbin/install-info --delete \
   984     --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
   985 fi
   986 
   987 %post -n libgcc -p /sbin/ldconfig
   988 
   989 %postun -n libgcc -p /sbin/ldconfig
   990 
   991 %post -n libstdc++ -p /sbin/ldconfig
   992 
   993 %postun -n libstdc++ -p /sbin/ldconfig
   994 
   995 %post -n libobjc -p /sbin/ldconfig
   996 
   997 %postun -n libobjc -p /sbin/ldconfig
   998 
   999 %post -n libgcj -p /sbin/ldconfig
  1000 
  1001 %postun -n libgcj -p /sbin/ldconfig
  1002 
  1003 %post -n libf2c -p /sbin/ldconfig
  1004 
  1005 %postun -n libf2c -p /sbin/ldconfig
  1006 
  1007 %post -n libgnat -p /sbin/ldconfig
  1008 
  1009 %postun -n libgnat -p /sbin/ldconfig
  1010 
  1011 %files -f %{name}.lang
  1012 %defattr(-,root,root)
  1013 %{_prefix}/bin/cc
  1014 %{_prefix}/bin/c89
  1015 %{_prefix}/bin/c99
  1016 %{_prefix}/bin/gcc
  1017 %{_prefix}/bin/gcov
  1018 %if !%{cross_compile}
  1019 %{_prefix}/bin/protoize
  1020 %{_prefix}/bin/unprotoize
  1021 %endif
  1022 %{_prefix}/bin/%{_target_platform}-gcc
  1023 %{_mandir}/man1/gcc.1*
  1024 %{_mandir}/man1/gcov.1*
  1025 %{_infodir}/gcc*
  1026 %dir %{_prefix}/lib/gcc-lib
  1027 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1028 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1029 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
  1030 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stddef.h
  1031 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdarg.h
  1032 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/varargs.h
  1033 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/float.h
  1034 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/limits.h
  1035 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdbool.h
  1036 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/iso646.h
  1037 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/syslimits.h
  1038 %ifarch %{ix86} x86_64
  1039 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/mmintrin.h
  1040 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/xmmintrin.h
  1041 %endif
  1042 %ifarch ia64
  1043 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ia64intrin.h
  1044 %endif
  1045 %ifarch ppc
  1046 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ppc-asm.h
  1047 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/altivec.h
  1048 %endif
  1049 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/README
  1050 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1
  1051 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/collect2
  1052 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/crt*.o
  1053 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc.a
  1054 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc_eh.a
  1055 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/specs
  1056 %{_prefix}/%{_lib}/libgcc_s.so
  1057 %doc gcc/README* gcc/*ChangeLog*
  1058 
  1059 %if !%{gcconly}
  1060 %files -n cpp
  1061 %defattr(-,root,root)
  1062 /lib/cpp
  1063 %endif
  1064 %{_prefix}/bin/cpp
  1065 %{_mandir}/man1/cpp.1*
  1066 %{_infodir}/cpp*
  1067 %dir %{_prefix}/lib/gcc-lib
  1068 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1069 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1070 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cpp0
  1071 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/tradcpp0
  1072 
  1073 %files -n libgcc
  1074 %defattr(-,root,root)
  1075 /%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
  1076 /%{_lib}/libgcc_s.so.1
  1077 
  1078 %if !%{gcconly}
  1079 %files c++
  1080 %defattr(-,root,root)
  1081 %{_prefix}/bin/%{_target_platform}-*++
  1082 %{_prefix}/bin/g++
  1083 %{_prefix}/bin/c++
  1084 %{_prefix}/bin/c++filt
  1085 %{_mandir}/man1/g++.1*
  1086 %dir %{_prefix}/lib/gcc-lib
  1087 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1088 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1089 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1plus
  1090 %doc gcc/cp/ChangeLog*
  1091 
  1092 %files -n libstdc++
  1093 %defattr(-,root,root)
  1094 %{_prefix}/%{_lib}/libstdc++.so.5*
  1095 
  1096 %files -n libstdc++-devel
  1097 %defattr(-,root,root)
  1098 %{_prefix}/include/c++
  1099 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.so
  1100 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.a
  1101 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libsupc++.a
  1102 %doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/
  1103 
  1104 %files objc
  1105 %defattr(-,root,root)
  1106 %dir %{_prefix}/lib/gcc-lib
  1107 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1108 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1109 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
  1110 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/objc
  1111 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1obj
  1112 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.a
  1113 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.so
  1114 %doc rpm.doc/objc/*
  1115 %doc libobjc/THREADS* libobjc/ChangeLog
  1116 
  1117 %files -n libobjc
  1118 %defattr(-,root,root)
  1119 %{_prefix}/%{_lib}/libobjc.so.1*
  1120 
  1121 %files g77
  1122 %defattr(-,root,root)
  1123 %{_prefix}/bin/g77
  1124 %{_prefix}/bin/f77
  1125 %{_mandir}/man1/g77.1*
  1126 %{_infodir}/g77*
  1127 %dir %{_prefix}/lib/gcc-lib
  1128 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1129 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1130 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
  1131 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/f771
  1132 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libfrtbegin.a
  1133 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.a
  1134 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.so
  1135 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/g2c.h
  1136 %doc gcc/f/README rpm.doc/g77/*
  1137 
  1138 %files -n libf2c
  1139 %defattr(-,root,root)
  1140 %{_prefix}/%{_lib}/libg2c.so.0*
  1141 
  1142 %files java
  1143 %defattr(-,root,root)
  1144 %{_prefix}/bin/gcj
  1145 %{_prefix}/bin/gcjh
  1146 %{_prefix}/bin/jcf-dump
  1147 %{_prefix}/bin/jv-scan
  1148 %{_mandir}/man1/gcj.1*
  1149 %{_mandir}/man1/gcjh.1*
  1150 %{_mandir}/man1/jcf-dump.1*
  1151 %{_mandir}/man1/jv-scan.1*
  1152 %{_infodir}/gcj*
  1153 %dir %{_prefix}/lib/gcc-lib
  1154 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1155 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1156 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jc1
  1157 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jvgenmain
  1158 %doc gcc/java/ChangeLog*
  1159 
  1160 %files -n libgcj
  1161 %defattr(-,root,root)
  1162 %{_prefix}/bin/jv-convert
  1163 %{_prefix}/bin/gij
  1164 %{_prefix}/bin/jar
  1165 %{_prefix}/bin/grepjar
  1166 %{_prefix}/bin/rmic
  1167 %{_prefix}/bin/rmiregistry
  1168 %{_mandir}/man1/jv-convert.1*
  1169 %{_mandir}/man1/gij.1*
  1170 %{_mandir}/man1/rmic.1*
  1171 %{_mandir}/man1/rmiregistry.1*
  1172 %{_prefix}/%{_lib}/libgcj.so.*
  1173 %{_prefix}/share/java
  1174 %{_prefix}/lib/security
  1175 
  1176 %files -n libgcj-devel
  1177 %defattr(-,root,root)
  1178 %{_prefix}/bin/addr2name.awk
  1179 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.a
  1180 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.so
  1181 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.spec
  1182 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gc*.h
  1183 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/j*.h
  1184 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/java
  1185 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/javax
  1186 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gnu
  1187 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gcj
  1188 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/org
  1189 %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
  1190 %doc rpm.doc/libjava/*
  1191 
  1192 %if %{build_ada}
  1193 %files gnat
  1194 %defattr(-,root,root)
  1195 %{_prefix}/bin/gnat*
  1196 %{_infodir}/gnat*
  1197 %dir %{_prefix}/lib/gcc-lib
  1198 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}
  1199 %dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
  1200 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adainclude
  1201 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adalib
  1202 %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/gnat1
  1203 %doc gcc/ada/ChangeLog
  1204 
  1205 %files -n libgnat
  1206 %defattr(-,root,root)
  1207 %{_prefix}/%{_lib}/libgnat-*.so.*
  1208 %{_prefix}/%{_lib}/libgnarl-*.so.*
  1209 %endif
  1210 %endif
  1211 
  1212 %changelog
  1213 * Tue Sep  3 2002 Bill Nottingham <notting@redhat.com> 3.2-7
  1214 - fix calling of C++ destructors in certain cases
  1215 
  1216 * Tue Sep  3 2002 Jakub Jelinek <jakub@redhat.com> 3.2-6
  1217 - update from CVS (but revert C++ tail padding patches
  1218   for now)
  1219 - further fixes to make libstdc++-v3 build on glibc 2.3
  1220 - run libstdc++-v3 make check-abi on IA-32 during testing
  1221 
  1222 * Fri Aug 30 2002 Jakub Jelinek <jakub@redhat.com> 3.2-5
  1223 - disable tail copy patches, they seem to still have problems
  1224 - make libstdc++-v3 build on glibc 2.3 (and use thread-local
  1225   locale model)
  1226 - fix c89 and c99 scripts (#73104)
  1227 
  1228 * Wed Aug 26 2002 Jakub Jelinek <jakub@redhat.com> 3.2-4
  1229 - reorder alpha_encode_section_info checks slightly to fix an ICE
  1230   when building glibc and to take better advantage of visibility
  1231   attribute on Alpha
  1232 - as gdb is not there yet, disable -momit-leaf-frame-pointer
  1233   by default for now on IA-32
  1234 - fix IA-64 bootstrap with tail padding patch (Jason Merrill, Daniel Berlin)
  1235 - fix x86-64 %RIP to %rip, only output (%rip) if no other relocation
  1236   is used (Richard Henderson)
  1237 
  1238 * Fri Aug 23 2002 Jakub Jelinek <jakub@redhat.com> 3.2-3
  1239 - take advantage of __attribute__((visibility())) on Alpha
  1240 - avoid copying tail padding (Jason Merrill)
  1241 
  1242 * Thu Aug 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-2
  1243 - fixed Dwarf2 DW_OP_GNU_push_tls_address patch from Richard Henderson
  1244 - don't mention removed -a and -ax options in the documentation
  1245   (Nathan Sidwell, #72233)
  1246 - fixed __typeof() followed by __asm() redirection from Alexandre Oliva
  1247 
  1248 * Wed Aug 14 2002 Jakub Jelinek <jakub@redhat.com> 3.2-1
  1249 - update to 3.2 release
  1250 - fix x86-64 PR target/7559 (Jan Hubicka)
  1251 - fix -fprefetch-loop-arrays (Janis Johnson)
  1252 - fix x86-64 prefetch (Jan Hubicka)
  1253 
  1254 * Fri Aug  9 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.3
  1255 - istream fix (Benjamin Kosnik)
  1256 - emit Dwarf2 DW_OP_GNU_push_tls_address extension for TLS (Richard Henderson)
  1257 - temporarily disable __typeof() + __asm() fix
  1258 
  1259 * Thu Aug  8 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.2
  1260 - update from 3.2 branch
  1261   - ABI incompatible changes in libstdc++.so.5, long long bitfield
  1262     layout on IA-32 (both C and C++), oversized bitfields layout
  1263     on IA-32 and bitfields with base type with __attribute__((aligned ()))
  1264   - fix strstream segfaults (#68292, Benjamin Kosnik)
  1265 - fix __attribute__((visibility())) together with __asm__()
  1266   function redirection
  1267 - fix __typeof() followed by __asm() redirection (Alexandre Oliva)
  1268 - fix TLS ICE on glibc (#70061)
  1269 - fix K6 ICE on linux kernel (#69989, Richard Sandiford, Jan Hubicka)
  1270 - fix inlining bug with labels (#70941)
  1271 - fix fold-const bug (#70541)
  1272 - fix PR preprocessor/7358 (Neil Booth)
  1273 - error when mixing __thread and non-__thread declarations
  1274   (#70059, Aldy Hernandez)
  1275 - fix TLS bug on g++.dg/tls/diag-1.C (Jason Merrill)
  1276 - add -mcmodel= x86-64 documentation (Andreas Jaeger)
  1277 - avoid TLS emitting movl %gs:0, MEMORY on IA-32 (#71033)
  1278 
  1279 * Mon Jul 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.1
  1280 - first attempt for gcc 3.2
  1281 - remove .la files
  1282 
  1283 * Sat Jul 20 2002 Jakub Jelinek <jakub@redhat.com> 3.1-10
  1284 - update from 3.1 branch
  1285   - add throw() to set_new_handler (Andreas Schwab)
  1286   - fixed PR optimization/7147, optimization/7153
  1287 - make sure pic register is set up even when the only @PLT calls
  1288   are done in EH basic blocks (Richard Henderson)
  1289 
  1290 * Sun Jul 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-9
  1291 - define %%_gnu to nothing for compatibility
  1292 
  1293 * Sat Jul 13 2002 Jakub Jelinek <jakub@redhat.com> 3.1-8
  1294 - update from 3.1 branch
  1295   - fix OpenOffice miscompilation (PR c++/7279, Jason Merrill)
  1296   - PRs c++/7224, c++/6255, optimization/7145, c++/6706, preprocessor/7070,
  1297     middle-end/6963, target/6841, target/6770, target/6719,
  1298     other/6836, libstdc++/7057, libstdc++/7097, libstdc++/3946,
  1299     libstdc++/7173
  1300   - fix a GC bug with named labels in C++ (Jim Wilson)
  1301   - fix ICE on Mesa (Bernd Schmidt, #65771)
  1302 - added some NRV tests
  1303 - fix typo in i386 specs (PR c/7242)
  1304 - fix IA-32 ICE with shifts by negative values followed by compare
  1305   (PR middle-end/7245, #68395)
  1306 - fixed DWARF-2 output for const char * (PR debug/7241)
  1307 - actually enable __cxa_atexit for standard compliance at configury time
  1308 - added PPC as Ada enabled architecture
  1309 
  1310 * Wed Jun 19 2002 Jakub Jelinek <jakub@redhat.com> 3.1-7
  1311 - update from 3.1 branch
  1312   - PRs target/6922, opt/6722, c/7030, c/6677, objc/6834, c++/6892,
  1313     c++/6723, opt/6793
  1314 - use __cxa_atexit for standard compliance:
  1315   if your C++ project knows it won't call atexit from within its
  1316   static constructors, use -fno-use-cxa-atexit to optimize it
  1317 - share hard register rtxs where possible to speed the compiler up (Jeff Law)
  1318 - optimize tree_code_* arrays (Kaveh Ghazi)
  1319 - don't link prefix.o into libgnat, link libgnat against libgcc_s and
  1320   libgnarl against libgnat
  1321 - fix typo in GNAT %%post (#66847, #66941, #66639)
  1322 - add TLS support
  1323 
  1324 * Fri Jun  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-6
  1325 - add GNAT
  1326 - remove DT_RPATH from Java binaries (#66103)
  1327 - obsolete kaffe, install jar as %{_prefix}/bin/jar
  1328 - add include/org directory in java
  1329 - add rmic and rmiregistry programs to libgcj
  1330 - add info documentation for gcj and various man pages
  1331 - add message catalogues for da, el, es, fr, ja, nl, sv, tr
  1332 - don't put IA-64 vtables with relocations into read-only sections
  1333   with -fpic
  1334 
  1335 * Tue Jun  4 2002 Jakub Jelinek <jakub@redhat.com> 3.1-5
  1336 - update from 3.1 branch
  1337   - PRs optimization/6822, preprocessor/6844, target/6838, target/6788,
  1338 	libstdc++/6886, libstdc++/6795, libstdc++/6811
  1339 - m$ compatibility for unnamed fields as typedef of struct/union
  1340   (PR c/6660)
  1341 - fix -fverbose-asm with unnamed fields (PR c/6809)
  1342 - fix -mmmx ICE (PR optimization/6842)
  1343 - default to -momit-leaf-frame-pointer on i386 (Richard Henderson)
  1344 - use linkonce section/hidden symbol for i686 pic getpc thunks
  1345   (Richard Henderson)
  1346 
  1347 * Tue May 28 2002 Jakub Jelinek <jakub@redhat.com> 3.1-4
  1348 - rebuilt
  1349 
  1350 * Sat May 25 2002 Jakub Jelinek <jakub@redhat.com> 3.1-3
  1351 - update from 3.1 branch
  1352   - PRs other/6782, preprocessor/6780, preprocessor/6517,
  1353 	libstdc++/6282, libstdc++/6701, libstdc++/6701
  1354   - fix out << "" bug (Ben Kosnik, #65409, PR libstdc++/6750)
  1355 - 3 new patches
  1356   - fix C++ __PRETTY_FUNCTION__ (PR c++/6794)
  1357   - fix ICE on jikes (#65379)
  1358   - add test for fixed mozilla miscompilation
  1359 - include intrinsic headers on IA-32/x86-64, include altivec.h on PPC
  1360 
  1361 * Wed May 22 2002 Jakub Jelinek <jakub@redhat.com> 3.1-2
  1362 - update from 3.1 branch
  1363 - 8 new patches
  1364   - fix as version test for 2.12.1 and newer binutils non-CVS releases
  1365   - fix ICE in do_subst (#65049)
  1366   - fix SSE conditional move (PR target/6753)
  1367   - fix SPARC CSE ICE (PR optimization/6759)
  1368   - fix x86_64 dbx64_register_map typo (Jan Hubicka)
  1369   - fix DWARF-2 with flag_asynchronous_unwind_tables set for leaf
  1370     functions (Jan Hubicka)
  1371   - fix DWARF-2 x86_64 __builtin_dwarf_reg_sizes (Jan Hubicka)
  1372   - fix x86_64 movabsdi (Michael Matz)
  1373 
  1374 * Wed May 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-1
  1375 - update to 3.1 final
  1376 - 15 new patches
  1377   - fix PR c/6643
  1378   - fix fold-const.c typo
  1379   - fix unitialized pointer-to-member values (Alexandre Oliva)
  1380   - fix templates with asm inputs (Jason Merrill)
  1381   - fix -fdata-section (Andreas Schwab)
  1382   - readd warning about i386 -malign-double into documentation (Jan Hubicka)
  1383   - fix PR libstdc++/6594 (Ben Kosnik)
  1384   - fix PR PR libstdc++/6648 (Paolo Carlini)
  1385   - fix libstdc++ testsuite rlimits (Rainer Orth)
  1386   - s390 java support (Gerhard Tonn)
  1387   - rotate testcases (Tom Rix)
  1388   - build libiberty with -fpic on x86_64 (Andreas Schwab)
  1389   - fix x86_64 multilib build (Bo Thorsen)
  1390   - fix x86_64 ASM_OUTPUT_MI_THUNK (Jan Hubicka)
  1391   - fix loop-2[cd].c tests on i386 (Eric Botcazou)
  1392 - fix typo in g77 info files tweaking
  1393 - fix libgcj.so symlink
  1394 
  1395 * Thu May  9 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.28
  1396 - update to CVS 3.1 branch
  1397   - PR c++/6212, target/6429, opt/6534, c/6543, target/6561, c/6569
  1398 - fix x86_64 q_regs_operand (Jan Hubicka)
  1399 - better PR c++/6381 fix (Jason Merrill)
  1400 
  1401 * Fri May  3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.27
  1402 - update to CVS 3.1 branch
  1403   - PR target/5628, libstdc++/5820, c++/6396, preprocessor/6489,
  1404     libstdc++/6501, libstdc++/6511, target/6512, libstdc++/6513,
  1405     bootstrap/6514, opt/6516, bootstrap/6525, c++/6527, libstdc++/6533,
  1406     target/6540
  1407 - fix PR target/6542, target/6522, libstdc++/6549
  1408 
  1409 * Mon Apr 29 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.26
  1410 - update to CVS 3.1 branch
  1411   - PR c/3581, libstdc++/4150, libstdc++/4164, c/5154, c/5430, c++/5504,
  1412     c++/5658, c++/5719, f/6138, libgcj/6158, middle-end/6205, c++/6256,
  1413     c/6300, c++/6331, c/6343, c/6344, c++/6352, c/6358, libstdc++/6360,
  1414     c++/6395, target/6413, libstdc++/6414, target/6422, bootstrap/6445,
  1415     optimization/6475, target/6476, c++/6477, c++/6479, c++/6486, c++/6492,
  1416     target/6494, target/6496, c/6497, target/6500
  1417 - fix PR c++/6396
  1418 - run make check as part of build process
  1419 
  1420 * Thu Apr 18 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.25
  1421 - update to CVS 3.1 branch
  1422   - PR opt/420, c++/525, target/817, target/1538, opt/3967, target/3997,
  1423     opt/4120, bootstrap/4191, opt/4311, optimization/4328, c++/4884, c++/4934,
  1424     c/5078, c++/5104, opt/5120, c++/5189, c++/5373, target/5446, c/5484,
  1425     c++/5507, c++/5571, c++/5636, target/5672, target/5715, target/5886,
  1426     c++/5933, c++/5964, c++/5998, opt/6007, target/6032, target/6041,
  1427     target/6054, c++/6073, target/6082, optimization/6086, target/6087,
  1428     middle-end/6096, middle-end/6098, middle-end/6099, middle-end/6100,
  1429     middle-end/6102, fortran/6106, c++/6119, opt/6165, optimization/6177,
  1430     c++/6179, optimization/6189, c/6202, c/6223, optimization/6233,
  1431     middle-end/6279, c/6290, optimization/6305, target/6305, bootstrap/6315,
  1432     c++/6320...
  1433 - fix PR c++/6316
  1434 
  1435 * Wed Mar 27 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.24
  1436 - update to CVS 3.1 branch
  1437   - PRs c/5656, c/5972, bootstrap/4192, target/4792, bootstrap/4195,
  1438     optimization/5854, target/6043, c++/6037, bootstrap/4128, target/5740,
  1439     c/5597, optimization/5863, optimization/5742, target/3177, c/5354,
  1440     optimization/5999, target/5977, middle-end/5731, target/5312...
  1441 
  1442 * Fri Mar 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23.1
  1443 - fix info and man page generation
  1444 
  1445 * Thu Mar 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23
  1446 - update to CVS 3.1 branch
  1447   - fix IA-64 packet selection (PR optimization/5892)
  1448   - make highest_pow2_factor work for all constants (PR middle-end/5877)
  1449   - fix -Wunused (#61047)
  1450   - fix loop on mixed mode class assignments (#60923)
  1451   - fix wide character literals
  1452   - support SPARC v9 long distance branches (PR target/5626)
  1453   - fix SPARC leaf functions
  1454   - fix a rtl sharing problem (Richard Henderson, #60760,
  1455     PR optimization/5844)
  1456   - fix va_arg with variable size types (PR c/3711)
  1457   - PRs optimization/5901, optimization/5878, 5693, preprocessor/5899
  1458 - fix C++ ?: at the end of stmt expr (PR c++/5373)
  1459 - fix loop unrolling with sibcalls (PR optimization/5891)
  1460 
  1461 * Thu Mar  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.22
  1462 - update to CVS 3.1 branch
  1463   - fix ICE with volatile long long (#60650)
  1464   - fix tempbuf.h (Philipp Thomas, #60212)
  1465   - fix -fssa-ccp (Jeff Law, #60651)
  1466   - versioned libstdc++
  1467   - backport __attribute__((visibility("..."))) patches from trunk
  1468 - include libstdc++ html documentation
  1469 
  1470 * Tue Feb  5 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.21
  1471 - update to CVS HEAD
  1472   - fix demangler (H.J. Lu, #59300, #59310)
  1473   - fix typo in IA-32 specs file (#59081)
  1474   - support moving SFmode values in MMX regs if -mmmx (#59083)
  1475   - fix recog_for_combine (#59084)
  1476   - don't ICE when inserting insns on edge from bb0 to bb0 (Bernd Schmidt,
  1477     #59087)
  1478   - make sure configure has not time in the future (#59203)
  1479   - fix division/modulo by certain constants (#58065, PR c/5304)
  1480   - fix -Wswitch (PR c/4475)
  1481 
  1482 * Thu Jan 31 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.20
  1483 - update to CVS HEAD
  1484   - fix jar (Tom Tromey)
  1485   - fix loop unrolling (Richard Henderson)
  1486 
  1487 * Wed Jan 30 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.19
  1488 - update to CVS HEAD
  1489   - fix a reload bug on ia32 (#58579, #58648)
  1490   - issue error about unknown -W* options (#58909)
  1491   - fix ia64 libbfd miscompilation (#58694)
  1492   - register all pending unparsed_text structures with GC (#58647)
  1493   - fix __builtin_apply with ia32 -msse (#58447)
  1494   - prevent ia64 prologue insns saving regs required for eh from being
  1495     deleted (#58387)
  1496 
  1497 * Tue Jan 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.18
  1498 - update to CVS HEAD
  1499   - handle static x[] = { [X...Y] = (foo) { Z } } (#58338)
  1500   - fix getdents.os miscompilation (Richard Henderson, #58308)
  1501   - fix ICE in try_forward_edges (#58125)
  1502   - fix ICE with -fexceptions -foptimize-sibling-calls
  1503 
  1504 * Tue Jan  8 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.17
  1505 - avoid division by 0 when computing prediction probabilities (#57992)
  1506 - fix ICE due to store_expr not adjusting value back for mode
  1507 - increase -ftemplate-depth default value to 500
  1508 
  1509 * Mon Jan  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.16
  1510 - if using PT_GNU_EH_FRAME registry, work around assembler bug resp. feature
  1511   and don't provide weak prototypes of functions which won't be used
  1512 - on Alpha, fix a typo so that crtbeginT.o is built and installed
  1513 - fix glibc inl-tester miscompilation on ia32
  1514 
  1515 * Sun Jan  6 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.15
  1516 - update to CVS HEAD (fix glibc bootstrap failure)
  1517 
  1518 * Thu Jan  3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.14
  1519 - update to CVS HEAD (#57907)
  1520   - fix alpha bootstrap (Richard Henderson)
  1521 - fix simplification of (div:SI (???:DI ???) (const_int 1))
  1522   (#57916)
  1523 - add contrib/gcc_update --touch
  1524 
  1525 * Tue Jan  1 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.13
  1526 - update to CVS HEAD (fix glibc miscompilation on alpha)
  1527 - fix objc to not emit __objc_class_name_* without type and size
  1528 
  1529 * Mon Dec 31 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.12
  1530 - update to CVS HEAD
  1531 - fix sed commands for .la files
  1532 - make Alpha use PT_GNU_EH_FRAME
  1533 
  1534 * Thu Dec 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.11
  1535 - update to CVS HEAD (#57165, #57212, #57467, #57488, #57502,
  1536   #57505, #57574)
  1537 - readd .la files after fixing them up by sed
  1538 - add %%defattr(-,root,root) to libobjc subpackage
  1539 
  1540 * Mon Dec  3 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.10
  1541 - one more gcc.spec fix for passing --gdwarf-2 resp. --gstabs to as
  1542 - fix conditional register dead computation on IA-64
  1543 - fix extern array of incomplete structures handling
  1544 - fix gcc -xc -
  1545 - fix Fortran ICEs with SAVE_EXPRs (Richard Kenner)
  1546 
  1547 * Tue Nov 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.9
  1548 - update to CVS HEAD
  1549 - make DWARF 2 preferred debugging format on Linux
  1550 
  1551 * Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.8
  1552 - don't ship .la files (#56072)
  1553 - include libfrtbegin.a (#56098)
  1554 
  1555 * Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.7
  1556 - update to CVS HEAD
  1557 - back out Nov 7th loop.c change for now
  1558 
  1559 * Fri Nov  9 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.6
  1560 - update to CVS HEAD
  1561 - frame unwind compatibility with 7.[12] binutils
  1562 
  1563 * Tue Nov  6 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.5
  1564 - update to CVS HEAD
  1565 - merge DW_EH_PE_indirect constants and their relocs
  1566 
  1567 * Thu Oct 25 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.4
  1568 - don't loop forever or ICE on bogus array initializers (#53704)
  1569 - fix store motion with pure calls
  1570 - disable store motion for now
  1571 
  1572 * Tue Oct 23 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.3
  1573 - fix inlining of C nested functions with auto prototypes
  1574 
  1575 * Mon Oct 22 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.2
  1576 - update to CVS HEAD
  1577 - tree inlining fix from Alexandre Oliva
  1578 - fix anonymous union ICE on alpha
  1579 
  1580 * Mon Oct 15 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.1
  1581 - switch package to main compiler from alternate compiler
  1582 - update to CVS HEAD
  1583 - early gcc-2.96-RH compatibility in __frame_state_for
  1584 - change weak function tests for functions always present in GLIBC 2.2
  1585   into simple non-weak calls in crt*.o to avoid unnecessary symbol
  1586   lookups and prelink conflicts
  1587 - don't link against libgcc_s C shared libraries
  1588 
  1589 * Tue Oct  2 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-4
  1590 - update from CVS 3.0 branch
  1591   - ia64 function descriptors in vtables
  1592 - handle large files in Fortran (#53328)
  1593 - allow Java programs to be statically linked (#53605)
  1594 - remove #include_next patch, Benjamin commited it
  1595 
  1596 * Thu Sep  6 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-3
  1597 - don't use #include_next in <bits/std_c*> headers (Benjamin Kosnik, #53262)
  1598 
  1599 * Wed Sep  5 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-2
  1600 - update from CVS 3.0 branch
  1601 - check all gcc-2.96-RH patches whether they have made it into 3.0.1,
  1602   and if not, whether they are appropriate for 3.0.1
  1603 - 8 new patches
  1604   - add 36 testcases from gcc-2.96-RH
  1605   - fix ICE on very questionable C++ code from JDK (#39858, #52960)
  1606   - fix -frepo (Nathan Sidwell, #52877)
  1607   - avoid generating bogus .stabs (#49214)
  1608   - issue a clear error message about invalid ia32 floating point
  1609     asm constraints (#27137)
  1610   - fix some comment typos
  1611   - fix ADDRESSOF recognition (#29686)
  1612 
  1613 * Mon Aug 27 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-1
  1614 - update from CVS (3.0.1 final)
  1615 - properly handle throw() exception specifiers in template decls (#51824)
  1616 - fix IA-64 varargs handling in presence of additional anonymous arguments
  1617   (#50757)
  1618 - fix boehm-gc for prelink
  1619 - fix a typo in gcc3-c++ description (#52323)
  1620 - remove Chill from package summary (#51764)
  1621 
  1622 * Tue Aug  7 2001 Jakub Jelinek <jakub@redhat.com> 3.0-6
  1623 - update from CVS
  1624   - fix glibc vfprintf miscompilation
  1625 - don't warn about if (&foo) if foo is weak (H.J.Lu, #50855)
  1626 
  1627 * Wed Jul 25 2001 Jakub Jelinek <jakub@redhat.com> 3.0-5
  1628 - include libgcjgc.a in libgcj3-devel
  1629 - include libgcjgc.so.* in libgcj3 on ia64
  1630 - remove dependency on libgcj on ia64
  1631 - add ldconfig to libgcj3 post/postun
  1632 
  1633 * Tue Jul 24 2001 Jakub Jelinek <jakub@redhat.com> 3.0-4
  1634 - update from CVS
  1635 - make gcc3-java/libgcj3* packages, so that they can coexist
  1636   with 2.96-RH Java
  1637 - make sure shared Java libraries are built with proper dependencies
  1638 
  1639 * Wed Jul 11 2001 Jakub Jelinek <jakub@redhat.com> 3.0-3
  1640 - fix libgcc_s.so and libstdc++.so symlinks
  1641 - don't ship jar
  1642 
  1643 * Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-2
  1644 - move libstdc++.so into gcc-lib
  1645 - add libobjc.so symlink
  1646 
  1647 * Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-1
  1648 - new rpm