packaging: update math libraries version
[platform/upstream/gcc.git] / packaging / gcc.spec
1 #
2 # spec file for package gcc
3 #
4 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 # Copyright (c) 2015-2020 Tizen
6 #
7 # All modifications and additions to the file contributed by third parties
8 # remain the property of their copyright owners, unless otherwise agreed
9 # upon. The license for this file, and modifications and additions to the
10 # file, is the same license as for the pristine package itself (unless the
11 # license for the pristine package is not an Open Source License, in which
12 # case the license is the MIT License). An "Open Source License" is a
13 # license that conforms to the Open Source Definition (Version 1.9)
14 # published by the Open Source Initiative.
15
16 # Please submit bugfixes or comments via http://bugs.tizen.org/
17 #
18 # we use %%{?macro: ... } as it is more compact
19 %if 0%{?run_tests}
20 %{!?cross:
21 %define gcc_run_tests 1
22 }
23 %endif
24 %if 0%{?dump_configure}
25 %define gcc_dump_configure 1
26 %endif
27
28 # Enable this when testing on device to:
29 # 1. Enable macro to turn on testsuite building ('gcc_run_tests 1')
30 # 2. Keep 'obj/' folder in build stage as we do not want to rebuild all gcc
31 # again on device after invoking rpmbuild --short-circuit -bc ...
32 # 3. Skip configure and make commands and go directly to 'make check'
33 %if 0%{?run_tests_on_device}
34 %define gcc_run_tests 1
35 %define gcc_keep_build_dir 1
36 %define gcc_skip_configure 1
37 %define gcc_skip_make 1
38 %endif
39
40 # Exit right after 'make ..' step to keep all object files produced by gcc build
41 %if 0%{?exit_on_make_finish}
42 %define gcc_exit_on_make_finish 1
43 %endif
44
45 # Bootstrap build constrains for ASan config
46 %if 0%{?asanbootstrap}
47   %ifarch %arm aarch64 # or #if 0#{?qemu_user_space_build}
48     %{error:"'asanbootstrap' supposed to be used with i586/x86_64 arch"}
49     # The #error macro primitive cannot stop the build because macros are context
50     # free, lazily expanded whereever they are needed, not only during build.
51     # Use non-existing define for now to abort the build.
52     %abort_build
53   %endif
54   # We'll get 2 libasan runtime conflict: preloaded one and another from build dir.
55   %if 0%{?asan}
56     %{error:"'asanbootstrap' could not be used with sanitized environment."}
57     %{error:"Use 'asanbootstrap' without defined 'asan'"}
58     %abort_build
59   %endif
60 %endif
61
62 %define quadmath_arch %ix86 x86_64 ia64
63 %define tsan_arch x86_64 aarch64
64 %define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm aarch64
65 %define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
66 %define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
67 %define lsan_arch x86_64 aarch64
68 %define hwasan_arch aarch64
69 %define ubsan_arch x86_64 %ix86 ppc ppc64 %arm aarch64
70
71 %ifarch armv7l
72 %define ARCH armv7l
73 %define ABI eabi
74 %endif
75 %ifarch armv7hl
76 %define ARCH armv7hl
77 %define ABI eabihf
78 %endif
79 %ifarch %ix86
80 %define ARCH i586
81 %endif
82 %ifarch x86_64
83 %define ARCH x86_64
84 %endif
85 %ifarch aarch64
86 %define ARCH aarch64
87 %endif
88 %define host_arch %{ARCH}-tizen-linux-gnu%{?ABI}
89
90 %define target_cpu %{?cross}%{!?cross:%{ARCH}}
91 %define target_abi %{?cross:%{?armv7l:eabi}%{?armv7hl:eabihf}}%{!?cross:%{?ABI}}
92
93 %define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi}
94 %define libdir %{!?cross:%{_libdir}}%{?cross:%{_prefix}/lib%{?aarch64:64}}
95 %define libsubdir %{libdir}/gcc/%{target_arch}/%{version}
96
97 Name:          gcc%{?cross:-%{cross}}
98 # With generated files in src we could drop the following
99 BuildRequires: bison
100 BuildRequires: flex
101 BuildRequires: gettext-devel
102 BuildRequires: makeinfo
103 ## until here, but at least renaming and patching info files breaks this
104 BuildRequires: gcc-c++
105 BuildRequires: zlib-devel
106 BuildRequires: xz-devel
107 %ifarch x86_64
108 BuildRequires: glibc-devel-32bit
109 %endif
110 BuildRequires: perl
111 %{?cross:BuildRequires: binutils-%{cross}}
112 # here we use %%if because OBS spec parser cannot expand
113 # %%{?macro:...} correctly
114 %if 0%{?gcc_run_tests}
115 BuildRequires: dejagnu
116 BuildRequires: expect
117 %endif
118 %if 0%{?gcc_dump_configure}
119 BuildRequires: configure-dumper
120 %endif
121 URL:           http://gcc.gnu.org/
122 Version:       12.2.0
123 Release:       0
124 Source:        gcc-%{version}.tar.bz2
125 Source10:      gmp-6.2.1.tar.bz2
126 Source11:      mpfr-4.2.0.tar.bz2
127 Source12:      mpc-1.3.1.tar.gz
128 Source13:      isl-0.22.tar.bz2
129 Source20:      gcc.manifest
130 Group:         Development/Building
131 Summary:       The GNU C Compiler and Support Files
132 License:       GPL-3.0+
133 %{?cross:ExcludeArch: %{cross}}
134 %description
135 Core package for the GNU Compiler Collection, including the C language
136 frontend.
137
138 %package c++
139 Summary:       The GNU C++ Compiler
140 License:       GPL-3.0+
141 Group:         Development/Languages
142 %description c++
143 This package contains the GNU compiler for C++.
144
145 %package -n libstdc++
146 Summary:       The standard C++ shared library
147 License:       GPL-3.0-with-GCC-exception
148 Group:         Development/Building
149 %description -n libstdc++
150 The standard C++ library, needed for dynamically linked C++ programs.
151 %post -n libstdc++ -p /sbin/ldconfig
152 %postun -n libstdc++ -p /sbin/ldconfig
153
154 %package -n libstdc++-devel
155 Summary:       Include Files and Libraries mandatory for Development
156 License:       GPL-3.0-with-GCC-exception
157 Group:         Development/Building
158 %description -n libstdc++-devel
159 This package contains all the headers and libraries of the standard C++
160 library. It is needed for compiling C++ code.
161
162 %package -n libgcc
163 Summary:       C compiler runtime library
164 License:       GPL-3.0-with-GCC-exception
165 Group:         Development/Building
166 %description -n libgcc
167 Libgcc is needed for dynamically linked C programs.
168 %post -n libgcc -p /sbin/ldconfig
169 %postun -n libgcc -p /sbin/ldconfig
170
171 %package -n libgomp
172 Summary:       The GNU compiler collection OpenMP runtime library
173 License:       GPL-3.0-with-GCC-exception
174 Group:         Development/Building
175 %description -n libgomp
176 This is the OpenMP runtime library needed by OpenMP enabled programs
177 that were built with the -fopenmp compiler option and by programs that
178 were auto-parallelized via the -ftree-parallelize-loops compiler
179 option.
180 %post -n libgomp -p /sbin/ldconfig
181 %postun -n libgomp -p /sbin/ldconfig
182
183 %package objc
184 Summary:       GNU Objective C Compiler
185 License:       GPL-3.0+
186 Group:         Development/Languages
187 %description objc
188 This package contains the GNU Objective C compiler. Objective C is an
189 object oriented language, created by Next Inc. and used in their
190 Nextstep OS. The source code is available in the gcc package.
191
192 %package -n libobjc
193 Summary:       Library for the GNU Objective C Compiler
194 License:       GPL-3.0-with-GCC-exception
195 Group:         Development/Building
196 %description -n libobjc
197 The library for the GNU Objective C compiler.
198 %post -n libobjc -p /sbin/ldconfig
199 %postun -n libobjc -p /sbin/ldconfig
200
201 %package -n libcc1
202 Summary:       GNU C Compiler plugin for GDB
203 License:       GPL-3.0-with-GCC-exception
204 Group:         Development/Building
205 %description -n libcc1
206 The GCC plugin for GDB
207 %post -n libcc1 -p /sbin/ldconfig
208 %postun -n libcc1 -p /sbin/ldconfig
209
210 %package obj-c++
211 Summary:       GNU Objective C++ Compiler
212 License:       GPL-3.0+
213 Group:         Development/Languages
214 %description obj-c++
215 This package contains the GNU Objective C++ compiler. Objective C++ is an
216 object oriented language, created by Next Inc. and used in their
217 Nextstep OS. The source code is available in the gcc package.
218
219 %package -n cpp
220 Summary:       The GCC Preprocessor
221 License:       GPL-3.0+
222 Group:         Development/Languages
223 %description -n cpp
224 This Package contains just the preprocessor that is used by the X11
225 packages.
226
227 %package ada
228 Summary:       GNU Ada95 Compiler Based on GCC (GNAT)
229 License:       GPL-3.0+
230 Group:         Development/Languages
231 %description ada
232 This package contains an Ada95 compiler and associated development
233 tools based on the GNU GCC technology. Ada95 is the object oriented
234 successor of the Ada83 language. To build this package from source you
235 must have installed a binary version to bootstrap the compiler.
236
237 %package -n libada
238 Summary:      GNU Ada Runtime Libraries
239 License:      GPL-3.0-with-GCC-exception
240 Group:        Development/Languages
241 %description -n libada
242 This package contains the shared libraries required to run programs
243 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
244 shared libraries. It also contains the shared libraries for the
245 Implementation of the Ada Semantic Interface Specification (ASIS), the
246 implementation of Distributed Systems Programming (GLADE) and the Posix
247 1003.5 Binding (Florist).
248 %post -n libada -p /sbin/ldconfig
249 %postun -n libada -p /sbin/ldconfig
250
251 %package fortran
252 Summary:       The GNU Fortran Compiler and Support Files
253 License:       GPL-3.0+
254 Group:         Development/Languages
255 %description fortran
256 This is the Fortran compiler of the GNU Compiler Collection (GCC).
257
258 %package -n libgfortran
259 Summary:       The GNU Fortran Compiler Runtime Library
260 License:       GPL-3.0-with-GCC-exception
261 Group:         Development/Languages
262 %description -n libgfortran
263 The runtime library needed to run programs compiled with the Fortran compiler
264 of the GNU Compiler Collection (GCC).
265 %post -n libgfortran -p /sbin/ldconfig
266 %postun -n libgfortran -p /sbin/ldconfig
267
268 %package -n libquadmath
269 Summary:       The GNU Fortran Compiler Quadmath Runtime Library
270 License:       LGPL-2.1
271 Group:         Development/Languages
272 %description -n libquadmath
273 The runtime library needed to run programs compiled with the Fortran compiler
274 of the GNU Compiler Collection (GCC) and quadruple precision floating point
275 operations.
276 %post -n libquadmath -p /sbin/ldconfig
277 %postun -n libquadmath -p /sbin/ldconfig
278
279 %package -n libitm
280 Summary:       The GNU Compiler Transactional Memory Runtime Library
281 License:       GPL-3.0-with-GCC-exception
282 Group:         Development/Languages
283 %description -n libitm
284 The runtime library needed to run programs compiled with the
285 -fgnu-tm option of the GNU Compiler Collection (GCC).
286 %post -n libitm -p /sbin/ldconfig
287 %postun -n libitm -p /sbin/ldconfig
288
289 %package -n libasan
290 Summary:       The GNU Compiler Address Sanitizer Runtime Library
291 License:       MIT
292 Group:         Development/Languages
293 %description -n libasan
294 The runtime library needed to run programs compiled with the
295 -fsanitize=address option of the GNU Compiler Collection (GCC).
296 %post -n libasan -p /sbin/ldconfig
297 %postun -n libasan -p /sbin/ldconfig
298
299 %package -n libhwasan
300 Summary:       The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
301 License:       MIT
302 Group:         Development/Languages
303 %description -n libhwasan
304 The runtime library needed to run programs compiled with the
305 -fsanitize=address option of the GNU Compiler Collection (GCC).
306 %post -n libhwasan -p /sbin/ldconfig
307 %postun -n libhwasan -p /sbin/ldconfig
308
309 %package -n libtsan
310 Summary:       The GNU Compiler Thread Sanitizer Runtime Library
311 License:       MIT
312 Group:         Development/Languages
313 %description -n libtsan
314 The runtime library needed to run programs compiled with the
315 -fsanitize=thread option of the GNU Compiler Collection (GCC).
316 %post -n libtsan -p /sbin/ldconfig
317 %postun -n libtsan -p /sbin/ldconfig
318
319 %package -n libatomic
320 Summary:       The GNU Compiler Atomic Operations Runtime Library
321 License:       GPL-3.0-with-GCC-exception
322 Group:         Development/Languages
323 %description -n libatomic
324 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
325 %post -n libatomic -p /sbin/ldconfig
326 %postun -n libatomic -p /sbin/ldconfig
327
328 %package -n liblsan
329 Summary:       The GNU Compiler Leak Sanitizer Runtime Library
330 License:       MIT
331 Group:         Development/Languages
332 %description -n liblsan
333 The runtime library needed to run programs compiled with the
334 -fsanitize=leak option of the GNU Compiler Collection (GCC).
335 %post -n liblsan -p /sbin/ldconfig
336 %postun -n liblsan -p /sbin/ldconfig
337
338 %package -n libubsan
339 Summary:       The GNU Compiler Undefined Sanitizer Runtime Library
340 License:       MIT
341 Group:         Development/Languages
342 %description -n libubsan
343 The runtime library needed to run programs compiled with the
344 -fsanitize=undefined option of the GNU Compiler Collection (GCC).
345 %post -n libubsan -p /sbin/ldconfig
346 %postun -n libubsan -p /sbin/ldconfig
347
348 %package -n libvtv
349 Summary:       The GNU Compiler Vtable Verifier Runtime Library
350 License:       MIT
351 Group:         Development/Languages
352 %description -n libvtv
353 The runtime library needed to run programs compiled with the
354 -fvtable-verify option of the GNU Compiler Collection (GCC).
355 %post -n libvtv -p /sbin/ldconfig
356 %postun -n libvtv -p /sbin/ldconfig
357
358 %package -n libgcj
359 Summary:       Java Runtime Library for gcc
360 License:       GPL-2.0-with-classpath-exception
361 Group:         Development/Building
362 %description -n libgcj
363 This library is needed if you want to use the GNU Java compiler, gcj.
364 Source code for this package is in gcc.
365 %post -n libgcj -p /sbin/ldconfig
366 %postun -n libgcj -p /sbin/ldconfig
367
368 %package java
369 Summary:       The GNU Java Compiler
370 License:       GPL-3.0+
371 Group:         Development/Languages
372 %description java
373 The Java compiler from the GCC-tools-suite.
374
375 %package -n libgcj_bc
376 Summary:       Fake library for BC-ABI compatibility.
377 License:       GPL-2.0-with-classpath-exception
378 Group:         Development/Languages
379 %description -n libgcj_bc
380 A fake library that is used at link time only. It ensures that
381 binaries built with the BC-ABI link against a constant SONAME.
382 This way, BC-ABI binaries continue to work if the SONAME underlying
383 libgcj.so changes.
384
385 %package -n libgcj-jar
386 Summary:       Java runtime library (jar files).
387 License:       GPL-2.0-with-classpath-exception
388 Group:         Development/Languages
389 %description -n libgcj-jar
390 These are the jar files that go along with the gcj front end to gcc.
391
392 %package -n libgcj-devel
393 Summary:       Include Files and Libraries mandatory for Development.
394 License:       GPL-2.0-with-classpath-exception
395 Group:         Development/Languages
396 %description -n libgcj-devel
397 This package contains all necessary include files and libraries needed
398 to develop applications that require these.
399
400 %package -n gcc-gij
401 Summary:       Java Bytecode Interpreter for gcc
402 License:       GPL-2.0-with-classpath-exception
403 Group:         Development/Languages
404 %description -n gcc-gij
405 This package contains the java bytecode interpreter gij and related tools.
406
407 %package -n libffi
408 Summary:       Foreign Function Interface library
409 License:       BSD-3-Clause
410 Group:         Development/Building
411 %description -n libffi
412 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
413 %post -n libffi -p /sbin/ldconfig
414 %postun -n libffi -p /sbin/ldconfig
415
416 %package -n libffi-devel
417 Summary:       Foreign Function Interface library development files
418 License:       BSD 3-Clause
419 Group:         Development/Building
420 %description -n libffi-devel
421 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
422
423 %package go
424 Summary:       GNU Go Compiler
425 License:       GPL-3.0+
426 Group:         Development/Languages
427 %description go
428 This package contains a Go compiler and associated development
429 files based on the GNU GCC technology.
430
431 %package -n libgo
432 Summary:       GNU Go compiler runtime library
433 License:       BSD-3-Clause
434 Group:         Development/Languages
435 %description -n libgo
436 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
437 %post -n libgo -p /sbin/ldconfig
438 %postun -n libgo -p /sbin/ldconfig
439
440 %{?gcc_run_tests:
441 %package testresults
442 Summary:       Testsuite results
443 License:       Public Domain
444 Group:         Development/Languages
445 %description testresults
446 Results from running the gcc and target library testsuites.
447 }
448
449 %package -n gcc-32bit
450 Summary:       The GNU C Compiler 32bit support
451 Group:         Development/Building
452 %description -n gcc-32bit
453 This package contains 32bit support for the GNU Compiler Collection.
454
455 %package -n libstdc++-devel-32bit
456 Summary:       Include Files and Libraries mandatory for Development
457 License:       GPL-3.0-with-GCC-exception
458 Group:         Development/Building
459 %description -n libstdc++-devel-32bit
460 This package contains all the headers and libraries of the standard C++
461 library. It is needed for compiling C++ code.
462
463 %package -n libgcc-32bit
464 Summary:       C compiler runtime library
465 License:       GPL-3.0-with-GCC-exception
466 Group:         Development/Building
467 %description -n libgcc-32bit
468 Libgcc is needed for dynamically linked C programs.
469 %post -n libgcc-32bit -p /sbin/ldconfig
470 %postun -n libgcc-32bit -p /sbin/ldconfig
471
472 %package -n libgomp-32bit
473 Summary:       The GNU compiler collection OpenMP runtime library
474 License:       GPL-3.0-with-GCC-exception
475 Group:         Development/Building
476 %description -n libgomp-32bit
477 This is the OpenMP runtime library needed by OpenMP enabled programs
478 that were built with the -fopenmp compiler option and by programs that
479 were auto-parallelized via the -ftree-parallelize-loops compiler
480 option.
481 %post -n libgomp-32bit -p /sbin/ldconfig
482 %postun -n libgomp-32bit -p /sbin/ldconfig
483
484 %package -n libstdc++-32bit
485 Summary:       The standard C++ shared library
486 License:       GPL-3.0-with-GCC-exception
487 Group:         Development/Building
488 %description -n libstdc++-32bit
489 The standard C++ library, needed for dynamically linked C++ programs.
490 %post -n libstdc++-32bit -p /sbin/ldconfig
491 %postun -n libstdc++-32bit -p /sbin/ldconfig
492
493 %package objc-32bit
494 Summary:       GNU Objective C Compiler
495 License:       GPL-3.0+
496 Group:         Development/Languages
497 %description objc-32bit
498 This package contains the GNU Objective C compiler. Objective C is an
499 object oriented language, created by Next Inc. and used in their
500 Nextstep OS. The source code is available in the gcc package.
501
502 %package -n libobjc-32bit
503 Summary:       Library for the GNU Objective C Compiler
504 License:       GPL-3.0-with-GCC-exception
505 Group:         Development/Building
506 %description -n libobjc-32bit
507 The library for the GNU Objective C compiler.
508 %post -n libobjc-32bit -p /sbin/ldconfig
509 %postun -n libobjc-32bit -p /sbin/ldconfig
510
511 %package ada-32bit
512 Summary:       GNU Ada95 Compiler Based on GCC (GNAT)
513 License:       GPL-3.0+
514 Group:         Development/Languages
515 %description ada-32bit
516 This package contains an Ada95 compiler and associated development
517 tools based on the GNU GCC technology. Ada95 is the object oriented
518 successor of the Ada83 language. To build this package from source you
519 must have installed a binary version to bootstrap the compiler.
520
521 %package -n libada-32bit
522 Summary:       GNU Ada Runtime Libraries
523 License:       GPL-3.0-with-GCC-exception
524 Group:         Development/Languages
525 %description -n libada-32bit
526 This package contains the shared libraries required to run programs
527 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
528 shared libraries. It also contains the shared libraries for the
529 Implementation of the Ada Semantic Interface Specification (ASIS), the
530 implementation of Distributed Systems Programming (GLADE) and the Posix
531 1003.5 Binding (Florist).
532 %post -n libada-32bit -p /sbin/ldconfig
533 %postun -n libada-32bit -p /sbin/ldconfig
534
535 %package fortran-32bit
536 Summary:       The GNU Fortran Compiler and Support Files
537 License:       GPL-3.0+
538 Group:         Development/Languages
539 %description fortran-32bit
540 This is the Fortran compiler of the GNU Compiler Collection (GCC).
541
542 %package -n libgfortran-32bit
543 Summary:       The GNU Fortran Compiler Runtime Library
544 License:       GPL-3.0-with-GCC-exception
545 Group:         Development/Languages
546 %description -n libgfortran-32bit
547 The runtime library needed to run programs compiled with the Fortran compiler
548 of the GNU Compiler Collection (GCC).
549 %post -n libgfortran-32bit -p /sbin/ldconfig
550 %postun -n libgfortran-32bit -p /sbin/ldconfig
551
552 %package -n libquadmath-32bit
553 Summary:       The GNU Fortran Compiler Quadmath Runtime Library
554 License:       LGPL-2.1
555 Group:         Development/Languages
556 %description -n libquadmath-32bit
557 The runtime library needed to run programs compiled with the Fortran compiler
558 of the GNU Compiler Collection (GCC) and quadruple precision floating point
559 operations.
560 %post -n libquadmath-32bit -p /sbin/ldconfig
561 %postun -n libquadmath-32bit -p /sbin/ldconfig
562
563 %package -n libitm-32bit
564 Summary:       The GNU Compiler Transactional Memory Runtime Library
565 License:       GPL-3.0-with-GCC-exception
566 Group:         Development/Languages
567 %description -n libitm-32bit
568 The runtime library needed to run programs compiled with the
569 -fgnu-tm option of the GNU Compiler Collection (GCC).
570 %post -n libitm-32bit -p /sbin/ldconfig
571 %postun -n libitm-32bit -p /sbin/ldconfig
572
573 %package -n libasan-32bit
574 Summary:       The GNU Compiler Address Sanitizer Runtime Library
575 License:       MIT
576 Group:         Development/Languages
577 %description -n libasan-32bit
578 The runtime library needed to run programs compiled with the
579 -fsanitize=address option of the GNU Compiler Collection (GCC).
580 %post -n libasan-32bit -p /sbin/ldconfig
581 %postun -n libasan-32bit -p /sbin/ldconfig
582
583 %package -n liblsan-32bit
584 Summary:       The GNU Compiler Address Sanitizer Runtime Library
585 License:       MIT
586 Group:         Development/Languages
587 %description -n liblsan-32bit
588 The runtime library needed to run programs compiled with the
589 -fsanitize=leak option of the GNU Compiler Collection (GCC).
590 %post -n liblsan-32bit -p /sbin/ldconfig
591 %postun -n liblsan-32bit -p /sbin/ldconfig
592
593 %package -n libtsan-32bit
594 Summary:       The GNU Compiler Thread Sanitizer Runtime Library
595 License:       MIT
596 Group:         Development/Languages
597 %description -n libtsan-32bit
598 The runtime library needed to run programs compiled with the
599 -fsanitize=thread option of the GNU Compiler Collection (GCC).
600 %post -n libtsan-32bit -p /sbin/ldconfig
601 %postun -n libtsan-32bit -p /sbin/ldconfig
602
603 %package -n libatomic-32bit
604 Summary:       The GNU Compiler Atomic Operations Runtime Library
605 License:       GPL-3.0-with-GCC-exception
606 Group:         Development/Languages
607 %description -n libatomic-32bit
608 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
609 %post -n libatomic-32bit -p /sbin/ldconfig
610 %postun -n libatomic-32bit -p /sbin/ldconfig
611
612 %package -n libubsan-32bit
613 Summary:       The GNU Compiler Undefined Sanitizer Runtime Library
614 License:       MIT
615 Group:         Development/Languages
616 %description -n libubsan-32bit
617 The runtime library needed to run programs compiled with the
618 -fsanitize=undefined option of the GNU Compiler Collection (GCC).
619 %post -n libubsan-32bit -p /sbin/ldconfig
620 %postun -n libubsan-32bit -p /sbin/ldconfig
621
622 %package -n libvtv-32bit
623 Summary:       The GNU Compiler Vtable Verifier Runtime Library
624 License:       MIT
625 Group:         Development/Languages
626 %description -n libvtv-32bit
627 The runtime library needed to run programs compiled with the
628 -fvtable-verify option of the GNU Compiler Collection (GCC).
629 %post -n libvtv-32bit -p /sbin/ldconfig
630 %postun -n libvtv-32bit -p /sbin/ldconfig
631
632 %package -n libffi-32bit
633 Summary:       Foreign Function Interface library
634 License:       BSD-3-Clause
635 Group:         Development/Building
636 %description -n libffi-32bit
637 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
638 %post -n libffi-32bit -p /sbin/ldconfig
639 %postun -n libffi-32bit -p /sbin/ldconfig
640
641 %package -n libffi-devel-32bit
642 Summary:       Foreign Function Interface library development files
643 License:       BSD 3-Clause
644 Group:         Development/Building
645 %description -n libffi-devel-32bit
646 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
647
648 %package go-32bit
649 Summary:       GNU Go Compiler
650 License:       GPL-3.0+
651 Group:         Development/Languages
652 %description go-32bit
653 This package contains a Go compiler and associated development
654 files based on the GNU GCC technology.
655
656 %package -n libgo-32bit
657 Summary:       GNU Go compiler runtime library
658 License:       BSD-3-Clause
659 Group:         Development/Languages
660 %description -n libgo-32bit
661 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
662 %post -n libgo-32bit -p /sbin/ldconfig
663 %postun -n libgo-32bit -p /sbin/ldconfig
664
665 %package plugin-devel
666 Summary:       GNU GCC Plugin development files
667 License:       GPL-3.0+
668 Group:         Development/Languages
669 %description plugin-devel
670 This package contains GCC Plugin development files needed for compiler
671 plugins build.
672
673 %package -n sanitizer-sources
674 Summary:    Sanitizer family tools sources
675 License:       MIT
676 Group:      Development/Tools
677 BuildArch:  noarch
678
679 %description -n sanitizer-sources
680 Sanitizer family tools sources for external tools.
681
682 %{!?cross:
683 %package devel-static
684 Summary:       GNU GCC static libraries
685 License:       GPL-3.0+
686 Group:         Development/Languages
687 %description devel-static
688 This package contains static libraries from GCC
689 }
690
691 %{?gcc_dump_configure:
692 %package configure-dump
693 Summary:       GNU GCC configure dump
694 License:       GPL-3.0+
695 Group:         Development/Languages
696 %description configure-dump
697 This package contains dump of configure variables of GCC
698 }
699
700 %prep
701 %setup -q -n gcc-%{version}
702 cp %{SOURCE20} .
703
704 tar xf %{SOURCE10}
705 ln -sf gmp-6.2.1 gmp
706 tar xf %{SOURCE11}
707 ln -sf mpfr-4.2.0 mpfr
708 tar xf %{SOURCE12}
709 ln -sf mpc-1.3.1 mpc
710 tar xf %{SOURCE13}
711 ln -sf isl-0.22 isl
712
713 %global gcc_datestamp `sed -e 's/^.*-//g' %{_builddir}/gcc-%{version}/gcc/DATESTAMP`
714
715 %build
716 %{?asan:
717 %gcc_unforce_options
718 %ifarch armv7l
719 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -marm -Wa,-mimplicit-it=arm -fasynchronous-unwind-tables"
720 %endif
721 }
722 %{!?gcc_keep_build_dir:
723 rm -rf obj
724 mkdir obj
725 }
726
727 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g' -e 's/-fexceptions//' -e 's/\([[:space:]]\+.*-D_FORTIFY_SOURCE=\)[[:alnum:]]\+/\10/g'
728 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D__USE_FORTIFY_LEVEL=0"`
729 RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-fstack-protector-strong/}
730 RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-fstack-protector/}
731
732 %{?cross:
733 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
734 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(sse\|fpmath\)[^ ]*//g'`
735 }
736 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/  */ /g'`
737
738 # -Wall is stripped off now, so -Wformat will not turn on implicitly for
739 # "-Wformat-.." option group, causing additional build warnings and testsuite
740 # FAIL ("test for excess errors" type).
741 # Insert "-Wformat" if we find "-Wformat-..."
742 if [ ! -z "$(echo $RPM_OPT_FLAGS | grep -o "\B\-Wformat\-")" ]; then
743     if [ -z "$(echo $RPM_OPT_FLAGS | grep -Po "\B\-Wformat(\s|\Z)")" ]; then
744         RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e "s/-Wformat-/-Wformat -Wformat-/")
745     fi
746 fi
747
748 %{?asan: RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS -DASAN_INIT_FIRST) }
749 %{?asan_shadow_scale: RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS -Wp,-DASAN_SHADOW_SCALE=%{asan_shadow_scale})}
750
751 %ifarch armv7l armv7hl aarch64
752 %undefine gcc_profiledbootstrap
753 %endif
754
755 %ifarch %arm
756 ## Support DA build with armv8 cpu in 32bit mode: prevent Werror on sqrt function
757 # Extract current march
758 cur_arch=$(echo ${RPM_OPT_FLAGS} | sed -e 's/.*-march=\([^[:space:]]\+\).*/\1/')
759 # And apply it to libatomic to prevent conflict
760 (echo ${RPM_OPT_FLAGS} | grep '\-march=armv8') && \
761     sed -e "/@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS/s/-march=[^[:space:]]\+/-march=${cur_arch}/" -i libatomic/Makefile.in
762 %endif
763
764 cd obj
765
766 %{!?gcc_skip_configure:
767 %{?gcc_dump_configure:patch_configure.pl ..}   # Add debug prints into configure
768 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
769 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
770 ../configure \
771         --prefix=%{_prefix} \
772         --infodir=%{_infodir} \
773         --mandir=%{_mandir} \
774         --libdir=%{libdir} \
775         --libexecdir=%{libdir} \
776         --enable-languages=c,c++,fortran \
777         --enable-checking=release \
778         --disable-libssp \
779         %{!?gcc_profiledbootstrap:--disable-bootstrap} \
780         --disable-libvtv \
781         --enable-plugin \
782         --disable-libcc1 \
783         --disable-libgcj \
784         --with-slibdir=%{libdir} \
785         --with-system-zlib \
786         --with-sysroot=/ \
787         --enable-__cxa_atexit \
788         --enable-libstdcxx-allocator=new \
789         --enable-version-specific-runtime-libs \
790         --enable-linker-build-id \
791         --without-system-libunwind \
792         --enable-threads=posix \
793         --disable-multilib \
794         --disable-cet \
795         --enable-lto \
796 %{!?cross: \
797         --enable-libcc1 \
798         --enable-libgfortran \
799         %{?asanbootstrap:--enable-bootstrap --with-build-config=bootstrap-asan} \
800 %ifarch armv7l
801         --with-arch=armv7-a \
802         --with-tune=cortex-a8 \
803         --disable-sjlj-exceptions \
804 %endif
805 %ifarch armv7hl
806         --with-arch=armv7-a+fp \
807         --with-tune=cortex-a8 \
808         --with-fpu=neon \
809         --disable-sjlj-exceptions \
810         --with-float=hard \
811 %endif
812 %ifarch aarch64
813         --with-arch=armv8-a \
814         --disable-sjlj-exceptions \
815 %endif
816 %ifarch %ix86
817         --with-arch-32=i586 \
818         --with-tune=generic \
819         --disable-libmpx \
820 %endif
821 %ifarch x86_64
822         --with-arch-32=i586 \
823         --with-tune=generic \
824         --enable-multilib \
825         --disable-libmpx \
826 %endif
827 } \
828 %{?cross: \
829 %{?armv7l: \
830         --with-arch=armv7-a \
831         --with-tune=cortex-a8 \
832         --disable-sjlj-exceptions \
833 } \
834 %{?armv7hl: \
835         --with-arch=armv7-a+fp \
836         --with-tune=cortex-a8 \
837         --with-fpu=neon \
838         --disable-sjlj-exceptions \
839         --with-float=hard \
840 } \
841 %{?aarch64: \
842         --with-arch=armv8-a \
843         --disable-sjlj-exceptions \
844 } \
845         --disable-libgcc \
846         --disable-libgfortran \
847         --disable-libquadmath \
848         --disable-libgomp \
849         --disable-libatomic \
850         --disable-libstdc++-v3 \
851         --disable-libsanitizer \
852         --disable-libitm \
853 } \
854         --with-bugurl="http://bugs.tizen.org/" \
855         --with-pkgversion="Tizen GCC %{version} %{gcc_datestamp} %{release}" \
856         --target=%{target_arch} \
857         --host=%{host_arch} \
858         --build=%{host_arch}
859  }
860
861 %{?!cross:
862   # During native compiler build with qemu-accel enabled we have to provide
863   # path to accelerated lto_plugin.so to prevent
864   #    error loading plugin: /home/abuild/rpmbuild/BUILD/gcc-12.2.0/obj/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32
865   # So we have to update:
866   # - CC_FOR_TARGET
867   # - GCC_FOR_TARGET
868   # - CXX_FOR_TARGET
869   # - RAW_CXX_FOR_TARGET
870   # And provide path to liblto_plugin inside /emul via -B option
871   # Changing configure.ac and adding a dependency from qemu-accel there is not
872   # reasonable, so here we patch a Makefile after configure is competed
873
874   [[ -e '/emul' ]] && \
875       sed -e '/^\(G\?CC_FOR_TARGET\)=\|^\(\(RAW_\)\?CXX_FOR_TARGET\)=/s#\(xg\(cc\|++\)\)#\1 -B/emul%{libsubdir}/#' -i Makefile
876 }
877
878 %{!?gcc_skip_make:
879 make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}} %{?cross:all-host}
880 %{?gcc_dump_configure:
881  dump_configure.pl .. . \
882                    --project gcc \
883                    --project-version %{version} \
884                    --out_db gcc-%{version}-%{release}-%_project-%_repository.db
885  }
886 }
887
888 %{?gcc_exit_on_make_finish:
889  exit 1
890 }
891
892 %{?gcc_run_tests:
893   echo "Run testsuite"
894   # asan needs a whole shadow address space
895   ulimit -v unlimited || true
896   make -k check %{?_smp_mflags} || true
897   mkdir ../testresults
898   ../contrib/test_summary | tee ../testresults/test_summary.txt
899   for tool in $(find -name '*.sum' -exec basename {} \; | sort -u | sed -e 's/.sum//'); do
900   ../contrib/dg-extract-results.sh -t $tool $(find -name '*.sum') | tee -a ../testresults/test_summary.txt
901   done
902 }
903
904 %install
905 cd obj
906
907 make install%{?cross:-host} DESTDIR=$RPM_BUILD_ROOT
908
909 %{?gcc_dump_configure:
910   install -D -m 0644 gcc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
911 }
912
913 %{?gcc_run_tests:
914   find . \( -name "*.sum" -o -name "*.log" -a \! -name "config.log" \) -exec tar -rf testresults.tar {} \;
915   mkdir -p ../testresults && tar -xf testresults.tar -C ../testresults
916   find ../testresults/ -type f -exec chmod 644 {} \;
917 }
918
919 %{remove_docs}
920 rm -rf %{buildroot}/%{_datadir}/locale
921
922 #remove everything we don't need
923 rm -rf %{buildroot}/%{libsubdir}/install-tools
924 find %{buildroot}/ -name "*.la" -delete
925
926 %{!?cross:
927 ln -s gcc %{buildroot}%{_bindir}/cc
928 mv %{buildroot}%{libsubdir}/libstdc++.so*-gdb.py %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/
929
930 # legacy preprocessor
931 mkdir -p %{buildroot}/lib
932 ln -s %{_bindir}/cpp %{buildroot}/lib/cpp
933
934 # 32-bit libgcc in multilib configuration
935 %ifarch x86_64
936 mv %{buildroot}%{_prefix}/lib/libgcc_s.so* %{buildroot}%{libsubdir}/32/
937 %endif
938
939 # move libraries to libdir
940 for lib in asan atomic gfortran gomp cc1 itm lsan quadmath stdc++ supc++ tsan ubsan
941 do
942   [ -e %{buildroot}%{libsubdir}/lib$lib.a ] && mv %{buildroot}%{libsubdir}/lib$lib.a %{buildroot}%{libdir}/
943   [ -e %{buildroot}%{libsubdir}/lib$lib.so ] && mv %{buildroot}%{libsubdir}/lib$lib.so* %{buildroot}%{libdir}/
944 done
945 }
946
947 %{?cross:
948 rm -rf %{buildroot}/%{libsubdir}/include-fixed
949 rm -rf %{buildroot}/%{libsubdir}/include
950 }
951
952 %{!?cross:
953 cd ../
954 tar -czf libsanitizer.tar.bz libsanitizer
955 mkdir -p %{buildroot}/src
956 mv -v libsanitizer.tar.bz %{buildroot}/src
957 }
958
959 %files
960 %manifest gcc.manifest
961 %defattr(-,root,root)
962 %{?cross:
963 %{_bindir}/*
964 %{libsubdir}/*
965 }
966 %{!?cross:
967 %{_bindir}/gcc
968 %{_bindir}/cc
969 %{_bindir}/gcov
970 %{_bindir}/gcov-dump
971 %{_bindir}/gcov-tool
972 %{_bindir}/gcc-ar
973 %{_bindir}/gcc-nm
974 %{_bindir}/gcc-ranlib
975 %{_bindir}/lto-dump
976 %{_bindir}/%{target_arch}-gcc
977 %{_bindir}/%{target_arch}-gcc-%{version}
978 %{_bindir}/%{target_arch}-gcc-ar
979 %{_bindir}/%{target_arch}-gcc-nm
980 %{_bindir}/%{target_arch}-gcc-ranlib
981 %{libsubdir}/collect2
982 %{libsubdir}/lto1
983 %{libsubdir}/lto-wrapper
984 %{libsubdir}/liblto_plugin.so*
985 %{libsubdir}/g++-mapper-server
986 %{libsubdir}/include-fixed/*
987 %{libsubdir}/include/*.h
988 %{libsubdir}/*.so
989 %{libsubdir}/*.o
990 %{libsubdir}/*.spec
991 %{libdir}/*.so
992 %{libsubdir}/include/sanitizer/*
993 %ifarch %asan_arch
994 %exclude %{libdir}/libasan.so
995 %endif
996 %ifarch %lsan_arch
997 %exclude %{libdir}/liblsan.so
998 %endif
999 %ifarch %tsan_arch
1000 %exclude %{libdir}/libtsan.so
1001 %endif
1002
1003 %files c++
1004 %defattr(-,root,root)
1005 %{libsubdir}/cc1plus
1006 %{_bindir}/g++
1007 %{_bindir}/c++
1008 %{_bindir}/%{target_arch}-g++
1009 %{_bindir}/%{target_arch}-c++
1010
1011 %files -n libstdc++
1012 %manifest gcc.manifest
1013 %license COPYING3 COPYING.RUNTIME
1014 %defattr(-,root,root)
1015 %{libdir}/libstdc++.so.*
1016
1017 %files -n libstdc++-devel
1018 %defattr(-,root,root)
1019 %{libdir}/libstdc++.so
1020 %{libdir}/libstdc++.a
1021 %{libdir}/libsupc++.a
1022 %{libsubdir}/include/c++/*
1023 %{libsubdir}/libstdc++fs.a
1024 %{_datadir}/gcc-%{version}/python/libstdcxx/*
1025 %ifarch x86_64
1026 %{libsubdir}/32/libstdc++.a
1027 %{libsubdir}/32/libsupc++.a
1028 %{libsubdir}/32/libstdc++fs.a
1029 %endif
1030
1031 %files -n libgcc
1032 %manifest gcc.manifest
1033 %license COPYING3 COPYING.RUNTIME
1034 %defattr(-,root,root)
1035 %{libdir}/libgcc_s.so.*
1036 %{libsubdir}/libgcc.a
1037 %{libsubdir}/libgcc_eh.a
1038 %{libsubdir}/libgcov.a
1039
1040 %files -n libgomp
1041 %manifest gcc.manifest
1042 %license COPYING3 COPYING.RUNTIME
1043 %defattr(-,root,root)
1044 %{libdir}/libgomp.so.*
1045
1046 %files -n libcc1
1047 %manifest gcc.manifest
1048 %defattr(-,root,root)
1049 %{libdir}/libcc1.so.*
1050
1051 %ifarch %asan_arch
1052 %files -n libasan
1053 %manifest gcc.manifest
1054 %license libsanitizer/LICENSE.TXT
1055 %defattr(-,root,root)
1056 %{libdir}/libasan.so*
1057 %endif
1058
1059 %ifarch %hwasan_arch
1060 %files -n libhwasan
1061 %manifest gcc.manifest
1062 %license libsanitizer/LICENSE.TXT
1063 %defattr(-,root,root)
1064 %{libsubdir}/libhwasan.so*
1065 %endif
1066
1067 %ifarch %lsan_arch
1068 %files -n liblsan
1069 %manifest gcc.manifest
1070 %license libsanitizer/LICENSE.TXT
1071 %defattr(-,root,root)
1072 %{libdir}/liblsan.so*
1073 %endif
1074
1075 %ifarch %tsan_arch
1076 %files -n libtsan
1077 %manifest gcc.manifest
1078 %license libsanitizer/LICENSE.TXT
1079 %defattr(-,root,root)
1080 %{libdir}/libtsan.so*
1081 %endif
1082
1083 %ifarch %atomic_arch
1084 %files -n libatomic
1085 %manifest gcc.manifest
1086 %license COPYING3 COPYING.RUNTIME
1087 %defattr(-,root,root)
1088 %{libdir}/libatomic.so.*
1089 %endif
1090
1091 %ifarch %itm_arch
1092 %files -n libitm
1093 %manifest gcc.manifest
1094 %license COPYING3 COPYING.RUNTIME
1095 %defattr(-,root,root)
1096 %{libdir}/libitm.so.*
1097 %endif
1098
1099 %ifarch %ubsan_arch
1100 %files -n libubsan
1101 %manifest gcc.manifest
1102 %license libsanitizer/LICENSE.TXT
1103 %defattr(-,root,root)
1104 %{libdir}/libubsan.so.*
1105 %endif
1106
1107 %files fortran
1108 %defattr(-,root,root)
1109 %dir %{libsubdir}/finclude
1110 %{_bindir}/gfortran
1111 %{_bindir}/%{target_arch}-gfortran
1112 %{libsubdir}/f951
1113 %{libsubdir}/finclude/*
1114 %{libdir}/libgfortran.a
1115 %{libdir}/libgfortran.so
1116 %{libsubdir}/libgfortran.spec
1117 %{libsubdir}/libcaf_single.a
1118 %ifarch %quadmath_arch
1119 %{libdir}/libquadmath.a
1120 %{libdir}/libquadmath.so
1121 %endif
1122
1123 %files -n libgfortran
1124 %defattr(-,root,root)
1125 %{libdir}/libgfortran.so.*
1126
1127 %ifarch %quadmath_arch
1128 %files -n libquadmath
1129 %manifest gcc.manifest
1130 %license COPYING.LIB
1131 %defattr(-,root,root)
1132 %{libdir}/libquadmath.so.*
1133 %{libdir}/libquadmath.a
1134 %endif
1135
1136 %files -n cpp
1137 %defattr(-,root,root)
1138 %{_bindir}/cpp
1139 %{libsubdir}/cc1
1140 /lib/cpp
1141
1142 %files plugin-devel
1143 %defattr(-,root,root)
1144 %{libsubdir}/plugin/*
1145
1146 %ifarch x86_64
1147 %files -n gcc-32bit
1148 %defattr(-,root,root)
1149 %{libsubdir}/32/*.a
1150 %{libsubdir}/32/*.so
1151 %{libsubdir}/32/*.o
1152 %{libsubdir}/32/*.spec
1153
1154 %ifarch %asan_arch
1155 %files -n libasan-32bit
1156 %manifest gcc.manifest
1157 %license libsanitizer/LICENSE.TXT
1158 %defattr(-,root,root)
1159 %{libsubdir}/32/libasan.so.*
1160 %endif
1161
1162 %ifarch %atomic_arch
1163 %files -n libatomic-32bit
1164 %manifest gcc.manifest
1165 %license COPYING3 COPYING.RUNTIME
1166 %defattr(-,root,root)
1167 %{libsubdir}/32/libatomic.so.*
1168 %endif
1169
1170 %files -n libgcc-32bit
1171 %manifest gcc.manifest
1172 %license COPYING3 COPYING.RUNTIME
1173 %defattr(-,root,root)
1174 %{libsubdir}/32/libgcc_s.so.*
1175 %{libsubdir}/32/libgcc.a
1176 %{libsubdir}/32/libgcc_eh.a
1177 %{libsubdir}/32/libgcov.a
1178
1179 %files -n libgomp-32bit
1180 %manifest gcc.manifest
1181 %license COPYING3 COPYING.RUNTIME
1182 %defattr(-,root,root)
1183 %{libsubdir}/32/libgomp.so.*
1184
1185 %ifarch %itm_arch
1186 %files -n libitm-32bit
1187 %license COPYING3 COPYING.RUNTIME
1188 %defattr(-,root,root)
1189 %{libsubdir}/32/libitm.so.*
1190 %endif
1191
1192 %files -n libgfortran-32bit
1193 %defattr(-,root,root)
1194 %dir %{libsubdir}/32/finclude
1195 %{libsubdir}/32/libgfortran.so.*
1196 %{libsubdir}/32/finclude/*
1197
1198 %ifarch %quadmath_arch
1199 %files -n libquadmath-32bit
1200 %license COPYING.LIB
1201 %defattr(-,root,root)
1202 %{libsubdir}/32/libquadmath.so.*
1203 %{libsubdir}/32/libquadmath.a
1204 %endif
1205
1206 %ifarch %ubsan_arch
1207 %files -n libubsan-32bit
1208 %manifest gcc.manifest
1209 %license libsanitizer/LICENSE.TXT
1210 %defattr(-,root,root)
1211 %{libsubdir}/32/libubsan.so.*
1212 %endif
1213
1214 %files -n libstdc++-32bit
1215 %manifest gcc.manifest
1216 %license COPYING3 COPYING.RUNTIME
1217 %defattr(-,root,root)
1218 %{libsubdir}/32/libstdc++.so.*
1219 %exclude %{libsubdir}/32/libstdc++.so.*-gdb.py
1220
1221 %files -n libstdc++-devel-32bit
1222 %defattr(-,root,root)
1223 %{libsubdir}/32/libstdc++.so.*-gdb.py
1224 %endif
1225
1226 %files -n sanitizer-sources
1227 %defattr(-,root,root,-)
1228 /src/libsanitizer.tar.bz
1229 }
1230
1231 %{!?cross:
1232 %files devel-static
1233 %manifest gcc.manifest
1234 %license COPYING.LIB
1235 %defattr(-,root,root)
1236 %{libdir}/libgomp.a
1237 %ifarch %itm_arch
1238 %{libdir}/libitm.a
1239 %endif
1240 %ifarch %asan_arch
1241 %{libdir}/libasan.a
1242 %endif
1243 %ifarch %hwasan_arch
1244 %{libsubdir}/libhwasan.a
1245 %endif
1246 %ifarch %lsan_arch
1247 %{libdir}/liblsan.a
1248 %endif
1249 %ifarch %ubsan_arch
1250 %{libdir}/libubsan.a
1251 %endif
1252 %ifarch %tsan_arch
1253 %{libdir}/libtsan.a
1254 %endif
1255 %{libdir}/libatomic.a
1256 %{libsubdir}/libcaf_single.a
1257 %ifarch %x86_64
1258 %{libsubdir}/32/libgomp.a
1259 %ifarch %itm_arch
1260 %{libsubdir}/32/libitm.a
1261 %endif
1262 %ifarch %asan_arch
1263 %{libsubdir}/32/libasan.a
1264 %endif
1265 %ifarch %ubsan_arch
1266 %{libsubdir}/32/libubsan.a
1267 %endif
1268 %{libsubdir}/32/libatomic.a
1269 %{libsubdir}/32/libcaf_single.a
1270 %endif
1271 }
1272
1273 %{?gcc_run_tests:
1274 %files testresults
1275 %defattr(-,root,root)
1276 %doc testresults/test_summary.txt
1277 %doc testresults/
1278 }
1279
1280 %{?gcc_dump_configure:
1281 %files configure-dump
1282 %manifest gcc.manifest
1283 %{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
1284 }
1285
1286 %changelog