Compare commits

...

9 Commits
c10s ... c8s

Author SHA1 Message Date
Siddhesh Poyarekar
e6710e8c4c Put the libstdc++ AS_NEEDED in the right places
Also, remove dead code in spec file.

Resolves: RHEL-84606
2025-05-31 09:20:28 -04:00
Václav Kadlčík
a34d04e90a Add some downstream tests to be run by osci.tier0
This is an equivalent to what system GCC of CentOS Stream 10 already
has [1].

Related: RHEL-92605

[1] 5780c4d2e3
2025-05-27 07:58:58 +02:00
Siddhesh Poyarekar
5f42e0e25f Add AS_NEEDED libstdc++.so.6 when only needed through libstdc++_nonshared
Resolves: RHEL-84606
2025-05-22 06:37:05 -04:00
Siddhesh Poyarekar
cea7e675cb libstdc++: Fix -Warray-bounds warning in std::vector<bool>
Resolves: RHEL-49861
2025-05-21 17:17:03 -04:00
Marek Polacek
d4a4a65e5b 14.2.1-7.1
Disable jQuery use, don't ship jquery.js (CVE-2020-11023)

Resolves: RHEL-78284
2025-02-07 15:36:56 -05:00
Marek Polacek
225dcba4e6 Require install-info
Also add a symbol to gcc14-libstdc++-compat.patch

Resolves: RHEL-76087
2025-01-23 14:04:30 -05:00
Marek Polacek
88f2f199fa 14.2.1-7
Add missing patch

Resolves: RHEL-74062
2025-01-22 13:02:41 -05:00
Marek Polacek
1ec8a8858d 14.2.1-7
Update from releases/gcc-14 branch

Resolves: RHEL-74062
Resolves: RHEL-73476
Resolves: RHEL-74058
2025-01-22 12:47:41 -05:00
Václav Kadlčík
14e354e0a1 Avoid some rpminspect failures in gating
- badfuncs - skip false positives
- specname and runpath: adapt to how is the GTS collection designed
2024-09-10 11:59:25 +02:00
10 changed files with 300 additions and 28 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

2
.gitignore vendored
View File

@ -2,3 +2,5 @@
/isl-0.24.tar.bz2
/newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz
/nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz
/gcc-14.2.1-20240801.tar.xz
/gcc-14.2.1-20250110.tar.xz

View File

