On Wed, 11 Aug 2021 at 02:12, Nick Desaulniers ndesaulniers@google.com wrote:
cc-option, cc-option-yn, and cc-disable-warning all invoke the compiler during build time, and can slow down the build when these checks become stale for our supported compilers, whose minimally supported versions increases over time. See Documentation/process/changes.rst for the current supported minimal versions (GCC 4.9+, clang 10.0.1+). Compiler version support for these flags may be verified on godbolt.org.
The following flags are GCC only and supported since at least GCC 4.9. Remove cc-option and cc-disable-warning tests.
- -fno-tree-loop-im
- -Wno-maybe-uninitialized
- -fno-reorder-blocks
- -fno-ipa-cp-clone
- -fno-partial-inlining
- -femit-struct-debug-baseonly
- -fno-inline-functions-called-once
- -fconserve-stack
The following flags are supported by all supported versions of GCC and Clang. Remove their cc-option, cc-option-yn, and cc-disable-warning tests.
- -fno-delete-null-pointer-checks
- -fno-var-tracking
- -mfentry
- -Wno-array-bounds
The following configs are made dependent on GCC, since they use GCC specific flags.
- READABLE_ASM
- DEBUG_SECTION_MISMATCH
--param=allow-store-data-races=0 was renamed to --allow-store-data-races in the GCC 10 release.
[Please ignore this if it is already reported]
Linux next 20210813 tag s390 build failed with gcc-8 but pass with gcc-9 and gcc-10.
s390 (defconfig) with gcc-8 FAILED s390 (defconfig) with gcc-9 PASS s390 (defconfig) with gcc-10 PASS
Build error: ----------- s390x-linux-gnu-gcc: error: unrecognized command line option '-mfentry'; did you mean '--entry'? make[2]: *** [/builds/linux/scripts/Makefile.build:272: scripts/mod/empty.o] Error 1 s390x-linux-gnu-gcc: error: unrecognized command line option '-mfentry'; did you mean '--entry'? make[2]: *** [/builds/linux/scripts/Makefile.build:118: scripts/mod/devicetable-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Build log, https://builds.tuxbuild.com/1wfNcaYbsp29k3RvYuPXzxrM4vs/
metadata: -------- git_describe: next-20210813 git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next git_short_log: 4b358aabb93a (\Add linux-next specific files for 20210813) target_arch: s390 toolchain: gcc-8
Steps to reproduce: ------------------- # TuxMake is a command line tool and Python library that provides # portable and repeatable Linux kernel builds across a variety of # architectures, toolchains, kernel configurations, and make targets. # # TuxMake supports the concept of runtimes. # See https://docs.tuxmake.org/runtimes/, for that to work it requires # that you install podman or docker on your system. # # To install tuxmake on your system globally: # sudo pip3 install -U tuxmake # # See https://docs.tuxmake.org/ for complete documentation.
tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 --kconfig defconfig
-- Linaro LKFT https://lkft.linaro.org