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