@ -6,7 +6,7 @@ index b64e71dae22..5bf47b20820 100644
jump threading opportunities. Skip the later tests on aarch64. */
/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" { target { ! aarch64*-*-* } } } } */
/* { dg-final { scan-tree-dump "Jumps threaded: 9" "thread2" { target { ! aarch64*-*-* } } } } */
-/* { dg-final { scan-tree-dump "Jumps threaded: 18" "thread2" { target { aarch64*-*-* } } } } */
-/* { dg-final { scan-tree-dump "Jumps threaded: 17" "thread2" { target { aarch64*-*-* } } } } */
enum STATE {
S0=0,

120
gcc.spec
View File

@ -5,13 +5,13 @@ BuildRequires: scl-utils-build
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
%{?scl:%scl_package gcc}
%global DATE 20240801
%global gitrev 43d4666d3d94934f11857a2fb9122c575be81801
%global DATE 20250110
%global gitrev e525669e462dd777a1af9932fe9188937acdeb69
%global gcc_version 14.2.1
%global gcc_major 14
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
%global gcc_release 1
%global gcc_release 10
%global nvptx_tools_gitrev 87ce9dc5999e5fca2e1d3478a30888d9864c9804
%global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed
%global isl_version 0.24
@ -152,7 +152,7 @@ BuildRequires: scl-utils-build
Summary: GCC version %{gcc_major}
Name: %{?scl_prefix}gcc
Version: %{gcc_version}
Release: %{gcc_release}.1%{?dist}
Release: %{gcc_release}%{?dist}
# License notes for some of the less obvious ones:
# gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para
# isl: MIT, BSD-2-Clause
@ -333,6 +333,7 @@ Patch9: gcc14-Wno-format-security.patch
Patch10: gcc14-rh1574936.patch
Patch11: gcc14-d-shared-libphobos.patch
Patch12: gcc14-pr101523.patch
Patch13: gcc14-pr118509.patch
Patch50: isl-rh2155127.patch
@ -360,6 +361,8 @@ Patch3015: 0018-Use-CXX11-ABI.patch
Patch3017: 0020-more-fixes.patch
Patch3018: 0021-libstdc++-disable-tests.patch
Patch4000: gcc14-RHEL-49861.patch
%if 0%{?rhel} == 9
%global nonsharedver 110
%endif
@ -444,6 +447,8 @@ Summary: Fortran support for GCC %{gcc_major}
Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release}
Requires: libgfortran >= 8.1.1
Autoreq: true
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%if %{build_libquadmath}
%if 0%{!?scl:1}
@ -680,6 +685,7 @@ so that there cannot be any synchronization problems.
%patch -P10 -p0 -b .rh1574936~
%patch -P11 -p0 -b .d-shared-libphobos~
%patch -P12 -p1 -b .pr101523~
%patch -P13 -p0 -b .pr118509~
%patch -P100 -p1 -b .fortran-fdec-duplicates~
@ -720,6 +726,9 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m
%patch -P3017 -p1 -b .dts-test-17~
%patch -P3018 -p1 -b .dts-test-18~
# Bugfix backports.
%patch -P4000 -p1 -b .RHEL-49861~
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@ -738,10 +747,8 @@ echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
sed -i -e '/ldp_fusion/s/Init(1)/Init(0)/' gcc/config/aarch64/aarch64.opt
sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt
sed -i -e 's/context->report_bug = false;/context->report_bug = true;/' gcc/diagnostic.cc
sed -i -e 's/m_report_bug = false;/m_report_bug = true;/' gcc/diagnostic.cc
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
@ -776,6 +783,10 @@ rm -rf libgomp/testsuite/libgomp.fortran/pr90030.f90
rm -f libstdc++-v3/testsuite/30_threads/future/members/poll.cc
%endif
# Disable jQuery use (CVE-2020-11023).
sed -i '/^SEARCHENGINE/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in
sed -i '/^GENERATE_TREEVIEW/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in
%build
# Undo the broken autoconf change in recent Fedora versions
@ -1030,20 +1041,6 @@ make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now profiledbootstrap
%endif
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared%{nonsharedver} )' \
> %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_system.so
%if 0
# Relink libcc1 against -lstdc++_nonshared:
sed -i -e '/^postdeps/s/-lstdc++/-lstdc++_system/' libcc1/libtool
rm -f libcc1/libcc1.la
make -C libcc1 libcc1.la
%endif
CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`"
@ -1312,6 +1309,9 @@ cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
mkdir -p %{buildroot}%{_mandir}/man3
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
# We don't want to ship jQuery in the libstdc++-docs package.
find ../rpm.doc/libstdc++-v3 -name jquery.js | xargs rm
find ../rpm.doc/libstdc++-v3/html -name '*.html' | xargs sed -i '/<script type="text.javascript" src="jquery.js"><.script>/d'
%endif
%ifarch sparcv9 sparc64
@ -1422,11 +1422,18 @@ echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so
%define libstdcxx_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6
%define libstdcxx_so_link INPUT ( %{libstdcxx_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx_so}) )
%define libstdcxx64_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6
%define libstdcxx64_so_link INPUT ( %{libstdcxx64_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx64_so}) )
%define libstdcxx32_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6
%define libstdcxx32_so_link INPUT ( %{libstdcxx32_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx32_so}) )
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so
%{libstdcxx_so_link}' > libstdc++.so
rm -f libgfortran.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
@ -1522,7 +1529,7 @@ echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so
%{libstdcxx64_so_link}' > 64/libstdc++.so
rm -f 64/libgfortran.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
@ -1610,7 +1617,7 @@ echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so
%{libstdcxx32_so_link}' > 32/libstdc++.so
rm -f 32/libgfortran.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
@ -1910,7 +1917,7 @@ echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' \
%{libstdcxx_so_link}' \
> %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so
cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \
%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared.a
@ -2787,6 +2794,69 @@ fi
%endif
%changelog
* Wed May 28 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-10
- Put the libstdc++ AS_NEEDED in the right places (RHEL-84606)
* Thu May 22 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-9
- Add AS_NEEDED libstdc++.so.6 when only needed through libstdc++_nonshared
(RHEL-84606)
* Thu May 22 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-8
- libstdc++: Fix -Warray-bounds warning in std::vector<bool> (RHEL-49861)
* Fri Feb 7 2025 Marek Polacek <polacek@redhat.com> 14.2.1-7.1
- disable jQuery use, don't ship jquery.js (CVE-2020-11023, RHEL-78284)
* Wed Jan 22 2025 Marek Polacek <polacek@redhat.com> 14.2.1-7
- update from releases/gcc-14 branch (RHEL-74062)
- PRs ada/113036, ada/113868, ada/115917, ada/117328, ada/117996,
analyzer/115724, c/117641, c/117745, c/117802, c++/100358, c++/101463,
c++/102594, c++/109859, c++/113108, c++/114854, c++/115008,
c++/115430, c++/115657, c++/116108, c++/116634, c++/117158,
c++/117317, c++/117614, c++/117615, c++/117792, c++/117825,
c++/117845, c++/117880, c++/117925, c++/117985, c++/118060,
c++/118069, driver/117942, fortran/84674, fortran/84869,
fortran/105054, fortran/109105, fortran/109345, fortran/115070,
fortran/115348, fortran/116388, fortran/117730, fortran/117763,
fortran/117774, fortran/117791, fortran/117797, fortran/117819,
fortran/117820, fortran/117843, fortran/117897, libgomp/117851,
libstdc++/89624, libstdc++/106212, libstdc++/106676, libstdc++/108236,
libstdc++/109517, libstdc++/109976, libstdc++/112349,
libstdc++/112641, libstdc++/117520, libstdc++/117560,
libstdc++/117822, libstdc++/117962, libstdc++/117966,
libstdc++/118035, libstdc++/118093, middle-end/43374,
middle-end/102674, middle-end/116997, middle-end/117433,
middle-end/117458, middle-end/117459, middle-end/117847,
middle-end/118024, modula2/114529, modula2/115003, modula2/115057,
modula2/115164, modula2/115276, modula2/115328, modula2/115536,
modula2/115540, modula2/115804, modula2/115823, modula2/115957,
modula2/116048, modula2/116181, modula2/116378, modula2/116557,
modula2/116918, modula2/117120, modula2/117371, modula2/117555,
modula2/117660, modula2/117904, modula2/117948, other/116603,
preprocessor/117118, rtl-optimization/113994, rtl-optimization/116799,
rtl-optimization/117095, sanitizer/117960, target/64242,
target/114801, target/114942, target/116371, target/116629,
target/116999, target/117045, target/117105, target/117304,
target/117357, target/117408, target/117418, target/117443,
target/117500, target/117525, target/117562, target/117564,
target/117642, target/117659, target/117675, target/117744,
target/117926, testsuite/103298, testsuite/109360,
tree-optimization/94589, tree-optimization/112376,
tree-optimization/116463, tree-optimization/117142,
tree-optimization/117254, tree-optimization/117307,
tree-optimization/117333, tree-optimization/117398,
tree-optimization/117417, tree-optimization/117439,
tree-optimization/117574, tree-optimization/117594,
tree-optimization/117612, tree-optimization/117912
- fix up -freport-bug default (#2330362, RHEL-73476)
- revert -mearly-ldp-fusion and -mlate-ldp-fusion default to enabled on
aarch64 to match upstream (RHEL-74058)
- consider TARGET_EXPR invariant like SAVE_EXPR (PR c++/118509)
- have gfortran require install-info (RHEL-76087)
* Thu Aug 22 2024 Marek Polacek <polacek@redhat.com> 14.2.1-1.2
- bump NVR (RHEL-53492)
* Tue Aug 13 2024 Marek Polacek <polacek@redhat.com> 14.2.1-1.1
- do not hide _ZSt21ios_base_library_initv

81
gcc14-RHEL-49861.patch Normal file
View File

@ -0,0 +1,81 @@
From 9d5baaa92c6609191fd2488389562ac1ad1f0fb2 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Fri, 28 Mar 2025 15:41:41 +0000
Subject: [PATCH] libstdc++: Fix -Warray-bounds warning in std::vector<bool>
[PR110498]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In this case, we need to tell the compiler that the current size is not
larger than the new size so that all the existing elements can be copied
to the new storage. This avoids bogus warnings about overflowing the new
storage when the compiler can't tell that that cannot happen.
We might as well also hoist the loads of begin() and end() before the
allocation too. All callers will have loaded at least begin() before
calling _M_reallocate.
libstdc++-v3/ChangeLog:
PR libstdc++/110498
* include/bits/vector.tcc (vector<bool, A>::_M_reallocate):
Hoist loads of begin() and end() before allocation and use them
to state an unreachable condition.
* testsuite/23_containers/vector/bool/capacity/110498.cc: New
test.
Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
(cherry picked from commit aa3aaf2bfb8fcc17076993df4297597b68bc5f60)
---
libstdc++-v3/include/bits/vector.tcc | 5 ++++-
.../vector/bool/capacity/110498.cc | 18 ++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
create mode 100644 libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
index dafc2a31a8b..c59c15beacd 100644
--- a/libstdc++-v3/include/bits/vector.tcc
+++ b/libstdc++-v3/include/bits/vector.tcc
@@ -1059,9 +1059,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
vector<bool, _Alloc>::
_M_reallocate(size_type __n)
{
+ const iterator __begin = begin(), __end = end();
+ if (size_type(__end - __begin) > __n)
+ __builtin_unreachable();
_Bit_pointer __q = this->_M_allocate(__n);
iterator __start(std::__addressof(*__q), 0);
- iterator __finish(_M_copy_aligned(begin(), end(), __start));
+ iterator __finish(_M_copy_aligned(__begin, __end, __start));
this->_M_deallocate();
this->_M_impl._M_start = __start;
this->_M_impl._M_finish = __finish;
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
new file mode 100644
index 00000000000..d2d09e10d19
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
@@ -0,0 +1,18 @@
+// { dg-options "-O3 -Werror=array-bounds" }
+// { dg-do compile }
+
+// Bug libstdc++/110498
+// Spurious warnings stringop-overflow and array-bounds copying data as bytes
+// into vector::reserve
+
+#include <vector>
+
+void f(std::vector<bool>& v)
+{
+ // Warning emitted when set to any number in the range [1,64].
+ const std::size_t reserve_size = 30;
+
+ v.reserve(reserve_size);
+ v.push_back(0);
+}
+
--
2.49.0

View File

@ -7996,7 +7996,7 @@
+//asm (".hidden _ZNSt10filesystem7__cxx114_DirC2ERKNS0_4pathEbbbRSt10error_code");
--- libstdc++-v3/src/nonshared17/fs_ops80.cc.jj 2024-07-18 16:10:38.338406596 +0200
+++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2024-07-19 15:49:59.793786981 +0200
@@ -0,0 +1,103 @@
@@ -0,0 +1,104 @@
+// Copyright (C) 2019-2024 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@ -8020,6 +8020,7 @@
+// <http://www.gnu.org/licenses/>.
+
+#include "../c++17/fs_ops.cc"
+asm (".hidden _ZNSt10filesystem11equiv_filesEPKcRK4statS1_S4_RSt10error_code");
+asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev");
+asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev");
+asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev");

56
gcc14-pr118509.patch Normal file
View File

@ -0,0 +1,56 @@
2025-01-20 Jakub Jelinek <jakub@redhat.com>
PR c++/118509
* typeck.cc (get_member_function_from_ptrfunc): Wrap force_target_expr
with save_expr.
* g++.dg/expr/pmf-4.C: New test.
--- gcc/cp/typeck.cc.jj 2025-01-09 10:10:28.042651891 +0100
+++ gcc/cp/typeck.cc 2025-01-20 15:09:24.200053590 +0100
@@ -4187,8 +4187,8 @@ get_member_function_from_ptrfunc (tree *
&& !DECL_P (instance_ptr)
&& !TREE_CONSTANT (instance_ptr)))
instance_ptr = instance_save_expr
- = force_target_expr (TREE_TYPE (instance_ptr), instance_ptr,
- complain);
+ = save_expr (force_target_expr (TREE_TYPE (instance_ptr),
+ instance_ptr, complain));
/* See above comment. */
if (TREE_SIDE_EFFECTS (function)
@@ -4196,7 +4196,8 @@ get_member_function_from_ptrfunc (tree *
&& !DECL_P (function)
&& !TREE_CONSTANT (function)))
function
- = force_target_expr (TREE_TYPE (function), function, complain);
+ = save_expr (force_target_expr (TREE_TYPE (function), function,
+ complain));
/* Start by extracting all the information from the PMF itself. */
e3 = pfn_from_ptrmemfunc (function);
--- gcc/testsuite/g++.dg/expr/pmf-4.C.jj
+++ gcc/testsuite/g++.dg/expr/pmf-4.C
@@ -0,0 +1,22 @@
+// PR c++/118509
+// { dg-do run }
+// { dg-options "-Wall -O2" }
+
+struct A { void foo () { a = 1; } int a; A () : a (0) {} };
+struct B : virtual A {};
+typedef void (A::*C) ();
+
+__attribute__((noipa)) void
+foo (C x, B *y)
+{
+ (y->*x) ();
+}
+
+int
+main ()
+{
+ B b;
+ foo (&A::foo, &b);
+ if (b.a != 1)
+ __builtin_abort ();
+}

39
plans/tier0.fmf Normal file
View File

@ -0,0 +1,39 @@
# Tier 0 test plan. It's actually Tier 1
# - limited to its public part
# - executed on the architecture at hand
# When run by osci.tier0 on CentOS Stream or RHEL, it receives the following
# context:
# arch=x86_64 (the architecture at hand, currently OSCI uses just x86_64)
# distro=rhel<M>.<m> (even for CentOS Stream builds)
# trigger=build
---
summary: Tier 0 test plan
context:
collection: gcc-toolset-14
environment+:
COLLECTIONS: gcc-toolset-14
WITH_SCL: "scl enable gcc-toolset-14"
discover:
- name: collect_info
how: shell
tests:
- name: /info/rpms
test: rpm -qa --last
- name: public_tests
how: fmf
url: https://gitlab.com/redhat/centos-stream/tests/gcc.git
filter: 'tag: CI-Tier-1'
provision+:
hardware:
disk:
- size: ">= 60 GiB"
memory: ">= 8 GiB"
prepare+:
- how: shell
script:
- dnf config-manager --set-enabled '*CRB*' || true
- dnf config-manager --set-enabled crb || true
- dnf config-manager --set-enabled rhel-buildroot || true
- dnf config-manager --set-enabled epel || true
execute:
how: tmt

22
rpminspect.yaml Normal file
View File

@ -0,0 +1,22 @@
badfuncs:
# GCC doesn't use the "forbidden" functions as such. Just some of its
# sanitizers can instrument those functions which leads to false
# positives in the badfuncs test.
ignore:
- /usr/lib*/libasan.so.*.*.*
- /usr/lib*/libtsan.so.*.*.*
specname:
# In GCC toolsets builds, the spec file name and the package are not
# exactly the same, the package is prefixed with gcc-toolset-NN-.
# Let's ignore the prefix.
match: suffix
primary: filename
runpath:
# Although gcc-toolset sanitizers link gcc-toolset libraries from
# /opt/..., they themselves are placed in /usr. The runpath test
# doesn't like this difference. Explicitly allow it.
allowed_paths:
- /opt/rh/gcc-toolset-14/root/usr/lib64
- /opt/rh/gcc-toolset-14/root/usr/lib

View File

@ -1,4 +1,4 @@
SHA512 (gcc-14.2.1-20240801.tar.xz) = b21f0bfd5767d0ecb9c08ba3e3a605a841d4c6a6008bf9dd8b4c4da366d7e733600eb21095768bda91e5df6536c398bf4a941e44577aef7586e95f1d148a214f
SHA512 (gcc-14.2.1-20250110.tar.xz) = 9de1009fd87d3734361a3c451e0d8faac984a38b2c064bea228b1a04738e870d7dcca2ee98182be5423579b8caa5f762cd06a6576e2fe797559620619ae4e169
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
SHA512 (newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz) = 31bfc19429797236e268e22b752c5abeabb9c0f39b1058634af8dab329b4f028fc72a35888193c9575f6cee5cf2c069669d79fcb4d4e3a4318f57413452f707d
SHA512 (nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz) = 941e763af8601b89f0e4ec48a2d68ae0a8e70ee1e6ba6859394b021ad7bd7d143cc529f3c35c08d7f84e5554980ddcc97cf05b6c4755c2bc36c91161b79e8cea