Change to almalinux bugtracker

Set --with-arch_64=x86-64-v2 on v2 arch

Fix sysroot packages for i686 architecture
This commit is contained in:
Eduard Abdullin 2026-02-20 18:22:59 +00:00 committed by root
commit 148336d8c2
3 changed files with 192 additions and 3 deletions

View File

@ -166,7 +166,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}.3%{?dist}.alma.2
Release: %{gcc_release}.4%{?dist}.alma.2
# License notes for some of the less obvious ones:
# gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para
# isl: MIT, BSD-2-Clause
@ -351,6 +351,8 @@ Patch3006: gcc14-tests-simulate-thread-native.patch
Patch3007: gcc14-tests-gcov-native.patch
Patch3008: gcc14-tests-misc-native.patch
Patch3009: gcc14-tests-tree-prof-native.patch
Patch3010: gcc14-tests-color.patch
Patch3011: gcc14-tests-env-native.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -1214,6 +1216,8 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m
%patch -P3007 -p1 -b .gcc14-tests-gcov-native
%patch -P3008 -p1 -b .gcc14-tests-misc-native
%patch -P3009 -p1 -b .gcc14-tests-tree-prof-native
%patch -P3010 -p1 -b .gcc14-tests-color
%patch -P3011 -p1 -b .gcc14-tests-env-native
%ifarch %{arm}
rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go
@ -2052,6 +2056,10 @@ INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libitm.a )" > $CROSS_LIBPATH/
OUTPUT_FORMAT($OUTPUT_FORMAT_FOR_ARCH)
INPUT ( =%{_prefix}/lib64/libasan.so.8 )" > $CROSS_LIBPATH/libasan.so
echo "/* GNU ld script
Use the static library from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libasan.a )" > $CROSS_LIBPATH/libasan.a
echo "/* GNU ld script
Use the object from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libasan_preinit.o )" > $CROSS_LIBPATH/libasan_preinit.o
@ -2061,6 +2069,10 @@ INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libasan_preinit.o )" > $CROSS
OUTPUT_FORMAT($OUTPUT_FORMAT_FOR_ARCH)
INPUT ( =%{_prefix}/lib64/libhwasan.so.0 )" > $CROSS_LIBPATH/libhwasan.so
echo "/* GNU ld script
Use the static library from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libhwasan.a )" > $CROSS_LIBPATH/libhwasan.a
echo "/* GNU ld script
Use the object from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libhwasan_preinit.o )" > $CROSS_LIBPATH/libhwasan_preinit.o
@ -2070,6 +2082,10 @@ INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libhwasan_preinit.o )" > $CRO
OUTPUT_FORMAT($OUTPUT_FORMAT_FOR_ARCH)
INPUT ( =%{_prefix}/lib64/libtsan.so.2 )" > $CROSS_LIBPATH/libtsan.so
echo "/* GNU ld script
Use the static library from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libtsan.a )" > $CROSS_LIBPATH/libtsan.a
echo "/* GNU ld script
Use the object from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libtsan_preinit.o )" > $CROSS_LIBPATH/libtsan_preinit.o
@ -2079,6 +2095,10 @@ INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libtsan_preinit.o )" > $CROSS
OUTPUT_FORMAT($OUTPUT_FORMAT_FOR_ARCH)
INPUT ( =%{_prefix}/lib64/liblsan.so.0 )" > $CROSS_LIBPATH/liblsan.so
echo "/* GNU ld script
Use the static library from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/liblsan.a )" > $CROSS_LIBPATH/liblsan.a
echo "/* GNU ld script
Use the object from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/liblsan_preinit.o )" > $CROSS_LIBPATH/liblsan_preinit.o
@ -2088,6 +2108,10 @@ INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/liblsan_preinit.o )" > $CROSS
OUTPUT_FORMAT($OUTPUT_FORMAT_FOR_ARCH)
INPUT ( =%{_prefix}/lib64/libubsan.so.1 )" > $CROSS_LIBPATH/libubsan.so
echo "/* GNU ld script
Use the static library from sysroot. */
INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libubsan.a )" > $CROSS_LIBPATH/libubsan.a
# Help plugins find out nvra.
echo gcc-%{version}-%{release}.%{_arch} > $CROSS_LIBPATH/rpmver
@ -2929,6 +2953,7 @@ ln -s usr/lib64 lib64
hwasan_sysroot_libs=
%if %{build_libhwasan}
hwasan_sysroot_libs="%{_prefix}/lib64/libhwasan.so.0 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.a \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o"
%endif
for f in /%{_lib}/libgcc_s.so.1 \
@ -2943,17 +2968,21 @@ for f in /%{_lib}/libgcc_s.so.1 \
%{_prefix}/%{_lib}/libitm.so.1 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a \
%{_prefix}/%{_lib}/libasan.so.8 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o \
$hwasan_sysroot_libs \
%if %{build_libtsan}
%{_prefix}/lib64/libtsan.so.2 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o \
%endif
%if %{build_liblsan}
%{_prefix}/lib64/liblsan.so.0 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o \
%endif
%{_prefix}/lib64/libubsan.so.1; do
%{_prefix}/lib64/libubsan.so.1 \
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a; do
mkdir -p %{buildroot}/%{sysroot_prefix}/$(dirname $f)
cp %{buildroot}$f %{buildroot}/%{sysroot_prefix}/$f
done
@ -4294,15 +4323,21 @@ end
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libitm.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libitm.spec
%endif
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libasan.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libasan.so
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libasan_preinit.o
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libhwasan.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libhwasan.so
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libhwasan_preinit.o
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libtsan.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libtsan.so
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libtsan_preinit.o
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/liblsan.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/liblsan.so
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/liblsan_preinit.o
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libubsan.a
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libubsan.so
%{_prefix}/lib/gcc/aarch64-redhat-linux/%{gcc_major}/libsanitizer.spec
%files -n cross-gcc-c++-aarch64
%{_prefix}/bin/aarch64-redhat-linux-c++
@ -4367,13 +4402,18 @@ end
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libitm.a
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libitm.spec
%endif
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libasan.a
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libasan.so
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libasan_preinit.o
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libtsan.a
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libtsan.so
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libtsan_preinit.o
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/liblsan.a
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/liblsan.so
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/liblsan_preinit.o
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libubsan.a
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libubsan.so
%{_prefix}/lib/gcc/ppc64le-redhat-linux/%{gcc_major}/libsanitizer.spec
%files -n cross-gcc-c++-ppc64le
%{_prefix}/bin/ppc64le-redhat-linux-c++
@ -4438,13 +4478,18 @@ end
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libitm.a
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libitm.spec
%endif
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libasan.a
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libasan.so
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libasan_preinit.o
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libtsan.a
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libtsan.so
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libtsan_preinit.o
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/liblsan.a
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/liblsan.so
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/liblsan_preinit.o
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libubsan.a
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libubsan.so
%{_prefix}/lib/gcc/s390x-redhat-linux/%{gcc_major}/libsanitizer.spec
%files -n cross-gcc-c++-s390x
%{_prefix}/bin/s390x-redhat-linux-c++
@ -4500,19 +4545,24 @@ end
%files -n %{sysroot_package_arch}-libsanitizer
%{sysroot_prefix}%{_prefix}/%{_lib}/libasan.so.8
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
%if %{build_libhwasan}
%{sysroot_prefix}%{_prefix}/%{_lib}/libhwasan.so.0
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.a
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o
%endif
%if %{build_libtsan}
%{sysroot_prefix}%{_prefix}/lib64/libtsan.so.2
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
%endif
%if %{build_liblsan}
%{sysroot_prefix}%{_prefix}/lib64/liblsan.so.0
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
%endif
%{sysroot_prefix}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
%{sysroot_prefix}%{_prefix}/%{_lib}/libubsan.so.1
%files -n %{sysroot_package_arch}-test-support
@ -4521,11 +4571,17 @@ end
%{sysroot_prefix}/test-support/auto-host.h
%changelog
* Wed Feb 11 2026 Eduard Abdullin <eabdullin@almalinux.org> - 14.3.1-4.3.alma.2
* Fri Feb 20 2026 Eduard Abdullin <eabdullin@almalinux.org> - 14.3.1-4.4.alma.2
- Change to almalinux bugtracker
- Set --with-arch_64=x86-64-v2 on v2 arch
- Fix sysroot packages for i686 architecture
* Tue Feb 17 2026 Joseph Myers <josmyers@redhat.com> - 14.3.1-4.4
- fixes for testing non-production cross compilers (RHEL-114521)
- include libsanitizer.spec and static sanitizer libraries in packages
- enable tests involving target environment variables in cross testing
- disable color for more sanitizer tests
* Mon Jan 26 2026 Joseph Myers <josmyers@redhat.com> - 14.3.1-4.3
- fixes for testing non-production cross compilers (RHEL-114521)
- enable guality tests in cross testing

