Compare commits

...
Sign in to create a new pull request.

51 commits

Author SHA1 Message Date
Florian Weimer
07a9464505 Backport aarch64 C compatiblity fixes 2023-12-07 15:52:39 +01:00
Florian Weimer
adc89608c0 Add more logging suppression in case of too many function arguments 2023-12-07 13:16:38 +01:00
Florian Weimer
c25791e799 Merge branch 'rawhide' into private-f38-toolchain 2023-12-07 13:15:08 +01:00
Florian Weimer
6d625ad409 Suppress error logging if unknown struct types are encountered 2023-11-29 11:44:13 +01:00
Florian Weimer
fd5541b8df More error logging suppression on type errors 2023-11-29 09:39:20 +01:00
Florian Weimer
a18fa763f9 Actually commit patch change 2023-11-28 21:26:12 +01:00
Florian Weimer
1e6e45ec00 Additional error logging suppression 2023-11-28 20:30:49 +01:00
Florian Weimer
d0bcb56742 Additional special case for strerror_r autoconf probes 2023-11-23 18:59:48 +01:00
Florian Weimer
f89f895a8e Additional error suppression for missing function arguments 2023-11-16 05:21:23 +01:00
Florian Weimer
d40573479e More comprehensive error logging, to match upstream plans
Also some heuristics for not logging irrelevant errors.
2023-11-15 10:24:36 +01:00
Florian Weimer
8f9e1ed09a Merge branch 'rawhide' into private-f38-toolchain 2023-11-15 09:40:15 +01:00
Florian Weimer
c49077600a Merge branch 'rawhide' into private-f38-toolchain 2023-09-26 19:33:53 +02:00
Florian Weimer
90787b81c6 Merge branch 'rawhide' into private-f38-toolchain 2023-08-29 18:37:48 +02:00
Florian Weimer
d7d4e1aba0 Merge branch 'rawhide' into private-f38-toolchain 2023-07-31 08:54:49 +02:00
Florian Weimer
8d2cade2db Merge branch 'rawhide' into private-f38-toolchain 2023-06-14 18:19:33 +02:00
Florian Weimer
e6f5ca8ac1 Merge branch 'rawhide' into private-f38-toolchain 2023-05-19 11:47:59 +02:00
Florian Weimer
aedbee16bc Merge branch 'rawhide' into private-f38-toolchain 2023-05-11 17:09:42 +02:00
Florian Weimer
e66bb65ab3 Avoid logging cascading errors 2023-05-04 15:36:41 +02:00
Florian Weimer
b1db644be8 Log int-conversion errors 2023-05-04 09:35:43 +02:00
Florian Weimer
e8768c7015 Merge branch 'rawhide' into private-f38-toolchain 2023-04-26 11:01:22 +02:00
Florian Weimer
e03d55c2ad Merge branch 'rawhide' into private-f38-toolchain 2023-04-21 16:15:45 +02:00
Florian Weimer
e086e65a04 Merge branch 'rawhide' into private-f38-toolchain 2023-04-19 21:38:55 +02:00
Florian Weimer
a9b15d7950 NVR fix 2023-04-18 19:07:23 +02:00
Florian Weimer
94a6f9faf6 Merge branch 'rawhide' into private-f38-toolchain 2023-04-18 18:40:50 +02:00
Florian Weimer
73d84e32ea Merge branch 'rawhide' into private-f38-toolchain 2023-04-04 17:59:15 +02:00
Florian Weimer
0fa7823d69 Merge branch 'rawhide' into private-f38-toolchain 2023-04-01 12:15:11 +02:00
Florian Weimer
41cae8bec1 Merge branch 'rawhide' into private-f38-toolchain 2023-03-30 19:57:37 +02:00
Florian Weimer
a674eaa254 Merge branch 'rawhide' into private-f38-toolchain 2023-03-24 16:20:16 +01:00
Florian Weimer
526d16843d Merge branch 'rawhide' into private-f38-toolchain 2023-03-21 22:06:52 +01:00
Florian Weimer
28b4d989e5 Merge branch 'rawhide' into private-f38-toolchain 2023-03-21 21:04:50 +01:00
Florian Weimer
caea58a62a Fixup incorrect merge 2023-03-18 20:28:09 +01:00
Florian Weimer
0a1fd18028 Merge branch 'rawhide' into private-f38-toolchain 2023-03-18 11:36:27 +01:00
Florian Weimer
ea43c4eafe Merge branch 'rawhide' into private-f38-toolchain 2023-03-11 13:43:32 +01:00
Florian Weimer
70289f770a Merge branch 'rawhide' into private-f38-toolchain 2023-03-06 07:56:13 +01:00
Florian Weimer
492993fb3d Merge branch 'rawhide' into private-f38-toolchain 2023-02-22 08:25:47 +01:00
Florian Weimer
18bfb37b76 Merge branch 'rawhide' into private-f38-toolchain 2023-02-20 17:05:55 +01:00
Florian Weimer
486fdbdc34 Merge branch 'rawhide' into private-f38-toolchain 2023-02-09 08:30:45 +01:00
Florian Weimer
43d4247ce8 Merge branch 'rawhide' into private-f38-toolchain 2023-01-30 07:17:23 +01:00
Florian Weimer
6cfa0a826b Merge branch 'rawhide' into private-f38-toolchain 2023-01-18 00:23:33 +01:00
Florian Weimer
72595b0908 Merge branch 'rawhide' into private-f38-toolchain 2023-01-16 21:50:20 +01:00
Florian Weimer
2e3cb4baca Merge branch 'rawhide' into private-f38-toolchain 2023-01-16 16:30:55 +01:00
Florian Weimer
a1979f63e7 Treat __declspec as a keyword, recognize redefined types in declarations
This reduces the number of spurious implict int errors.
2022-11-22 23:46:53 +01:00
Florian Weimer
03b259db03 Merge remote-tracking branch 'origin/rawhide' into private-f38-toolchain 2022-11-21 16:21:32 +01:00
Florian Weimer
bca5d90009 Disable instrumentation for building GCC itself for now 2022-11-21 16:21:20 +01:00
Florian Weimer
4cfa2459d2 Do not run testsuite during build 2022-11-17 14:53:19 +01:00
Florian Weimer
bd34d9b9ca Merge remote-tracking branch 'origin/rawhide' into c99-port 2022-11-17 14:52:39 +01:00
Florian Weimer
87464ae8e4 Bump release 2022-10-20 16:39:10 +02:00
Florian Weimer
aa1f06c095 Re-backport C99 fixes from upstream 2022-10-20 16:38:55 +02:00
Florian Weimer
24eaf98e04 Switch error log directory to /usr/lib/gcc/errors
/var/log disappears during buildroot setup, so the special
subdirectory is not present, and no errors are logged.
2022-10-20 16:38:43 +02:00
Florian Weimer
b42210e2f0 Fix Release: handling (follow recommendation in spec file comment) 2022-10-20 16:35:19 +02:00
Florian Weimer
9410b27f55 Log implicit int/function declaration errors to /var/log/gcc-errors 2022-10-19 11:40:52 +02:00
2 changed files with 1122 additions and 58 deletions

