Re: [PATCH] scripts/gcc-plugins: consistently use HOSTCC

From: Dmitry Osipenko
Date: Mon Sep 27 2021 - 11:10:32 EST


24.09.2021 00:28, Kees Cook пишет:
> On Thu, 23 Sep 2021 16:28:11 +0100, Ross Burton wrote:
>> The GCC plugins are built using HOSTCC, but the path to the GCC plugins
>> headers is obtained using CC. This can lead to interesting failures if
>> the host compiler and cross compiler are different versions, and the
>> host compiler uses the cross headers.
>
> (I changed this from HOSTCC to HOSTCXX to match the other invocations.)
>
> Applied to for-next/gcc-plugins, thanks!
>
> [1/1] scripts/gcc-plugins: consistently use HOSTCC
> https://git.kernel.org/kees/c/ef5ecb129791
>

I'm getting these errors when compiling ARM32 kernel using today's -next:

cc1: error: incompatible gcc/plugin versions
cc1: error: failed to initialize plugin ./scripts/gcc-plugins/arm_ssp_per_task_plugin.so

Both host and cross compiler are the same version:

# gcc-config -l
[1] armv7a-hardfloat-linux-gnueabi-9.3.0
[2] armv7a-hardfloat-linux-gnueabi-10.3.0
[3] armv7a-hardfloat-linux-gnueabi-11.1.0 *

[4] x86_64-pc-linux-gnu-11.1.0 *

# gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/11.1.0/lto-wrapper
Целевая архитектура: x86_64-pc-linux-gnu
Параметры конфигурации: /var/tmp/portage/sys-devel/gcc-11.1.0-r2/work/gcc-11.1.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/11.1.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/11.1.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/11.1.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/11.1.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include/g++-v11 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/11.1.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 11.1.0-r2 p3' --disable-esp --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --enable-lto --with-isl --disable-isl-version-check --enable-default-pie --enable-default-ssp
Модель многопоточности: posix
Supported LTO compression algorithms: zlib
gcc версия 11.1.0 (Gentoo 11.1.0-r2 p3)

# armv7a-hardfloat-linux-gnueabi-gcc -v
Используются внутренние спецификации.
COLLECT_GCC=armv7a-hardfloat-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/11.1.0/lto-wrapper
Целевая архитектура: armv7a-hardfloat-linux-gnueabi
Параметры конфигурации: /var/tmp/portage/cross-armv7a-hardfloat-linux-gnueabi/gcc-11.1.0-r2/work/gcc-11.1.0/configure --host=x86_64-pc-linux-gnu --target=armv7a-hardfloat-linux-gnueabi --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/armv7a-hardfloat-linux-gnueabi/gcc-bin/11.1.0 --includedir=/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/11.1.0/include --datadir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/11.1.0 --mandir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/11.1.0/man --infodir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/11.1.0/info --with-gxx-include-dir=/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/11.1.0/include/g++-v11 --with-python-dir=/share/gcc-data/armv7a-hardfloat-linux-gnueabi/11.1.0/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 11.1.0-r2 p3' --disable-esp --enable-libstdcxx-time --enable-poison-system-directories --with-sysroot=/usr/armv7a-hardfloat-linux-gnueabi --disable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --disable-fixed-point --with-float=hard --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --enable-libgomp --disable-libssp --disable-libada --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --enable-lto --with-isl --disable-isl-version-check --enable-default-pie --enable-default-ssp
Модель многопоточности: posix
Supported LTO compression algorithms: zlib
gcc версия 11.1.0 (Gentoo 11.1.0-r2 p3)


Please fix, thanks in advance.