107
gcc14-tests-color.patch Normal file
View File

@ -0,0 +1,107 @@
commit a02744993035a301c27e753c3cb53ef82bc1bfc5
Author: Joseph Myers <josmyers@redhat.com>
Date: Wed Feb 11 23:53:41 2026 +0000
testsuite: Use color=never for more sanitizer tests
The sanitizer tests have logic to set ASAN_OPTIONS and UBSAN_OPTIONS
to color=never to avoid problems checking against output patterns, in
test configurations where the output is otherwise coloured by default.
This does not however cover all sanitizer tests with issues in such
configurations. There is no corresponding logic to set TSAN_OPTIONS
for tsan tests, and environment variable settings in
dg-set-target-env-var override the globally set color=never.
Add logic to set TSAN_OPTIONS similarly (following the UBSAN_OPTIONS
logic, that saves and restores any previous setting or lack thereof,
rather than the ASAN_OPTIONS logic, that just sets ASAN_OPTIONS in the
environment so that it remains set for all the rest of the possibly
unrelated tests included in the same runtest execution). Also add
color=never to dg-set-target-env-var in two such tests where I've seen
coloured output causing failures (but not for other tests where I
haven't seen the default producing such fallures).
Tested for x86_64-pc-linux-gnu, and with a cross to aarch64-linux
(together with other testsuite fixes) in a configuration where I
previously saw failures related to colour output from sanitizer tests.
* lib/tsan-dg.exp (orig_tsan_options_saved, orig_tsan_options):
New global variables.
(tsan_init): Save TSAN_OPTIONS and set it to color=never.
(tsan_finish): Restore TSAN_OPTIONS.
* c-c++-common/asan/pr64820.c: Include color=never in
ASAN_OPTIONS.
* c-c++-common/asan/use-after-return-1.c: Likewise.
diff --git a/gcc/testsuite/c-c++-common/asan/pr64820.c b/gcc/testsuite/c-c++-common/asan/pr64820.c
index a00debf35883..b675ef21b275 100644
--- a/gcc/testsuite/c-c++-common/asan/pr64820.c
+++ b/gcc/testsuite/c-c++-common/asan/pr64820.c
@@ -1,7 +1,7 @@
/* { dg-do run } */
/* { dg-require-effective-target fstack_protector } */
/* { dg-options "-fstack-protector-strong" } */
-/* { dg-set-target-env-var ASAN_OPTIONS "detect_stack_use_after_return=1" } */
+/* { dg-set-target-env-var ASAN_OPTIONS "color=never detect_stack_use_after_return=1" } */
/* { dg-shouldfail "asan" } */
__attribute__((noinline))
diff --git a/gcc/testsuite/c-c++-common/asan/use-after-return-1.c b/gcc/testsuite/c-c++-common/asan/use-after-return-1.c
index e1bb18a57431..557a687e0e32 100644
--- a/gcc/testsuite/c-c++-common/asan/use-after-return-1.c
+++ b/gcc/testsuite/c-c++-common/asan/use-after-return-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-set-target-env-var ASAN_OPTIONS "detect_stack_use_after_return=1" } */
+/* { dg-set-target-env-var ASAN_OPTIONS "color=never detect_stack_use_after_return=1" } */
/* { dg-shouldfail "asan" } */
#include <stdio.h>
diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp
index 916c8737807e..6379d18e6b54 100644
--- a/gcc/testsuite/lib/tsan-dg.exp
+++ b/gcc/testsuite/lib/tsan-dg.exp
@@ -81,6 +81,9 @@ proc tsan_link_flags { paths } {
return "$flags"
}
+set orig_tsan_options_saved 0
+set orig_tsan_options 0
+
#
# tsan_init -- called at the start of each subdir of tests
#
@@ -93,6 +96,17 @@ proc tsan_init { args } {
global tsan_saved_ALWAYS_CXXFLAGS
global dg-do-what-default
global tsan_saved_dg-do-what-default
+ global orig_tsan_options_saved
+ global orig_tsan_options
+
+ if { $orig_tsan_options_saved == 0 } {
+ # Save the original environment.
+ if [info exists env(TSAN_OPTIONS)] {
+ set orig_tsan_options "$env(TSAN_OPTIONS)"
+ set orig_tsan_options_saved 1
+ }
+ }
+ setenv TSAN_OPTIONS color=never
set link_flags ""
if ![is_remote host] {
@@ -134,6 +148,14 @@ proc tsan_finish { args } {
global tsan_saved_dg-do-what-default
global tsan_saved_library_path
global ld_library_path
+ global orig_tsan_options_saved
+ global orig_tsan_options
+
+ if { $orig_tsan_options_saved } {
+ setenv TSAN_OPTIONS "$orig_tsan_options"
+ } elseif [info exists env(TSAN_OPTIONS)] {
+ unsetenv TSAN_OPTIONS
+ }
if [info exists tsan_saved_ALWAYS_CXXFLAGS ] {
set ALWAYS_CXXFLAGS $tsan_saved_ALWAYS_CXXFLAGS

View File

@ -0,0 +1,26 @@
diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp
index 6bd3c211611a..cc7f30f10135 100644
--- a/gcc/testsuite/lib/asan-dg.exp
+++ b/gcc/testsuite/lib/asan-dg.exp
@@ -303,7 +303,6 @@ proc asan-gtest { args } {
if { ![info exists asan_last_gtest_test_list] } { return }
if { [llength $asan_last_gtest_test_list] == 0 } { return }
- if { ![isnative] || [is_remote target] } { return }
set gtest_test_list $asan_last_gtest_test_list
unset asan_last_gtest_test_list
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 228c21d12071..49c9f5a8796d 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -459,9 +459,6 @@ if { [info procs ${tool}_load] != [list] \
set saved_target_env_var [list]
if { [info exists set_target_env_var] \
&& [llength $set_target_env_var] != 0 } {
- if { [is_remote target] } {
- return [list "unsupported" ""]
- }
set-target-env-var
}
set result [eval [list saved_${tool}_load $program] $args]