1113
gcc-error-logging.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -136,7 +136,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}%{?dist}
Release: %{gcc_release}.implicits.8%{?dist}.6
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -292,6 +292,8 @@ Patch50: isl-rh2155127.patch
Patch100: gcc13-fortran-fdec-duplicates.patch
Patch990: gcc-error-logging.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
%ifnarch %{arm}
@ -873,6 +875,8 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m
%patch -P100 -p1 -b .fortran-fdec-duplicates~
%endif
%patch -P 990 -p1 -b .error-logging
%ifarch %{arm}
rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go
%endif
@ -911,6 +915,9 @@ fi
rm -f gcc/testsuite/go.test/test/chan/goroutines.go
%build
# Do not write the failures anywhere. Currently required for rebuilding
# with an instrumented GCC.
export GCC_ERROR_LOG_DIRECTORY=/disabled
# Undo the broken autoconf change in recent Fedora versions
export CONFIG_SITE=NONE
@ -1185,7 +1192,7 @@ CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
%ifarch sparc sparcv9 sparc64
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now bootstrap
%else
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now profiledbootstrap
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now bootstrap
%endif
CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
@ -2201,62 +2208,6 @@ ln -sf gcc-annobin.so.0.0.0 $FULLPATH/plugin/gcc-annobin.so.0
ln -sf gcc-annobin.so.0.0.0 $FULLPATH/plugin/gcc-annobin.so
%endif
%check
cd obj-%{gcc_target_platform}
# run the tests.
LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
%if 0%{?fedora} >= 20 || 0%{?rhel} > 7
RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
%else
RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
%endif
%if !%{build_annobin_plugin}
if [ -f %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so ]; then
# Test whether current annobin plugin won't fail miserably with the newly built gcc.
echo -e '#include <stdio.h>\nint main () { printf ("Hello, world!\\n"); return 0; }' > annobin-test.c
echo -e '#include <iostream>\nint main () { std::cout << "Hello, world!" << std::endl; return 0; }' > annobin-test.C
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc` \
-O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
-fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{c,.c} \
-Wl,-rpath,%{gcc_target_platform}/libgcc/ \
-fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
2> ANNOBINOUT1 || echo Annobin test 1 FAIL > ANNOBINOUT2;
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` \
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes` \
-O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
-fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{C,.C} \
-Wl,-rpath,%{gcc_target_platform}/libgcc/:%{gcc_target_platform}/libstdc++-v3/src/.libs/ \
-fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
-B %{gcc_target_platform}/libstdc++-v3/src/.libs/ \
2> ANNOBINOUT3 || echo Annobin test 2 FAIL > ANNOBINOUT4;
[ -f ./annobin-testc ] || echo Annobin test 1 MISSING > ANNOBINOUT5;
[ -f ./annobin-testc ] && \
( ./annobin-testc > ANNOBINRES1 2>&1 || echo Annobin test 1 RUNFAIL > ANNOBINOUT6 );
[ -f ./annobin-testC ] || echo Annobin test 2 MISSING > ANNOBINOUT7;
[ -f ./annobin-testC ] && \
( ./annobin-testC > ANNOBINRES2 2>&1 || echo Annobin test 2 RUNFAIL > ANNOBINOUT8 );
cat ANNOBINOUT[1-8] > ANNOBINOUT
touch ANNOBINRES1 ANNOBINRES2
[ -s ANNOBINOUT ] && echo Annobin testing FAILed > ANNOBINRES
cat ANNOBINOUT ANNOBINRES[12] >> ANNOBINRES
rm -f ANNOBINOUT* ANNOBINRES[12] annobin-test{c,C}
fi
%endif
echo ====================TESTING=========================
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
%if !%{build_annobin_plugin}
[ -f ANNOBINRES ] && cat ANNOBINRES
%endif
echo ====================TESTING END=====================
mkdir testlogs-%{_target_platform}-%{version}-%{release}
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
done
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \
| uuencode testlogs-%{_target_platform}.tar.xz || :
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
%post go
%{_sbindir}/update-alternatives --install \
%{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \