/[pkgs]/rpms/gcc/F-12/gcc.spec
ViewVC logotype

Contents of /rpms/gcc/F-12/gcc.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.90 - (show annotations) (download)
Mon Nov 9 14:13:19 2009 UTC (8 months, 2 weeks ago) by jakub
Branch: MAIN
CVS Tags: gcc-4_4_2-9_fc12
Changes since 1.89: +1 -1 lines
4.4.2-9
1 %global DATE 20091109
2 %global SVNREV 154036
3 %global gcc_version 4.4.2
4 # Note, gcc_release must be integer, if you want to add suffixes to
5 # %{release}, append them after %{gcc_release} on Release: line.
6 %global gcc_release 9
7 %global _unpackaged_files_terminate_build 0
8 %global multilib_64_archs sparc64 ppc64 s390x x86_64
9 %global include_gappletviewer 1
10 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
11 %global build_ada 1
12 %else
13 %global build_ada 0
14 %endif
15 %global build_java 1
16 %ifarch %{sparc}
17 %global build_cloog 0
18 %else
19 %global build_cloog 1
20 %endif
21 %global build_libstdcxx_docs 1
22 # If you don't have already a usable gcc-java and libgcj for your arch,
23 # do on some arch which has it rpmbuild -bc --with java_tar gcc41.spec
24 # which creates libjava-classes-%{version}-%{release}.tar.bz2
25 # With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc41.spec
26 %global bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0}
27 %global build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0}
28 %ifarch s390x
29 %global multilib_32_arch s390
30 %endif
31 %ifarch sparc64
32 %global multilib_32_arch sparcv9
33 %endif
34 %ifarch ppc64
35 %global multilib_32_arch ppc
36 %endif
37 %ifarch x86_64
38 %global multilib_32_arch i686
39 %endif
40 Summary: Various compilers (C, C++, Objective-C, Java, ...)
41 Name: gcc
42 Version: %{gcc_version}
43 Release: %{gcc_release}%{?dist}
44 # libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
45 # GCC Runtime Exception.
46 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
47 Group: Development/Languages
48 # The source for this package was pulled from upstream's vcs. Use the
49 # following commands to generate the tarball:
50 # svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch@%{SVNREV} gcc-%{version}-%{DATE}
51 # tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
52 Source0: gcc-%{version}-%{DATE}.tar.bz2
53 Source1: libgcc_post_upgrade.c
54 Source2: README.libgcjwebplugin.so
55 Source3: protoize.1
56 %global fastjar_ver 0.97
57 Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
58 URL: http://gcc.gnu.org
59 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
60 # Need binutils with -pie support >= 2.14.90.0.4-4
61 # Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
62 # Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
63 # Need binutils which support .weakref >= 2.16.91.0.3-1
64 # Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
65 # Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
66 # Need binutils which support --build-id >= 2.17.50.0.17-3
67 # Need binutils which support %gnu_unique_object >= 2.19.51.0.14
68 # Need binutils which support .cfi_sections >= 2.19.51.0.14-33
69 BuildRequires: binutils >= 2.19.51.0.14-33
70 # While gcc doesn't include statically linked binaries, during testing
71 # -static is used several times.
72 BuildRequires: glibc-static
73 BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
74 # For VTA guality testing
75 BuildRequires: gdb
76 %if %{build_java}
77 BuildRequires: /usr/share/java/eclipse-ecj.jar, zip, unzip
78 %if %{bootstrap_java}
79 Source10: libjava-classes-%{version}-%{release}.tar.bz2
80 %else
81 BuildRequires: gcc-java, libgcj
82 %endif
83 %endif
84 # Make sure pthread.h doesn't contain __thread tokens
85 # Make sure glibc supports stack protector
86 # Make sure glibc supports DT_GNU_HASH
87 BuildRequires: glibc-devel >= 2.4.90-13
88 BuildRequires: elfutils-devel >= 0.72
89 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
90 # Make sure glibc supports TFmode long double
91 BuildRequires: glibc >= 2.3.90-35
92 %endif
93 %ifarch %{multilib_64_archs} sparcv9 ppc
94 # Ensure glibc{,-devel} is installed for both multilib arches
95 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
96 %endif
97 %if %{build_ada}
98 # Ada requires Ada to build
99 BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
100 %endif
101 %ifarch ia64
102 BuildRequires: libunwind >= 0.98
103 %endif
104 %if %{build_cloog}
105 BuildRequires: ppl >= 0.10, ppl-devel >= 0.10, cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15
106 %endif
107 %if %{build_libstdcxx_docs}
108 BuildRequires: doxygen
109 BuildRequires: graphviz
110 %endif
111 Requires: cpp = %{version}-%{release}
112 # Need .eh_frame ld optimizations
113 # Need proper visibility support
114 # Need -pie support
115 # Need --as-needed/--no-as-needed support
116 # On ppc64, need omit dot symbols support and --non-overlapping-opd
117 # Need binutils that owns /usr/bin/c++filt
118 # Need binutils that support .weakref
119 # Need binutils that supports --hash-style=gnu
120 # Need binutils that support mffgpr/mftgpr
121 # Need binutils that support --build-id
122 # Need binutils that support %gnu_unique_object
123 # Need binutils that support .cfi_sections
124 Requires: binutils >= 2.19.51.0.14-33
125 # Make sure gdb will understand DW_FORM_strp
126 Conflicts: gdb < 5.1-2
127 Requires: glibc-devel >= 2.2.90-12
128 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
129 # Make sure glibc supports TFmode long double
130 Requires: glibc >= 2.3.90-35
131 %endif
132 Requires: libgcc >= %{version}-%{release}
133 Requires: libgomp = %{version}-%{release}
134 %if !%{build_ada}
135 Obsoletes: gcc-gnat < %{version}-%{release}
136 Obsoletes: libgnat < %{version}-%{release}
137 %endif
138 %if %{build_cloog}
139 Requires: cloog-ppl >= 0.15
140 %endif
141 Requires(post): /sbin/install-info
142 Requires(preun): /sbin/install-info
143 AutoReq: true
144
145 Patch0: gcc44-hack.patch
146 Patch1: gcc44-build-id.patch
147 Patch2: gcc44-c++-builtin-redecl.patch
148 Patch3: gcc44-ia64-libunwind.patch
149 Patch4: gcc44-java-nomulti.patch
150 Patch5: gcc44-ppc32-retaddr.patch
151 Patch6: gcc44-pr33763.patch
152 Patch7: gcc44-rh330771.patch
153 Patch8: gcc44-rh341221.patch
154 Patch9: gcc44-java-debug-iface-type.patch
155 Patch10: gcc44-i386-libgomp.patch
156 Patch11: gcc44-sparc-config-detection.patch
157 Patch12: gcc44-libgomp-omp_h-multilib.patch
158 Patch13: gcc44-libtool-no-rpath.patch
159 Patch14: gcc44-cloog-dl.patch
160 Patch16: gcc44-unwind-debug-hook.patch
161 Patch17: gcc44-pr38757.patch
162 Patch18: gcc44-libstdc++-docs.patch
163 Patch19: gcc44-ppc64-aixdesc.patch
164
165 Patch1000: fastjar-0.97-segfault.patch
166
167 # On ARM EABI systems, we do want -gnueabi to be part of the
168 # target triple.
169 %ifnarch %{arm}
170 %global _gnu %{nil}
171 %endif
172 %ifarch sparcv9
173 %global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
174 %endif
175 %ifarch ppc
176 %global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
177 %endif
178 %ifnarch sparcv9 ppc
179 %global gcc_target_platform %{_target_platform}
180 %endif
181
182 %description
183 The gcc package contains the GNU Compiler Collection version 4.4.
184 You'll need this package in order to compile C code.
185
186 %package -n libgcc
187 Summary: GCC version 4.4 shared support library
188 Group: System Environment/Libraries
189 Autoreq: false
190
191 %description -n libgcc
192 This package contains GCC shared support library which is needed
193 e.g. for exception handling support.
194
195 %package c++
196 Summary: C++ support for GCC
197 Group: Development/Languages
198 Requires: gcc = %{version}-%{release}
199 Requires: libstdc++ = %{version}-%{release}
200 Requires: libstdc++-devel = %{version}-%{release}
201 Autoreq: true
202
203 %description c++
204 This package adds C++ support to the GNU Compiler Collection.
205 It includes support for most of the current C++ specification,
206 including templates and exception handling.
207
208 %package -n libstdc++
209 Summary: GNU Standard C++ Library
210 Group: System Environment/Libraries
211 Autoreq: true
212 Requires: glibc >= 2.10.90-7
213
214 %description -n libstdc++
215 The libstdc++ package contains a rewritten standard compliant GCC Standard
216 C++ Library.
217
218 %package -n libstdc++-devel
219 Summary: Header files and libraries for C++ development
220 Group: Development/Libraries
221 Requires: libstdc++ = %{version}-%{release}, %{_prefix}/%{_lib}/libstdc++.so.6
222 Autoreq: true
223
224 %description -n libstdc++-devel
225 This is the GNU implementation of the standard C++ libraries. This
226 package includes the header files and libraries needed for C++
227 development. This includes rewritten implementation of STL.
228
229 %package -n libstdc++-docs
230 Summary: Documentation for the GNU standard C++ library
231 Group: Development/Libraries
232 Autoreq: true
233
234 %description -n libstdc++-docs
235 Manual, doxygen generated API information and Frequently Asked Questions
236 for the GNU standard C++ library.
237
238 %package objc
239 Summary: Objective-C support for GCC
240 Group: Development/Languages
241 Requires: gcc = %{version}-%{release}
242 Requires: libobjc = %{version}-%{release}
243 Autoreq: true
244
245 %description objc
246 gcc-objc provides Objective-C support for the GCC.
247 Mainly used on systems running NeXTSTEP, Objective-C is an
248 object-oriented derivative of the C language.
249
250 %package objc++
251 Summary: Objective-C++ support for GCC
252 Group: Development/Languages
253 Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
254 Autoreq: true
255
256 %description objc++
257 gcc-objc++ package provides Objective-C++ support for the GCC.
258
259 %package -n libobjc
260 Summary: Objective-C runtime
261 Group: System Environment/Libraries
262 Autoreq: true
263
264 %description -n libobjc
265 This package contains Objective-C shared library which is needed to run
266 Objective-C dynamically linked programs.
267
268 %package gfortran
269 Summary: Fortran support
270 Group: Development/Languages
271 Requires: gcc = %{version}-%{release}
272 Requires: libgfortran = %{version}-%{release}
273 BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
274 Requires(post): /sbin/install-info
275 Requires(preun): /sbin/install-info
276 Autoreq: true
277
278 %description gfortran
279 The gcc-gfortran package provides support for compiling Fortran
280 programs with the GNU Compiler Collection.
281
282 %package -n libgfortran
283 Summary: Fortran runtime
284 Group: System Environment/Libraries
285 Autoreq: true
286
287 %description -n libgfortran
288 This package contains Fortran shared library which is needed to run
289 Fortran dynamically linked programs.
290
291 %package -n libgomp
292 Summary: GCC OpenMP v3.0 shared support library
293 Group: System Environment/Libraries
294 Requires(post): /sbin/install-info
295 Requires(preun): /sbin/install-info
296
297 %description -n libgomp
298 This package contains GCC shared support library which is needed
299 for OpenMP v3.0 support.
300
301 %package -n libmudflap
302 Summary: GCC mudflap shared support library
303 Group: System Environment/Libraries
304
305 %description -n libmudflap
306 This package contains GCC shared support library which is needed
307 for mudflap support.
308
309 %package -n libmudflap-devel
310 Summary: GCC mudflap support
311 Group: Development/Libraries
312 Requires: libmudflap = %{version}-%{release}
313 Requires: gcc = %{version}-%{release}
314
315 %description -n libmudflap-devel
316 This package contains headers and static libraries for building
317 mudflap-instrumented programs.
318
319 To instrument a non-threaded program, add -fmudflap
320 option to GCC and when linking add -lmudflap, for threaded programs
321 also add -fmudflapth and -lmudflapth.
322
323 %package java
324 Summary: Java support for GCC
325 Group: Development/Languages
326 Requires: gcc = %{version}-%{release}
327 Requires: libgcj = %{version}-%{release}
328 Requires: libgcj-devel = %{version}-%{release}
329 Requires: /usr/share/java/eclipse-ecj.jar
330 Requires(post): /sbin/install-info
331 Requires(preun): /sbin/install-info
332 Autoreq: true
333
334 %description java
335 This package adds support for compiling Java(tm) programs and
336 bytecode into native code.
337
338 %package -n libgcj
339 Summary: Java runtime library for gcc
340 Group: System Environment/Libraries
341 Requires(post): /sbin/install-info
342 Requires(preun): /sbin/install-info
343 Requires: zip >= 2.1
344 Requires: gtk2 >= 2.4.0
345 Requires: glib2 >= 2.4.0
346 Requires: libart_lgpl >= 2.1.0
347 %if %{build_java}
348 BuildRequires: gtk2-devel >= 2.4.0
349 BuildRequires: glib2-devel >= 2.4.0
350 BuildRequires: xulrunner-devel
351 BuildRequires: libart_lgpl-devel >= 2.1.0
352 BuildRequires: alsa-lib-devel
353 BuildRequires: libXtst-devel
354 BuildRequires: libXt-devel
355 %endif
356 Autoreq: true
357
358 %description -n libgcj
359 The Java(tm) runtime library. You will need this package to run your Java
360 programs compiled using the Java compiler from GNU Compiler Collection (gcj).
361
362 %package -n libgcj-devel
363 Summary: Libraries for Java development using GCC
364 Group: Development/Languages
365 Requires: libgcj = %{version}-%{release}, %{_prefix}/%{_lib}/libgcj.so.10
366 Requires: zlib-devel, %{_prefix}/%{_lib}/libz.so
367 Requires: /bin/awk
368 Autoreq: false
369 Autoprov: false
370
371 %description -n libgcj-devel
372 The Java(tm) static libraries and C header files. You will need this
373 package to compile your Java programs using the GCC Java compiler (gcj).
374
375 %package -n libgcj-src
376 Summary: Java library sources from GCC4 preview
377 Group: System Environment/Libraries
378 Requires: libgcj = %{version}-%{release}
379 Autoreq: true
380
381 %description -n libgcj-src
382 The Java(tm) runtime library sources for use in Eclipse.
383
384 %package -n cpp
385 Summary: The C Preprocessor
386 Group: Development/Languages
387 Requires(post): /sbin/install-info
388 Requires(preun): /sbin/install-info
389 Autoreq: true
390
391 %description -n cpp
392 Cpp is the GNU C-Compatible Compiler Preprocessor.
393 Cpp is a macro processor which is used automatically
394 by the C compiler to transform your program before actual
395 compilation. It is called a macro processor because it allows
396 you to define macros, abbreviations for longer
397 constructs.
398
399 The C preprocessor provides four separate functionalities: the
400 inclusion of header files (files of declarations that can be
401 substituted into your program); macro expansion (you can define macros,
402 and the C preprocessor will replace the macros with their definitions
403 throughout the program); conditional compilation (using special
404 preprocessing directives, you can include or exclude parts of the
405 program according to various conditions); and line control (if you use
406 a program to combine or rearrange source files into an intermediate
407 file which is then compiled, you can use line control to inform the
408 compiler about where each source line originated).
409
410 You should install this package if you are a C programmer and you use
411 macros.
412
413 %package gnat
414 Summary: Ada 95 support for GCC
415 Group: Development/Languages
416 Requires: gcc = %{version}-%{release}
417 Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
418 Requires(post): /sbin/install-info
419 Requires(preun): /sbin/install-info
420 Autoreq: true
421
422 %description gnat
423 GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools,
424 the documents and Ada 95 compiler.
425
426 %package -n libgnat
427 Summary: GNU Ada 95 runtime shared libraries
428 Group: System Environment/Libraries
429 Autoreq: true
430
431 %description -n libgnat
432 GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries,
433 which are required to run programs compiled with the GNAT.
434
435 %package -n libgnat-devel
436 Summary: GNU Ada 95 libraries
437 Group: System Environment/Libraries
438 Autoreq: true
439
440 %description -n libgnat-devel
441 GNAT is a GNU Ada 95 front-end to GCC. This package includes libraries,
442 which are required to compile with the GNAT.
443
444 %prep
445 %setup -q -n gcc-%{version}-%{DATE}
446 %patch0 -p0 -b .hack~
447 %patch1 -p0 -b .build-id~
448 %patch2 -p0 -b .c++-builtin-redecl~
449 %patch3 -p0 -b .ia64-libunwind~
450 %patch4 -p0 -b .java-nomulti~
451 %patch5 -p0 -b .ppc32-retaddr~
452 %patch6 -p0 -b .pr33763~
453 %patch7 -p0 -b .rh330771~
454 %patch8 -p0 -b .rh341221~
455 %patch9 -p0 -b .java-debug-iface-type~
456 %patch10 -p0 -b .i386-libgomp~
457 %patch11 -p0 -b .sparc-config-detection~
458 %patch12 -p0 -b .libgomp-omp_h-multilib~
459 %patch13 -p0 -b .libtool-no-rpath~
460 %if %{build_cloog}
461 %patch14 -p0 -b .cloog-dl~
462 %endif
463 %patch16 -p0 -b .unwind-debug-hook~
464 %patch17 -p0 -b .pr38757~
465 %if %{build_libstdcxx_docs}
466 %patch18 -p0 -b .libstdc++-docs~
467 %endif
468 %patch19 -p0 -b .ppc64-aixdesc~
469
470 # This testcase doesn't compile.
471 rm libjava/testsuite/libjava.lang/PR35020*
472
473 tar xzf %{SOURCE4}
474
475 %patch1000 -p0 -b .fastjar-0.97-segfault~
476
477 %if %{bootstrap_java}
478 tar xjf %{SOURCE10}
479 %endif
480
481 sed -i -e 's/4\.4\.3/4.4.2/' gcc/BASE-VER
482 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
483
484 # Default to -gdwarf-3 rather than -gdwarf-2
485 sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt
486 sed -i 's/\(may be either 2 or 3; the default version is \)2\./\13./' gcc/doc/invoke.texi
487
488 cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
489
490 # Hack to avoid building multilib libjava
491 perl -pi -e 's/^all: all-redirect/ifeq (\$(MULTISUBDIR),)\nall: all-redirect\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
492 perl -pi -e 's/^install: install-redirect/ifeq (\$(MULTISUBDIR),)\ninstall: install-redirect\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
493 perl -pi -e 's/^check: check-redirect/ifeq (\$(MULTISUBDIR),)\ncheck: check-redirect\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
494 perl -pi -e 's/^all: all-recursive/ifeq (\$(MULTISUBDIR),)\nall: all-recursive\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
495 perl -pi -e 's/^install: install-recursive/ifeq (\$(MULTISUBDIR),)\ninstall: install-recursive\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
496 perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-recursive\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
497
498 ./contrib/gcc_update --touch
499
500 LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
501
502 %ifarch ppc
503 if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
504 mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
505 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
506 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
507 rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
508 fi
509 %endif
510 %ifarch sparc
511 if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
512 mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
513 mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
514 mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
515 rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
516 fi
517 %endif
518
519 %build
520
521 %if %{build_java}
522 # gjar isn't usable, so even when GCC source tree no longer includes
523 # fastjar, build it anyway.
524 mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
525 cd fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
526 ../configure CFLAGS="%{optflags}" --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
527 make %{?_smp_mflags}
528 export PATH=`pwd`${PATH:+:$PATH}
529 cd ../../
530 %endif
531
532 rm -fr obj-%{gcc_target_platform}
533 mkdir obj-%{gcc_target_platform}
534 cd obj-%{gcc_target_platform}
535
536 %if %{build_java}
537 %if !%{bootstrap_java}
538 # If we don't have gjavah in $PATH, try to build it with the old gij
539 mkdir java_hacks
540 cd java_hacks
541 cp -a ../../libjava/classpath/tools/external external
542 mkdir -p gnu/classpath/tools
543 cp -a ../../libjava/classpath/tools/gnu/classpath/tools/{common,javah,getopt} gnu/classpath/tools/
544 cp -a ../../libjava/classpath/tools/resource/gnu/classpath/tools/common/Messages.properties gnu/classpath/tools/common
545 cp -a ../../libjava/classpath/tools/resource/gnu/classpath/tools/getopt/Messages.properties gnu/classpath/tools/getopt
546 cd external/asm; for i in `find . -name \*.java`; do gcj --encoding ISO-8859-1 -C $i -I.; done; cd ../..
547 for i in `find gnu -name \*.java`; do gcj -C $i -I. -Iexternal/asm/; done
548 gcj -findirect-dispatch -O2 -fmain=gnu.classpath.tools.javah.Main -I. -Iexternal/asm/ `find . -name \*.class` -o gjavah.real
549 cat > gjavah <<EOF
550 #!/bin/sh
551 export CLASSPATH=`pwd`${CLASSPATH:+:$CLASSPATH}
552 exec `pwd`/gjavah.real "\$@"
553 EOF
554 chmod +x `pwd`/gjavah
555 cat > ecj1 <<EOF
556 #!/bin/sh
557 exec gij -cp /usr/share/java/eclipse-ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain "\$@"
558 EOF
559 chmod +x `pwd`/ecj1
560 export PATH=`pwd`${PATH:+:$PATH}
561 cd ..
562 %endif
563 %endif
564
565 CC=gcc
566 OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
567 OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
568 %ifarch sparc
569 OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
570 %endif
571 %ifarch %{ix86}
572 OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
573 %endif
574 %ifarch sparc64
575 cat > gcc64 <<"EOF"
576 #!/bin/sh
577 exec /usr/bin/gcc -m64 "$@"
578 EOF
579 chmod +x gcc64
580 CC=`pwd`/gcc64
581 %endif
582 %ifarch ppc64
583 if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then
584 cat > gcc64 <<"EOF"
585 #!/bin/sh
586 exec /usr/bin/gcc -m64 "$@"
587 EOF
588 chmod +x gcc64
589 CC=`pwd`/gcc64
590 fi
591 %endif
592 OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
593 case "$OPT_FLAGS" in
594 *-fasynchronous-unwind-tables*)
595 sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/' \
596 ../gcc/Makefile.in
597 ;;
598 esac
599 CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
600 GCJFLAGS="$OPT_FLAGS" \
601 ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
602 --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
603 --enable-shared --enable-threads=posix --enable-checking=release \
604 --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
605 --enable-gnu-unique-object \
606 %if !%{build_ada}
607 --enable-languages=c,c++,objc,obj-c++,java,fortran \
608 %else
609 --enable-languages=c,c++,objc,obj-c++,java,fortran,ada \
610 %endif
611 %if !%{build_java}
612 --disable-libgcj \
613 %else
614 --enable-java-awt=gtk --disable-dssi --enable-plugin \
615 --with-java-home=%{_prefix}/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre \
616 --enable-libgcj-multifile \
617 %if !%{bootstrap_java}
618 --enable-java-maintainer-mode \
619 %endif
620 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar \
621 --disable-libjava-multilib \
622 %endif
623 %if %{build_cloog}
624 --with-ppl --with-cloog \
625 %endif
626 %ifarch %{arm}
627 --disable-sjlj-exceptions \
628 %endif
629 %ifarch ppc ppc64
630 --enable-secureplt \
631 %endif
632 %ifarch sparc sparcv9 sparc64 ppc ppc64 s390 s390x alpha
633 --with-long-double-128 \
634 %endif
635 %ifarch sparc
636 --disable-linux-futex \
637 %endif
638 %ifarch sparc64
639 --with-cpu=ultrasparc \
640 %endif
641 %ifarch sparc sparcv9
642 --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
643 %endif
644 %if 0%{?rhel} >= 6
645 %ifarch ppc ppc64
646 --with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \
647 %endif
648 %endif
649 %ifarch ppc
650 --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
651 %endif
652 %ifarch %{ix86} x86_64
653 --with-tune=generic \
654 %endif
655 %ifarch %{ix86}
656 --with-arch=i686 \
657 %endif
658 %ifarch x86_64
659 --with-arch_32=i686 \
660 %endif
661 %ifarch s390 s390x
662 --with-arch=z9-109 --with-tune=z10 \
663 %endif
664 %ifnarch sparc sparcv9 ppc
665 --build=%{gcc_target_platform}
666 %endif
667
668 #GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
669 GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
670
671 # Make protoize
672 make -C gcc CC="./xgcc -B ./ -O2" proto
673
674 # Make generated man pages even if Pod::Man is not new enough
675 perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
676 for i in ../gcc/doc/*.texi; do
677 cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
678 done
679 make -C gcc generated-manpages
680 for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
681
682 # Make generated doxygen pages.
683 %if %{build_libstdcxx_docs}
684 cd %{gcc_target_platform}/libstdc++-v3
685 make doc-html-doxygen
686 make doc-man-doxygen
687 cd ../..
688 %endif
689
690 # Copy various doc files here and there
691 cd ..
692 mkdir -p rpm.doc/gfortran rpm.doc/objc
693 mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
694 mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
695 sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
696
697 for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
698 cp -p $i rpm.doc/changelogs/$i
699 done
700
701 (cd gcc/fortran; for i in ChangeLog*; do
702 cp -p $i ../../rpm.doc/gfortran/$i
703 done)
704 (cd libgfortran; for i in ChangeLog*; do
705 cp -p $i ../rpm.doc/gfortran/$i.libgfortran
706 done)
707 (cd gcc/objc; for i in README*; do
708 cp -p $i ../../rpm.doc/objc/$i.objc
709 done)
710 (cd libobjc; for i in README*; do
711 cp -p $i ../rpm.doc/objc/$i.libobjc
712 done)
713 (cd boehm-gc; for i in ChangeLog*; do
714 cp -p $i ../rpm.doc/boehm-gc/$i.gc
715 done)
716 (cd fastjar-%{fastjar_ver}; for i in ChangeLog* README*; do
717 cp -p $i ../rpm.doc/fastjar/$i.fastjar
718 done)
719 (cd libffi; for i in ChangeLog* README* LICENSE; do
720 cp -p $i ../rpm.doc/libffi/$i.libffi
721 done)
722 (cd libjava; for i in ChangeLog* README*; do
723 cp -p $i ../rpm.doc/libjava/$i.libjava
724 done)
725 cp -p libjava/LIBGCJ_LICENSE rpm.doc/libjava/
726
727 rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
728 find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
729
730 %if %{build_java_tar}
731 find libjava -name \*.h -type f | xargs grep -l '// DO NOT EDIT THIS FILE - it is machine generated' > libjava-classes.list
732 find libjava -name \*.class -type f >> libjava-classes.list
733 find libjava/testsuite -name \*.jar -type f >> libjava-classes.list
734 tar cf - -T libjava-classes.list | bzip2 -9 > $RPM_SOURCE_DIR/libjava-classes-%{version}-%{release}.tar.bz2
735 %endif
736
737 %install
738 rm -fr %{buildroot}
739
740 cd obj-%{gcc_target_platform}
741
742 %if %{build_java}
743 export PATH=`pwd`/../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}${PATH:+:$PATH}
744 %if !%{bootstrap_java}
745 export PATH=`pwd`/java_hacks${PATH:+:$PATH}
746 %endif
747 %endif
748
749 TARGET_PLATFORM=%{gcc_target_platform}
750
751 # There are some MP bugs in libstdc++ Makefiles
752 make -C %{gcc_target_platform}/libstdc++-v3
753
754 make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
755 infodir=%{buildroot}%{_infodir} install
756 %if %{build_java}
757 make DESTDIR=%{buildroot} -C %{gcc_target_platform}/libjava install-src.zip
758 %endif
759 %if %{build_ada}
760 chmod 644 %{buildroot}%{_infodir}/gnat*
761 %endif
762
763 FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
764 FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
765
766 # fix some things
767 ln -sf gcc %{buildroot}%{_prefix}/bin/cc
768 mkdir -p %{buildroot}/lib
769 ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp
770 ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
771 rm -f %{buildroot}%{_infodir}/dir
772 gzip -9 %{buildroot}%{_infodir}/*.info*
773 ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
774
775 cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
776 for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
777 if ! diff -up $cxxconfig $i; then
778 cat > %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <<EOF
779 #ifndef _CPP_CPPCONFIG_WRAPPER
780 #define _CPP_CPPCONFIG_WRAPPER 1
781 #include <bits/wordsize.h>
782 #if __WORDSIZE == 32
783 %ifarch %{multilib_64_archs}
784 `cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
785 %else
786 `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
787 %endif
788 #else
789 %ifarch %{multilib_64_archs}
790 `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
791 %else
792 `cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
793 %endif
794 #endif
795 #endif
796 EOF
797 break
798 fi
799 done
800
801 for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/ -name c++config.h`; do
802 for i in 1 2 4 8; do
803 sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
804 &\
805 #endif/' $f
806 done
807 done
808
809 # Nuke bits/stdc++.h.gch dirs
810 # 1) there is no bits/stdc++.h header installed, so when gch file can't be
811 # used, compilation fails
812 # 2) sometimes it is hard to match the exact options used for building
813 # libstdc++-v3 or they aren't desirable
814 # 3) there are multilib issues, conflicts etc. with this
815 # 4) it is huge
816 # People can always precompile on their own whatever they want, but
817 # shipping this for everybody is unnecessary.
818 rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/stdc++.h.gch
819
820 %if %{build_libstdcxx_docs}
821 libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
822 mkdir -p ../rpm.doc/libstdc++-v3
823 cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
824 mv $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
825 mkdir -p %{buildroot}%{_mandir}
826 mv $libstdcxx_doc_builddir/man/man3 %{buildroot}%{_mandir}/man3/
827 find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
828 %endif
829
830 %ifarch sparcv9 sparc64
831 ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
832 %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
833 %endif
834 %ifarch ppc ppc64
835 ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
836 %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
837 %endif
838
839 %ifarch sparcv9 ppc
840 FULLLPATH=$FULLPATH/lib32
841 %endif
842 %ifarch sparc64 ppc64
843 FULLLPATH=$FULLPATH/lib64
844 %endif
845 if [ -n "$FULLLPATH" ]; then
846 mkdir -p $FULLLPATH
847 else
848 FULLLPATH=$FULLPATH
849 fi
850
851 find %{buildroot} -name \*.la | xargs rm -f
852 %if %{build_java}
853 # gcj -static doesn't work properly anyway, unless using --whole-archive
854 # and saving 35MB is not bad.
855 find %{buildroot} -name libgcj.a -o -name libgtkpeer.a \
856 -o -name libgjsmalsa.a -o -name libgcj-tools.a -o -name libjvm.a \
857 -o -name libgij.a -o -name libgcj_bc.a -o -name libjavamath.a \
858 | xargs rm -f
859
860 mv %{buildroot}%{_prefix}/lib/libgcj.spec $FULLPATH/
861 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \
862 $FULLPATH/libgcj.spec
863 %endif
864
865 mkdir -p %{buildroot}/%{_lib}
866 mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
867 chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
868 ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
869 ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
870 %ifarch sparcv9 ppc
871 ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
872 %endif
873 %ifarch %{multilib_64_archs}
874 ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
875 %endif
876 %ifarch ppc
877 rm -f $FULLPATH/libgcc_s.so
878 echo '/* GNU ld script
879 Use the shared library, but some functions are only in
880 the static library, so try that secondarily. */
881 OUTPUT_FORMAT(elf32-powerpc)
882 GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
883 %endif
884 %ifarch ppc64
885 rm -f $FULLPATH/32/libgcc_s.so
886 echo '/* GNU ld script
887 Use the shared library, but some functions are only in
888 the static library, so try that secondarily. */
889 OUTPUT_FORMAT(elf32-powerpc)
890 GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
891 %endif
892
893 mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
894
895 %if %{build_ada}
896 mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/
897 mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/
898 rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
899 %endif
900
901 mkdir -p %{buildroot}%{_prefix}/libexec/getconf
902 if gcc/xgcc -B gcc/ -E -dD -xc /dev/null | grep __LONG_MAX__.*2147483647; then
903 ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
904 else
905 ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
906 fi
907
908 %if %{build_java}
909 pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
910 make install DESTDIR=%{buildroot}
911 popd
912
913 if [ "%{_lib}" != "lib" ]; then
914 mkdir -p %{buildroot}%{_prefix}/%{_lib}/pkgconfig
915 sed '/^libdir/s/lib$/%{_lib}/' %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc \
916 > %{buildroot}%{_prefix}/%{_lib}/pkgconfig/`basename %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc`
917 fi
918 %endif
919
920 pushd $FULLPATH
921 if [ "%{_lib}" = "lib" ]; then
922 ln -sf ../../../libobjc.so.2 libobjc.so
923 ln -sf ../../../libstdc++.so.6.* libstdc++.so
924 ln -sf ../../../libgfortran.so.3.* libgfortran.so
925 ln -sf ../../../libgomp.so.1.* libgomp.so
926 ln -sf ../../../libmudflap.so.0.* libmudflap.so
927 ln -sf ../../../libmudflapth.so.0.* libmudflapth.so
928 %if %{build_java}
929 ln -sf ../../../libgcj.so.10.* libgcj.so
930 ln -sf ../../../libgcj-tools.so.10.* libgcj-tools.so
931 ln -sf ../../../libgij.so.10.* libgij.so
932 %endif
933 else
934 ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so
935 ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.so
936 ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so
937 ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
938 ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
939 ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so
940 %if %{build_java}
941 ln -sf ../../../../%{_lib}/libgcj.so.10.* libgcj.so
942 ln -sf ../../../../%{_lib}/libgcj-tools.so.10.* libgcj-tools.so
943 ln -sf ../../../../%{_lib}/libgij.so.10.* libgij.so
944 %endif
945 fi
946 %if %{build_java}
947 mv -f %{buildroot}%{_prefix}/%{_lib}/libgcj_bc.so $FULLLPATH/
948 %endif
949 mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
950 mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
951 mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
952 mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
953 mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
954 mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
955
956 %if %{build_ada}
957 %ifarch sparcv9 ppc
958 rm -rf $FULLPATH/64/ada{include,lib}
959 %endif
960 %ifarch %{multilib_64_archs}
961 rm -rf $FULLPATH/32/ada{include,lib}
962 %endif
963 if [ "$FULLPATH" != "$FULLLPATH" ]; then
964 mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
965 pushd $FULLLPATH/adalib
966 if [ "%{_lib}" = "lib" ]; then
967 ln -sf ../../../../../libgnarl-*.so libgnarl.so
968 ln -sf ../../../../../libgnarl-*.so libgnarl-4.4.so
969 ln -sf ../../../../../libgnat-*.so libgnat.so
970 ln -sf ../../../../../libgnat-*.so libgnat-4.4.so
971 else
972 ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
973 ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.4.so
974 ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
975 ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.4.so
976 fi
977 popd
978 else
979 pushd $FULLPATH/adalib
980 if [ "%{_lib}" = "lib" ]; then
981 ln -sf ../../../../libgnarl-*.so libgnarl.so
982 ln -sf ../../../../libgnarl-*.so libgnarl-4.4.so
983 ln -sf ../../../../libgnat-*.so libgnat.so
984 ln -sf ../../../../libgnat-*.so libgnat-4.4.so
985 else
986 ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
987 ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.4.so
988 ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
989 ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.4.so
990 fi
991 popd
992 fi
993 %endif
994
995 %ifarch sparcv9 ppc
996 ln -sf ../../../../../lib64/libobjc.so.2 64/libobjc.so
997 ln -sf ../`echo ../../../../lib/libstdc++.so.6.* | sed s~/lib/~/lib64/~` 64/libstdc++.so
998 ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
999 ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
1000 rm -f libmudflap.so libmudflapth.so
1001 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
1002 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
1003 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so
1004 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so
1005 %if %{build_java}
1006 ln -sf ../`echo ../../../../lib/libgcj.so.10.* | sed s~/lib/~/lib64/~` 64/libgcj.so
1007 ln -sf ../`echo ../../../../lib/libgcj-tools.so.10.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
1008 ln -sf ../`echo ../../../../lib/libgij.so.10.* | sed s~/lib/~/lib64/~` 64/libgij.so
1009 ln -sf lib32/libgcj_bc.so libgcj_bc.so
1010 ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
1011 %endif
1012 mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
1013 mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
1014 mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
1015 mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
1016 ln -sf lib32/libstdc++.a libstdc++.a
1017 ln -sf ../lib64/libstdc++.a 64/libstdc++.a
1018 ln -sf lib32/libmudflap.a libmudflap.a
1019 ln -sf ../lib64/libmudflap.a 64/libmudflap.a
1020 ln -sf lib32/libmudflapth.a libmudflapth.a
1021 ln -sf ../lib64/libmudflapth.a 64/libmudflapth.a
1022 %if %{build_ada}
1023 ln -sf lib32/adainclude adainclude
1024 ln -sf ../lib64/adainclude 64/adainclude
1025 ln -sf lib32/adalib adalib
1026 ln -sf ../lib64/adalib 64/adalib
1027 %endif
1028 %endif
1029 %ifarch %{multilib_64_archs}
1030 mkdir -p 32
1031 ln -sf ../../../../libobjc.so.2 32/libobjc.so
1032 ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++.so
1033 ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so
1034 ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
1035 rm -f libmudflap.so libmudflapth.so
1036 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
1037 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
1038 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
1039 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
1040 %if %{build_java}
1041 ln -sf ../`echo ../../../../lib64/libgcj.so.10.* | sed s~/../lib64/~/~` 32/libgcj.so
1042 ln -sf ../`echo ../../../../lib64/libgcj-tools.so.10.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
1043 ln -sf ../`echo ../../../../lib64/libgij.so.10.* | sed s~/../lib64/~/~` 32/libgij.so
1044 %endif
1045 mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
1046 mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
1047 mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
1048 mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
1049 %endif
1050 %ifarch sparc64 ppc64
1051 ln -sf ../lib32/libstdc++.a 32/libstdc++.a
1052 ln -sf lib64/libstdc++.a libstdc++.a
1053 ln -sf ../lib32/libmudflap.a 32/libmudflap.a
1054 ln -sf lib64/libmudflap.a libmudflap.a
1055 ln -sf ../lib32/libmudflapth.a 32/libmudflapth.a
1056 ln -sf lib64/libmudflapth.a libmudflapth.a
1057 %if %{build_java}
1058 ln -sf ../lib32/libgcj_bc.so 32/libgcj_bc.so
1059 ln -sf lib64/libgcj_bc.so libgcj_bc.so
1060 %endif
1061 %if %{build_ada}
1062 ln -sf ../lib32/adainclude 32/adainclude
1063 ln -sf lib64/adainclude adainclude
1064 ln -sf ../lib32/adalib 32/adalib
1065 ln -sf lib64/adalib adalib
1066 %endif
1067 %else
1068 %ifarch %{multilib_64_archs}
1069 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a
1070 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflap.a 32/libmudflap.a
1071 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflapth.a 32/libmudflapth.a
1072 %if %{build_java}
1073 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgcj_bc.so 32/libgcj_bc.so
1074 %endif
1075 %if %{build_ada}
1076 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/adainclude 32/adainclude
1077 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/adalib 32/adalib
1078 %endif
1079 %endif
1080 %endif
1081
1082 # Strip debug info from Fortran/ObjC/Java static libraries
1083 strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
1084 -o -name libmudflap.a -o -name libmudflapth.a \
1085 -o -name libgcc.a -o -name libgcov.a \) -a -type f`
1086 popd
1087 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
1088 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
1089 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
1090 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.2.*
1091
1092 %if %{build_ada}
1093 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
1094 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
1095 %endif
1096
1097 mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
1098 mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
1099 for h in `find $FULLPATH/include -name \*.h`; do
1100 if grep -q 'It has been auto-edited by fixincludes from' $h; then
1101 rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
1102 diff -up $rh $h || :
1103 rm -f $h
1104 fi
1105 done
1106
1107 cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
1108 #!/bin/sh
1109 fl="-std=c89"
1110 for opt; do
1111 case "$opt" in
1112 -ansi|-std=c89|-std=iso9899:1990) fl="";;
1113 -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
1114 exit 1;;
1115 esac
1116 done
1117 exec gcc $fl ${1+"$@"}
1118 EOF
1119 cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
1120 #!/bin/sh
1121 fl="-std=c99"
1122 for opt; do
1123 case "$opt" in
1124 -std=c99|-std=iso9899:1999) fl="";;
1125 -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
1126 exit 1;;
1127 esac
1128 done
1129 exec gcc $fl ${1+"$@"}
1130 EOF
1131 chmod 755 %{buildroot}%{_prefix}/bin/c?9
1132
1133 mkdir -p %{buildroot}%{_prefix}/sbin
1134 gcc -static -Os %{SOURCE1} -o %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
1135 strip %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
1136
1137 cd ..
1138 %find_lang %{name}
1139 %find_lang cpplib
1140
1141 # Remove binaries we will not be including, so that they don't end up in
1142 # gcc-debuginfo
1143 rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a}
1144 rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
1145 rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
1146 rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
1147 rm -f %{buildroot}%{_prefix}/bin/gnative2ascii
1148
1149 %ifarch %{multilib_64_archs}
1150 # Remove libraries for the other arch on multilib arches
1151 rm -f %{buildroot}%{_prefix}/lib/lib*.so*
1152 rm -f %{buildroot}%{_prefix}/lib/lib*.a
1153 %else
1154 %ifarch sparcv9 ppc
1155 rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
1156 rm -f %{buildroot}%{_prefix}/lib64/lib*.a
1157 %endif
1158 %endif
1159
1160 %if %{build_java}
1161 mkdir -p %{buildroot}%{_prefix}/share/java/gcj-endorsed \
1162 %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
1163 chmod 755 %{buildroot}%{_prefix}/share/java/gcj-endorsed \
1164 %{buildroot}%{_prefix}/%{_lib}/gcj-%{version} \
1165 %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
1166 touch %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
1167 %endif
1168
1169 install -m644 %{SOURCE3} %{buildroot}%{_mandir}/man1/protoize.1
1170 echo '.so man1/protoize.1' > %{buildroot}%{_mandir}/man1/unprotoize.1
1171 chmod 644 %{buildroot}%{_mandir}/man1/unprotoize.1
1172
1173 %check
1174 cd obj-%{gcc_target_platform}
1175
1176 %if %{build_java}
1177 export PATH=`pwd`/../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}${PATH:+:$PATH}
1178 %if !%{bootstrap_java}
1179 export PATH=`pwd`/java_hacks${PATH:+:$PATH}
1180 %endif
1181 %endif
1182
1183 # run the tests.
1184 make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
1185 echo ====================TESTING=========================
1186 ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
1187 echo ====================TESTING END=====================
1188 mkdir testlogs-%{_target_platform}-%{version}-%{release}
1189 for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
1190 ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
1191 done
1192 tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
1193 | uuencode testlogs-%{_target_platform}.tar.bz2 || :
1194 rm -rf testlogs-%{_target_platform}-%{version}-%{release}
1195
1196 %clean
1197 rm -rf %{buildroot}
1198
1199 %post
1200 if [ -f %{_infodir}/gcc.info.gz ]; then
1201 /sbin/install-info \
1202 --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
1203 fi
1204
1205 %preun
1206 if [ $1 = 0 -a -f %{_infodir}/gcc.info.gz ]; then
1207 /sbin/install-info --delete \
1208 --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
1209 fi
1210
1211 %post -n cpp
1212 if [ -f %{_infodir}/cpp.info.gz ]; then
1213 /sbin/install-info \
1214 --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
1215 fi
1216
1217 %preun -n cpp
1218 if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then
1219 /sbin/install-info --delete \
1220 --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
1221 fi
1222
1223 %post gfortran
1224 if [ -f %{_infodir}/gfortran.info.gz ]; then
1225 /sbin/install-info \
1226 --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
1227 fi
1228
1229 %preun gfortran
1230 if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then
1231 /sbin/install-info --delete \
1232 --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
1233 fi
1234
1235 %post java
1236 if [ -f %{_infodir}/gcj.info.gz ]; then
1237 /sbin/install-info \
1238 --info-dir=%{_infodir} %{_infodir}/gcj.info.gz || :
1239 fi
1240
1241 %preun java
1242 if [ $1 = 0 -a -f %{_infodir}/gcj.info.gz ]; then
1243 /sbin/install-info --delete \
1244 --info-dir=%{_infodir} %{_infodir}/gcj.info.gz || :
1245 fi
1246
1247 %post gnat
1248 if [ -f %{_infodir}/gnat_rm.info.gz ]; then
1249 /sbin/install-info \
1250 --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
1251 /sbin/install-info \
1252 --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
1253 /sbin/install-info \
1254 --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
1255 fi
1256
1257 %preun gnat
1258 if [ $1 = 0 -a -f %{_infodir}/gnat_rm.info.gz ]; then
1259 /sbin/install-info --delete \
1260 --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
1261 /sbin/install-info --delete \
1262 --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
1263 /sbin/install-info --delete \
1264 --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
1265 fi
1266
1267 # Because glibc Prereq's libgcc and /sbin/ldconfig
1268 # comes from glibc, it might not exist yet when
1269 # libgcc is installed
1270 %post -n libgcc -p %{_prefix}/sbin/libgcc_post_upgrade
1271
1272 %post -n libstdc++ -p /sbin/ldconfig
1273
1274 %postun -n libstdc++ -p /sbin/ldconfig
1275
1276 %post -n libobjc -p /sbin/ldconfig
1277
1278 %postun -n libobjc -p /sbin/ldconfig
1279
1280 %post -n libgcj
1281 /sbin/ldconfig
1282 if [ -f %{_infodir}/cp-tools.info.gz ]; then
1283 /sbin/install-info \
1284 --info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
1285 /sbin/install-info \
1286 --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
1287 fi
1288
1289 %preun -n libgcj
1290 if [ $1 = 0 -a -f %{_infodir}/cp-tools.info.gz ]; then
1291 /sbin/install-info --delete \
1292 --info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
1293 /sbin/install-info --delete \
1294 --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
1295 fi
1296
1297 %postun -n libgcj -p /sbin/ldconfig
1298
1299 %post -n libgfortran -p /sbin/ldconfig
1300
1301 %postun -n libgfortran -p /sbin/ldconfig
1302
1303 %post -n libgnat -p /sbin/ldconfig
1304
1305 %postun -n libgnat -p /sbin/ldconfig
1306
1307 %post -n libgomp
1308 /sbin/ldconfig
1309 if [ -f %{_infodir}/libgomp.info.gz ]; then
1310 /sbin/install-info \
1311 --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
1312 fi
1313
1314 %preun -n libgomp
1315 if [ $1 = 0 -a -f %{_infodir}/libgomp.info.gz ]; then
1316 /sbin/install-info --delete \
1317 --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
1318 fi
1319
1320 %postun -n libgomp -p /sbin/ldconfig
1321
1322 %post -n libmudflap -p /sbin/ldconfig
1323
1324 %postun -n libmudflap -p /sbin/ldconfig
1325
1326 %files -f %{name}.lang
1327 %defattr(-,root,root,-)
1328 %{_prefix}/bin/cc
1329 %{_prefix}/bin/c89
1330 %{_prefix}/bin/c99
1331 %{_prefix}/bin/gcc
1332 %{_prefix}/bin/gcov
1333 %{_prefix}/bin/protoize
1334 %{_prefix}/bin/unprotoize
1335 %ifarch ppc
1336 %{_prefix}/bin/%{_target_platform}-gcc
1337 %endif
1338 %ifarch sparc64 sparcv9
1339 %{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
1340 %endif
1341 %ifarch ppc64
1342 %{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
1343 %endif
1344 %{_prefix}/bin/%{gcc_target_platform}-gcc
1345 %{_mandir}/man1/gcc.1*
1346 %{_mandir}/man1/gcov.1*
1347 %{_mandir}/man1/protoize.1*
1348 %{_mandir}/man1/unprotoize.1*
1349 %{_infodir}/gcc*
1350 %dir %{_prefix}/lib/gcc
1351 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1352 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1353 %dir %{_prefix}/libexec/gcc
1354 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1355 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1356 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
1357 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/SYSCALLS.c.X
1358 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
1359 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
1360 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdfix.h
1361 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/varargs.h
1362 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/float.h
1363 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/limits.h
1364 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h
1365 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/iso646.h
1366 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
1367 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
1368 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/omp.h
1369 %ifarch %{ix86} x86_64
1370 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
1371 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
1372 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h
1373 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h
1374 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tmmintrin.h
1375 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ammintrin.h
1376 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/smmintrin.h
1377 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/nmmintrin.h
1378 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmmintrin.h
1379 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/wmmintrin.h
1380 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/immintrin.h
1381 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avxintrin.h
1382 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/x86intrin.h
1383 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fma4intrin.h
1384 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xopintrin.h
1385 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lwpintrin.h
1386 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
1387 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
1388 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
1389 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cross-stdarg.h
1390 %endif
1391 %ifarch ia64
1392 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia64intrin.h
1393 %endif
1394 %ifarch ppc ppc64
1395 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppc-asm.h
1396 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/altivec.h
1397 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spe.h
1398 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/paired.h
1399 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppu_intrinsics.h
1400 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/si2vmx.h
1401 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spu2vmx.h
1402 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/vec_types.h
1403 %endif
1404 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2
1405 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o
1406 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a
1407 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcov.a
1408 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a
1409 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so
1410 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.spec
1411 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.a
1412 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.so
1413 %ifarch sparcv9 ppc
1414 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1415 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
1416 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
1417 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcov.a
1418 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a
1419 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_s.so
1420 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.a
1421 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.so
1422 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.a
1423 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.a
1424 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.so
1425 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.so
1426 %endif
1427 %ifarch %{multilib_64_archs}
1428 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1429 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/crt*.o
1430 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a
1431 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcov.a
1432 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a
1433 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_s.so
1434 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.a
1435 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.so
1436 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.a
1437 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.a
1438 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.so
1439 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.so
1440 %endif
1441 %ifarch sparcv9 sparc64 ppc ppc64
1442 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
1443 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
1444 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
1445 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
1446 %endif
1447 %dir %{_prefix}/libexec/getconf
1448 %{_prefix}/libexec/getconf/default
1449 %doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
1450
1451 %files -n cpp -f cpplib.lang
1452 %defattr(-,root,root,-)
1453 /lib/cpp
1454 %{_prefix}/bin/cpp
1455 %{_mandir}/man1/cpp.1*
1456 %{_infodir}/cpp*
1457 %dir %{_prefix}/libexec/gcc
1458 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1459 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1460 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
1461
1462 %files -n libgcc
1463 %defattr(-,root,root,-)
1464 /%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
1465 /%{_lib}/libgcc_s.so.1
1466 %{_prefix}/sbin/libgcc_post_upgrade
1467 %doc gcc/COPYING.LIB
1468
1469 %files c++
1470 %defattr(-,root,root,-)
1471 %{_prefix}/bin/%{gcc_target_platform}-*++
1472 %{_prefix}/bin/g++
1473 %{_prefix}/bin/c++
1474 %{_mandir}/man1/g++.1*
1475 %dir %{_prefix}/lib/gcc
1476 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1477 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1478 %dir %{_prefix}/libexec/gcc
1479 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1480 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1481 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus
1482 %ifarch sparcv9 ppc
1483 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1484 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
1485 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.a
1486 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libsupc++.a
1487 %endif
1488 %ifarch %{multilib_64_archs}
1489 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1490 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so
1491 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a
1492 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a
1493 %endif
1494 %ifarch sparcv9 ppc %{multilib_64_archs}
1495 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
1496 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
1497 %endif
1498 %ifarch sparcv9 sparc64 ppc ppc64
1499 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
1500 %endif
1501 %doc rpm.doc/changelogs/gcc/cp/ChangeLog*
1502
1503 %files -n libstdc++
1504 %defattr(-,root,root,-)
1505 %{_prefix}/%{_lib}/libstdc++.so.6*
1506
1507 %files -n libstdc++-devel
1508 %defattr(-,root,root,-)
1509 %dir %{_prefix}/include/c++
1510 %dir %{_prefix}/include/c++/%{gcc_version}
1511 %{_prefix}/include/c++/%{gcc_version}/[^gjos]*
1512 %{_prefix}/include/c++/%{gcc_version}/os*
1513 %{_prefix}/include/c++/%{gcc_version}/s[^u]*
1514 %dir %{_prefix}/lib/gcc
1515 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1516 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1517 %ifarch sparcv9 ppc
1518 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
1519 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
1520 %endif
1521 %ifarch sparc64 ppc64
1522 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
1523 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
1524 %endif
1525 %ifnarch sparcv9 sparc64 ppc ppc64
1526 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
1527 %endif
1528 %ifnarch sparcv9 ppc %{multilib_64_archs}
1529 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
1530 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
1531 %endif
1532 %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
1533
1534 %if %{build_libstdcxx_docs}
1535 %files -n libstdc++-docs
1536 %defattr(-,root,root)
1537 %{_mandir}/man3/*
1538 %doc rpm.doc/libstdc++-v3/html
1539 %endif
1540
1541 %files objc
1542 %defattr(-,root,root,-)
1543 %dir %{_prefix}/lib/gcc
1544 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1545 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1546 %dir %{_prefix}/libexec/gcc
1547 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1548 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1549 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
1550 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc
1551 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1obj
1552 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.a
1553 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.so
1554 %ifarch sparcv9 ppc
1555 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1556 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.a
1557 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.so
1558 %endif
1559 %ifarch %{multilib_64_archs}
1560 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1561 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.a
1562 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.so
1563 %endif
1564 %doc rpm.doc/objc/*
1565 %doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
1566
1567 %files objc++
1568 %defattr(-,root,root,-)
1569 %dir %{_prefix}/libexec/gcc
1570 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1571 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1572 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
1573
1574 %files -n libobjc
1575 %defattr(-,root,root,-)
1576 %{_prefix}/%{_lib}/libobjc.so.2*
1577
1578 %files gfortran
1579 %defattr(-,root,root,-)
1580 %{_prefix}/bin/gfortran
1581 %{_prefix}/bin/f95
1582 %{_mandir}/man1/gfortran.1*
1583 %{_infodir}/gfortran*
1584 %dir %{_prefix}/lib/gcc
1585 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1586 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1587 %dir %{_prefix}/libexec/gcc
1588 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1589 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1590 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude
1591 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.h
1592 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.f90
1593 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.mod
1594 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib_kinds.mod
1595 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f951
1596 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortranbegin.a
1597 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.a
1598 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.so
1599 %ifarch sparcv9 ppc
1600 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1601 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a
1602 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.a
1603 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.so
1604 %endif
1605 %ifarch %{multilib_64_archs}
1606 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1607 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortranbegin.a
1608 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.a
1609 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.so
1610 %endif
1611 %doc rpm.doc/gfortran/*
1612
1613 %files -n libgfortran
1614 %defattr(-,root,root,-)
1615 %{_prefix}/%{_lib}/libgfortran.so.3*
1616
1617 %if %{build_java}
1618 %files java
1619 %defattr(-,root,root,-)
1620 %{_prefix}/bin/gcj
1621 %{_prefix}/bin/gjavah
1622 %{_prefix}/bin/gcjh
1623 %{_prefix}/bin/jcf-dump
1624 %{_mandir}/man1/gcj.1*
1625 %{_mandir}/man1/jcf-dump.1*
1626 %{_mandir}/man1/gjavah.1*
1627 %{_mandir}/man1/gcjh.1*
1628 %{_infodir}/gcj*
1629 %dir %{_prefix}/libexec/gcc
1630 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1631 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1632 %dir %{_prefix}/lib/gcc
1633 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1634 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1635 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jc1
1636 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/ecj1
1637 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jvgenmain
1638 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.so
1639 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj-tools.so
1640 %ifarch sparcv9 sparc64 ppc ppc64
1641 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj_bc.so
1642 %endif
1643 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgij.so
1644 %ifarch sparcv9 ppc
1645 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1646 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj.so
1647 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj-tools.so
1648 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj_bc.so
1649 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgij.so
1650 %endif
1651 %ifarch %{multilib_64_archs}
1652 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1653 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj.so
1654 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj-tools.so
1655 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj_bc.so
1656 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgij.so
1657 %endif
1658 %doc rpm.doc/changelogs/gcc/java/ChangeLog*
1659
1660 %files -n libgcj
1661 %defattr(-,root,root,-)
1662 %{_prefix}/bin/jv-convert
1663 %{_prefix}/bin/gij
1664 %{_prefix}/bin/gjar
1665 %{_prefix}/bin/fastjar
1666 %{_prefix}/bin/grepjar
1667 %{_prefix}/bin/grmic
1668 %{_prefix}/bin/grmid
1669 %{_prefix}/bin/grmiregistry
1670 %{_prefix}/bin/gtnameserv
1671 %{_prefix}/bin/gkeytool
1672 %{_prefix}/bin/gorbd
1673 %{_prefix}/bin/gserialver
1674 %{_prefix}/bin/gcj-dbtool
1675 %if %{include_gappletviewer}
1676 %{_prefix}/bin/gappletviewer
1677 %{_mandir}/man1/gappletviewer.1*
1678 %endif
1679 %{_prefix}/bin/gjarsigner
1680 %{_mandir}/man1/fastjar.1*
1681 %{_mandir}/man1/grepjar.1*
1682 %{_mandir}/man1/gjar.1*
1683 %{_mandir}/man1/gjarsigner.1*
1684 %{_mandir}/man1/jv-convert.1*
1685 %{_mandir}/man1/gij.1*
1686 %{_mandir}/man1/grmic.1*
1687 %{_mandir}/man1/grmiregistry.1*
1688 %{_mandir}/man1/gcj-dbtool.1*
1689 %{_mandir}/man1/gkeytool.1*
1690 %{_mandir}/man1/gorbd.1*
1691 %{_mandir}/man1/grmid.1*
1692 %{_mandir}/man1/gserialver.1*
1693 %{_mandir}/man1/gtnameserv.1*
1694 %{_infodir}/fastjar.info*
1695 %{_infodir}/cp-tools.info*
1696 %{_prefix}/%{_lib}/libgcj.so.*
1697 %{_prefix}/%{_lib}/libgcj-tools.so.*
1698 %{_prefix}/%{_lib}/libgcj_bc.so.*
1699 %{_prefix}/%{_lib}/libgij.so.*
1700 %dir %{_prefix}/%{_lib}/gcj-%{version}
1701 %{_prefix}/%{_lib}/gcj-%{version}/libgtkpeer.so
1702 %{_prefix}/%{_lib}/gcj-%{version}/libgjsmalsa.so
1703 %{_prefix}/%{_lib}/gcj-%{version}/libjawt.so
1704 %if %{include_gappletviewer}
1705 %{_prefix}/%{_lib}/gcj-%{version}/libgcjwebplugin.so
1706 %endif
1707 %{_prefix}/%{_lib}/gcj-%{version}/libjvm.so
1708 %{_prefix}/%{_lib}/gcj-%{version}/libjavamath.so
1709 %dir %{_prefix}/share/java
1710 %{_prefix}/share/java/[^sl]*
1711 %{_prefix}/share/java/libgcj-%{version}.jar
1712 %dir %{_prefix}/%{_lib}/security
1713 %config(noreplace) %{_prefix}/%{_lib}/security/classpath.security
1714 %{_prefix}/%{_lib}/logging.properties
1715 %dir %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
1716 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{version}/classmap.db
1717 %if %{include_gappletviewer}
1718 %doc rpm.doc/README.libgcjwebplugin.so
1719 %endif
1720
1721 %files -n libgcj-devel
1722 %defattr(-,root,root,-)
1723 %dir %{_prefix}/lib/gcc
1724 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1725 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1726 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
1727 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gcj
1728 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt.h
1729 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt_md.h
1730 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jni.h
1731 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jni_md.h
1732 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jvmpi.h
1733 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.spec
1734 %ifarch sparcv9 ppc
1735 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
1736 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libgcj_bc.so
1737 %endif
1738 %ifarch sparc64 ppc64
1739 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
1740 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libgcj_bc.so
1741 %endif
1742 %ifnarch sparcv9 sparc64 ppc ppc64
1743 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj_bc.so
1744 %endif
1745 %dir %{_prefix}/include/c++
1746 %dir %{_prefix}/include/c++/%{gcc_version}
1747 %{_prefix}/include/c++/%{gcc_version}/[gj]*
1748 %{_prefix}/include/c++/%{gcc_version}/org
1749 %{_prefix}/include/c++/%{gcc_version}/sun
1750 %{_prefix}/%{_lib}/pkgconfig/libgcj-*.pc
1751 %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
1752 %doc rpm.doc/libjava/*
1753
1754 %files -n libgcj-src
1755 %defattr(-,root,root,-)
1756 %dir %{_prefix}/share/java
1757 %{_prefix}/share/java/src*.zip
1758 %{_prefix}/share/java/libgcj-tools-%{version}.jar
1759 %endif
1760
1761 %if %{build_ada}
1762 %files gnat
1763 %defattr(-,root,root,-)
1764 %{_prefix}/bin/gnat*
1765 %{_infodir}/gnat*
1766 %dir %{_prefix}/lib/gcc
1767 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1768 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1769 %dir %{_prefix}/libexec/gcc
1770 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
1771 %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
1772 %ifarch sparcv9 ppc
1773 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
1774 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/adainclude
1775 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/adalib
1776 %endif
1777 %ifarch %{multilib_64_archs}
1778 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
1779 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/adainclude
1780 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/adalib
1781 %endif
1782 %ifarch sparcv9 sparc64 ppc ppc64
1783 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude
1784 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
1785 %endif
1786 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1
1787 %doc rpm.doc/changelogs/gcc/ada/ChangeLog*
1788
1789 %files -n libgnat
1790 %defattr(-,root,root,-)
1791 %{_prefix}/%{_lib}/libgnat-*.so
1792 %{_prefix}/%{_lib}/libgnarl-*.so
1793
1794 %files -n libgnat-devel
1795 %defattr(-,root,root,-)
1796 %dir %{_prefix}/lib/gcc
1797 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1798 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1799 %ifarch sparcv9 ppc
1800 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
1801 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adainclude
1802 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib
1803 %endif
1804 %ifarch sparc64 ppc64
1805 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
1806 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adainclude
1807 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib
1808 %endif
1809 %ifnarch sparcv9 sparc64 ppc ppc64
1810 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude
1811 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
1812 %endif
1813 %endif
1814
1815 %files -n libgomp
1816 %defattr(-,root,root,-)
1817 %{_prefix}/%{_lib}/libgomp.so.1*
1818 %{_infodir}/libgomp.info*
1819 %doc rpm.doc/changelogs/libgomp/ChangeLog*
1820
1821 %files -n libmudflap
1822 %defattr(-,root,root,-)
1823 %{_prefix}/%{_lib}/libmudflap.so.0*
1824 %{_prefix}/%{_lib}/libmudflapth.so.0*
1825
1826 %files -n libmudflap-devel
1827 %defattr(-,root,root,-)
1828 %dir %{_prefix}/lib/gcc
1829 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
1830 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
1831 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
1832 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h
1833 %ifarch sparcv9 ppc
1834 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
1835 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflap.a
1836 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflapth.a
1837 %endif
1838 %ifarch sparc64 ppc64
1839 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
1840 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflap.a
1841 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflapth.a
1842 %endif
1843 %ifnarch sparcv9 sparc64 ppc ppc64
1844 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
1845 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
1846 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
1847 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
1848 %endif
1849 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
1850
1851 %changelog
1852 * Mon Nov 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-9
1853 - update from gcc-4_4-branch
1854 - PRs c++/35067, c++/36912, c++/36959, c++/37093, c++/38699, c++/39786,
1855 c++/41856, c++/41876, c++/41967, c++/9381, fortran/41772,
1856 fortran/41909, middle-end/41963, rtl-optimization/41917,
1857 target/41900, tree-optimization/41643
1858 - selected backports from trunk
1859 - PRs debug/41801, middle-end/41837, target/41985, tree-optimization/41841
1860 - initial AMD Orochi -mxop and -mlwp support
1861 - try to avoid wrapping CONST_INTs/VOIDmode CONST_DOUBLEs into CONST
1862
1863 * Mon Nov 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-8
1864 - update from gcc-4_4-branch
1865 - PRs c++/41754, fortran/41777, fortran/41850, libstdc++/40852
1866 - fix ICE with unmatched #pragma GCC visibility push/pop (PR c++/41774)
1867 - fix VTA ICE with -combine (#531385, PR debug/41893)
1868 - fix RTTI for anon namespace classes
1869 - fix incorrect uses of __restrict keyword in valarray (PR libstdc++/41763)
1870
1871 * Tue Oct 27 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-7
1872 - update from gcc-4_4-branch
1873 - PRs c++/40808, c/41842, cp-tools/39177
1874 - VTA backports
1875 - PR bootstrap/41345
1876 - don't emit DW_AT_name: <anonymous struct> etc. into debug info
1877 (#530304, PR debug/41828)
1878 - power7 ABI fixes (PR target/41787)
1879 - fix ICE in ix86_pic_register_p (PR target/41762)
1880
1881 * Thu Oct 22 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-6
1882 - update from gcc-4_4-branch
1883 - PR target/41702
1884 - fix a pod2man error in gcc.1 (#530102)
1885 - fix mangling of very large names
1886 - document -print-multi-os-directory in gcc.info and gcc.1
1887 (#529659, PR other/25507)
1888
1889 * Mon Oct 19 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-5
1890 - update from gcc-4_4-branch
1891 - PR fortran/41755
1892 - s390 z10 tuning fixes
1893 - provide accurate attributes for powerpc builtins (PR target/23983)
1894 - fix -fcompare-debug differences caused by DCE removal of debug stmts
1895 - fix updating of speculation status with VTA (PR debug/41739)
1896
1897 * Sun Oct 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-4
1898 - update from gcc-4_4-branch
1899 - PRs c++/37204, c++/37766, c++/37875, c++/38798, c++/40092,
1900 libstdc++/40654, libstdc++/40826
1901 - fix VTA ICE on invalid pointer arithmetics (#529512)
1902
1903 * Sat Oct 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-3
1904 - fix VTA handling in the scheduler (PR debug/41535)
1905 - fix up %%check section to be able to find ecj1
1906
1907 * Fri Oct 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-2
1908 - update from gcc-4_4-branch
1909 - PR target/40913
1910 - VTA backports
1911 - PR debug/41717
1912 - fix Ada .eh_frame generation (PR debug/40521)
1913
1914 * Thu Oct 15 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-1
1915 - update from gcc-4_4-branch
1916 - GCC 4.4.2 release
1917 - PRs middle-end/22072, target/41665
1918 - don't emit -Wpadded warnings for builtin structures
1919 - don't generate .eh_frame, but generate .debug_frame when -g and none of
1920 -fasynchronous-unwind-tables/-fexceptions/-funwind-tables is used
1921 (PR debug/40521)
1922
1923 * Wed Oct 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-22
1924 - update from gcc-4_4-branch
1925 - PRs target/26515, target/38948
1926 - fix s390{,x} BLKmode symbol handling
1927 - fix i?86 testqi splitter (#528206, PR target/41680)
1928 - VTA backports
1929 - introduce debug temps (PRs debug/41264, debug/41338, debug/41343,
1930 debug/41447, target/41693)
1931 - build debug stmts on updates (PR debug/41616)
1932 - fix another with/without -save-temps debug info difference
1933 (#526841, PR preprocessor/41543)
1934 - fix invalid ranges in .debug_loc section (PR debug/41695)
1935 %if 0%{?rhel} >= 6
1936 - if -mcpu= isn't specified, default to -mcpu=power4 (#463549)
1937 %endif
1938
1939 * Sat Oct 10 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-21
1940 - update from gcc-4_4-branch
1941 - fix s390{,x} prefetch for pre-z10 CPUs (#524552)
1942 - VTA backports
1943 - fix debug info differences with/without -save-temps
1944 (PR preprocessor/41445)
1945 - fix ICE with small BLKmode returning call (#516028,
1946 PR rtl-optimization/41646)
1947
1948 * Thu Oct 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-20
1949 - update from gcc-4_4-branch
1950 - PRs c++/39863, c++/41038
1951 - avoid redundant DW_AT_const_value when abstract origin already has one
1952 (#527430)
1953 - another VTA debug stmt renaming bugfix (#521991)
1954
1955 * Mon Oct 5 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-19
1956 - update from gcc-4_4-branch
1957 - PRs fortran/41479, fortran/41515
1958 - VTA backports
1959 - PRs debug/41353, debug/41404, rtl-optimization/41511
1960 - another debug info fix for decls passed by reference (#527057,
1961 PR debug/41558)
1962 - don't emit DW_AT_name on DW_TAG_const_type (#526970)
1963 - avoid invalid folding of casts to addresses of first fields
1964 (#527121, PR middle-end/41317)
1965
1966 * Thu Oct 1 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-18
1967 - update from gcc-4_4-branch
1968 - PRs ada/41100, target/22093
1969 - VTA backports
1970 - PRs debug/41438, debug/41474, target/41279, testsuite/41444
1971 - fix VTA ICE on Linux kernel (#521991)
1972 - AMD Orochi -mfma4 support
1973 - don't run install-info if info files are missing because of --excludedocs
1974 (#515921, #515960, #515962, #515965, #516000, #516008, #516014)
1975
1976 * Fri Sep 25 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-17
1977 - update from gcc-4_4-branch
1978 - fix vectorizer for power7 (#463846)
1979 - VTA backports
1980 - fix debug info for parameters passed by reference (#525709)
1981 - PR bootstrap/41457
1982 - remove power7 VSX load/store with update insn support
1983 - remove SSE5 support
1984
1985 * Wed Sep 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-16
1986 - update from gcc-4_4-branch
1987 - PRs c/39779, c/41049, debug/41065, libffi/40242, libffi/41443,
1988 libgfortran/41328, testsuite/41288
1989 - VTA backports
1990 - PRs bootstrap/41397, bootstrap/41404, bootstrap/41405, debug/41295,
1991 debug/41411, debug/41439
1992 - fix ICE caused by reload substitution of const_int into zero_extend
1993 in debug_insn (#524439)
1994 - fix altivec vec_cmp{lt,gt} (#524273)
1995 - fix -mno-sched-epilogue on ppc (#524216, PR target/40473)
1996 - don't look at MUDFLAP_OPTIONS env var in suid/sgid programs
1997 (PR libmudflap/41433)
1998
1999 * Fri Sep 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-15
2000 - for now disable out of line gpr/fpr saving on ppc with -m64 -Os -mcall-aixdesc
2001 - fix DW_AT_decl_{file,location} for DW_TAG_structure_type for C structs
2002 with forward declarations (#523810)
2003
2004 * Wed Sep 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-14
2005 - update from gcc-4_4-branch
2006 - PRs fortran/39876, tree-optimization/41101
2007 - asm goto support
2008 - VTA delayed branch scheduling fix (PR bootstrap/41349)
2009 - power7 VSX fix (PR target/41210)
2010 - ppc bswap fixes (PR target/41331)
2011
2012 * Fri Sep 11 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-13
2013 - fix ICE in debuginfo output with BLOCK_NONLOCALIZED_VARS (#518303)
2014 - wrap_constant when propagating for subst in debug in the combiner (#522577)
2015 - further fix for ppc -m32 -Os out of line gpr/fpr restoring (PR target/41175)
2016
2017 * Thu Sep 10 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-12
2018 - update from gcc-4_4-branch
2019 - PRs bootstrap/41180, target/41315
2020 - fix ICE in tree-ssa-phiprop.c (#522277, PR tree-optimization/39827)
2021 - ppc64 bswap fix
2022 - fix ppc/ppc64 -mmultiple and out of line gpr/fpr saving bugs
2023 (#519409, PR target/40677, PR target/41175)
2024
2025 * Wed Sep 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-11
2026 - fix ICE in tls_mem_loc_descriptor (#521991)
2027
2028 * Tue Sep 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-10
2029 - update from gcc-4_4-branch
2030 - PRs fortran/41258, rtl-optimization/40861
2031 - fix scheduler not to reorder potentially trapping insns across
2032 calls that might not always return (#520916, PR rtl-optimization/41239)
2033 - merge in VTA
2034
2035 * Thu Sep 3 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-9
2036 - update from gcc-4_4-branch
2037 - fix wide char constant stringification
2038 - __builtin_unreachable fix
2039
2040 * Wed Sep 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-8
2041 - fix up __builtin_object_size (#505862)
2042 - fix Fortran GOTO warning (PR fortran/38507)
2043
2044 * Tue Sep 1 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-7
2045 - update from gcc-4_4-branch
2046 - PRs c++/41120, c++/41127, c++/41131, fortran/41062, fortran/41102,
2047 fortran/41121, fortran/41126, fortran/41139, fortran/41157,
2048 fortran/41162, libfortran/40962, libstdc++/41005, middle-end/41094,
2049 middle-end/41123, middle-end/41163, target/34412, target/40718
2050 - fix pr22033.C on ppc*/ia64/sparc*
2051 - emit namespace DIE even if it contains just some used type (PR debug/41170)
2052 - fix dynamic_cast (#519517)
2053 - backport power7 changes from the trunk, instead of using the old incomplete
2054 backport from ibm/power7-meissner
2055
2056 * Tue Aug 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-6
2057 - update from gcc-4_4-branch
2058 - PRs bootstrap/41018, c/41046, debug/37801, debug/40990, fortran/40847,
2059 rtl-optimization/41033, target/41015, target/41019, target/8603,
2060 tree-optimization/41016
2061
2062 * Fri Aug 7 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-5
2063 - update from gcc-4_4-branch
2064 - PRs c++/40948, target/40906
2065 - -fexceptions support for -freorder-blocks-and-partition
2066
2067 * Wed Aug 5 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-4
2068 - update from gcc-4_4-branch
2069 - PRs build/40010, c++/39987, c++/40749, c++/40834, c++/40948, debug/39706,
2070 fortran/40822, fortran/40848, fortran/40851, fortran/40878,
2071 libfortran/40853, middle-end/40943, rtl-optimization/40924,
2072 target/40577, testsuite/40829, testsuite/40891,
2073 tree-optimization/40570
2074 - backport __builtin_unreachable () support
2075 - fix powerpc ICE in memory_address (#515672, PR target/40971)
2076
2077 * Sat Jul 25 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-3
2078 - update from gcc-4_4-branch
2079 - PR fortran/40727
2080 - fix unwind info for -freorder-blocks-and-partitions
2081 (PR rtl-optimization/34999)
2082 - fix Fortran MINLOC/MAXLOC/MINVAL/MAXVAL handling of infinities and NaNs,
2083 speed them up (PRs fortran/40643, fortran/31067)
2084 - fix ICE with Fortran data xfer without io unit (PR fortran/40839)
2085
2086 * Thu Jul 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-2
2087 - update from gcc-4_4-branch
2088 - PRs rtl-optimization/40710, target/40832, tree-optimization/40321
2089 - use STB_GNU_UNIQUE symbols for inline fn local statics and
2090 template static data members
2091 - use strcmp for C++ typeinfo comparisons instead of pointer comparison
2092
2093 * Wed Jul 22 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-1
2094 - update from gcc-4_4-branch
2095 - GCC 4.4.1 release
2096
2097 * Tue Jul 21 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-15
2098 - update from gcc-4_4-branch
2099 - PRs libfortran/40714, target/39943, target/40809, tree-optimization/40792
2100 - fix ICE in gsi_insert_seq_nodes_after (#505798,
2101 PR tree-optimization/40813)
2102 - slightly relax -D_FORTIFY_SOURCE=2 rules for flexible-array-member like
2103 constructs (#512689, #511573)
2104 - vectorize unsigned int -> {float,double} conversions on x86/x86_64
2105 (PR target/40811)
2106 - update for i586.rpm -> i686.rpm switch (default to -march=i686 -mtune=generic
2107 in i686.rpm gcc and also with -m32 in x86_64.rpm gcc)
2108
2109 * Fri Jul 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-14
2110 - update from gcc-4_4-branch
2111 - PRs c++/40740, libstdc++/40691, middle-end/40747
2112 - fix ICE in gimplify_conversion (#511229, PR c++/40780)
2113
2114 * Mon Jul 13 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-13
2115 - update from gcc-4_4-branch
2116 - PRs c++/36628, c++/37206, c++/40502, c++/40684, c++/40689, fortran/40440,
2117 rtl-optimization/40667, target/40668
2118 - avoid overlapping entries in .debug_ranges section (PR debug/40713)
2119
2120 * Wed Jul 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-12
2121 - update from gcc-4_4-branch
2122 - PRs c++/35828, c++/37816, c++/37946, c++/40557, c++/40633, c++/40639,
2123 debug/40666, target/38900
2124 - use more compact DW_AT_member_location for constant offsets (PR debug/40659)
2125
2126 * Tue Jul 7 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-11
2127 - update from gcc-4_4-branch
2128 - PRs c++/40274, c++/40342, c++/40566, c++/40595, c++/40619, c/39902,
2129 fortran/40443, fortran/40551, fortran/40576, fortran/40594,
2130 fortran/40638, libfortran/40576, libstdc++/40297, libstdc++/40600,
2131 middle-end/40585, middle-end/40669, other/40024, target/40587,
2132 tree-optimization/40493, tree-optimization/40542,
2133 tree-optimization/40550, tree-optimization/40579,
2134 tree-optimization/40582, tree-optimization/40640
2135 - backports from trunk
2136 - fix debuginfo in dynamically realigned functions (PR debug/40596)
2137 - speed up polyhedron NF (PR middle-end/34163)
2138 - epilogue unwinding fixes (PRs bootstrap/40347, debug/40462)
2139 - fix debug info for inlines (PR debug/40573)
2140 - optimize assuming allocatable arrays in the innermost
2141 dimension are always stride 1 (PR fortran/32131)
2142
2143 * Tue Jun 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-10
2144 - update from gcc-4_4-branch
2145 - PRs fortran/39800, fortran/40402, libstdc++/40497, middle-end/40389,
2146 middle-end/40404, middle-end/40446, middle-end/40460, objc/28050,
2147 target/40470, tree-optimization/40492
2148 - decrease memory consumption and speed up var-tracking pass (#503816)
2149 - __builtin_object_size fix for C++ (#506952)
2150
2151 * Mon Jun 15 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-9
2152 - update from gcc-4_4-branch
2153 - PR fortran/40168
2154 - fix up debug.exp testsuite (PR testsuite/40426)
2155 - fix up a pasto in recent -D_FORTIFY_SOURCE changes (#506099)
2156
2157 * Fri Jun 12 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-8
2158 - update from gcc-4_4-branch
2159 - PRs c++/40381, libfortran/40330
2160 - add -mcrc32 support on ix86
2161 - support -gdwarf-3 and default to it, emit DW_OP_call_frame_cfa
2162 - fix up ix86 padding for branch mispredicts
2163 - improve .debug_loc generation
2164
2165 * Tue Jun 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-7
2166 - update from gcc-4_4-branch
2167 - PRs ada/40166, bootstrap/40027, c++/38064, c++/39754, c++/40007,
2168 c++/40139, c/40172, c++/40306, c++/40307, c++/40308, c++/40311,
2169 c++/40370, c++/40372, c++/40373, debug/40109, fortran/22423,
2170 fortran/38654, fortran/39893, fortran/40019, fortran/40195,
2171 libfortran/25561, libfortran/37754, libfortran/38668,
2172 libfortran/39665, libfortran/39667, libfortran/39702,
2173 libfortran/39709, libfortran/39782, libfortran/40334,
2174 libgfortran/39664, libgomp/40174, libstdc++/36211, libstdc++/40192,
2175 libstdc++/40296, libstdc++/40299, middle-end/32950, middle-end/40147,
2176 middle-end/40204, middle-end/40233, middle-end/40252,
2177 middle-end/40291, middle-end/40328, middle-end/40340,
2178 rtl-optimization/40105, target/40017, target/40153, target/40266,
2179 testsuite/39907, tree-optimization/39999, tree-optimization/40087,
2180 tree-optimization/40238, tree-optimization/40254
2181 - support Atom for -march=native
2182 - add -mmovbe support for Atom
2183 - improve ix86 instruction length computation, remove some unneeded padding
2184 - -D_FORTIFY_SOURCE improvements
2185 - emit accurate epilogue unwinding information
2186 - add unwind debug hook for gdb
2187
2188 * Thu May 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-5
2189 - update from gcc-4_4-branch
2190 - PRs c++/17395, c/39983, fortran/38863, fortran/38956, fortran/39879,
2191 fortran/40018, libstdc++/39546, libstdc++/40038, middle-end/39986,
2192 middle-end/40021, middle-end/40023, middle-end/40043,
2193 middle-end/40057, middle-end/40080, target/37179,
2194 tree-optimization/40062, tree-optimization/40074
2195 - fix Fortran FMT= character array arguments (#492209, PR fortran/39865)
2196 - allow putting breakpoints on Fortran END{SUBROUTINE,FUNCTION}
2197 (PR fortran/34153)
2198 - incorporate changes suggested in gcc44 package review (#498911)
2199
2200 * Wed May 6 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-4
2201 - update from gcc-4_4-branch
2202 - PRs c++/40013, libgcj/39899, libstdc++/39868, libstdc++/39880,
2203 libstdc++/39881, libstdc++/39882, libstdc++/39909, middle-end/39937,
2204 rtl-optimization/39914, target/39565, testsuite/39769,
2205 testsuite/39776, testsuite/39790, testsuite/39807,
2206 tree-optimization/39941
2207 - fix phiprop tuplification (#496400, PR tree-optimization/40022)
2208 - don't add artificial default case label if switch labels already
2209 cover the whole range (PR middle-end/39666)
2210 - fix DSE with block reads (PR middle-end/40035)
2211 - fix debuginfo for C++ typedef struct {...} T (PR debug/35463)
2212 - remove some unnecessary padding on x86_64/i386 added for >= 4 control
2213 flow insns in a 16-byte block (PR target/39942)
2214 - don't create invalid DWARF location lists containing DW_OP_reg*
2215 followed by DW_OP_deref*, instead use DW_OP_breg* 0 (#481675)
2216 - add libstdc++-docs subpackage, move html manual to it, add doxygen
2217 generated html and man pages
2218
2219 * Mon Apr 27 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-3
2220 - update from gcc-4_4-branch
2221 - PR bootstrap/39739
2222 - fix -Wunused-value (#497545, PR c/39889)
2223 - backport further power7-meissner branch changes (#497816)
2224 - fix reg-stack ICE on SPEC2k6 453.povray with -m32 -O3 -msse3
2225 (PR target/39856)
2226 - fix x86_64 ICE on passing structure with flexible array member
2227 (PR target/39903)
2228
2229 * Fri Apr 24 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-2
2230 - update from gcc-4_4-branch
2231 - PR c++/38228
2232 - fix folding of cond expr with comparison to MAX/MIN (PR middle-end/39867)
2233 - fix up gcc-gnat install-info arguments (#452783)
2234
2235 * Thu Apr 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-1
2236 - update from gcc-4_4-branch
2237 - GCC 4.4.0 release
2238 - PRs libstdc++/39802, c++/39639, c/39855, rtl-optimization/39762,
2239 testsuite/39781, tree-optimization/39824
2240 - fix up DSE (PR rtl-optimization/39794)
2241 - debuginfo fixes for VLA and nested/contained functions (#459374)
2242 - improve -ftree-switch-conversion optimization if the constant is the
2243 same in all cases
2244
2245 * Mon Apr 20 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.35
2246 - update from gcc-4_4-branch
2247 - PRs middle-end/39804, target/39678, target/39767, tree-optimization/39675,
2248 tree-optimization/39764
2249
2250 * Tue Apr 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.34
2251 - update from gcc-4_4-branch
2252 - GCC 4.4.0-rc1
2253 - license changes to GPLv3+ with GCC Runtime Exception for most of the
2254 lib* files
2255 - PRs c++/28301, c++/39480, c++/39742, c++/39750, c/39613, c/39614, c/39673,
2256 libobjc/36610, target/39740, testsuite/35621, tree-optimization/39713
2257 - fix another -Wshadow C++ issue (PR c++/39763)
2258
2259 * Thu Apr 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.32
2260 - update from gcc-4_4-branch
2261 - PRs c++/34691, c++/35146, c++/35240, c++/37806, c++/38030, c++/38850,
2262 c++/39608, c++/39637, c++/4926, c/37772, fortran/38152,
2263 fortran/39519, fortran/39594, libmudflap/38462, libstdc++/39310,
2264 middle-end/39573, objc/18456, objc/27377, other/39591,
2265 rtl-optimization/39588, rtl-optimization/39607, target/39501,
2266 target/39592, target/39634, testsuite/39325, tree-optimization/35011,
2267 tree-optimization/39595, tree-optimization/39648
2268 - handle .cfi_undefined(%ip) in libgcc_s unwinder (#491542)
2269 - fix debug info for C++ static data members (#410691)