Bug 1566297
Summary: | Compilation error with kernel-3.10.0-867, CONFIG_RETPOLINE=y, but not supported by the compiler | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | xhe <xhe> |
Component: | gcc | Assignee: | Marek Polacek <mpolacek> |
Status: | CLOSED NOTABUG | QA Contact: | Michael Petlan <mpetlan> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.5 | CC: | ajb, dazo, fei2.wang, jakub, mlombard, nrevo, ohudlick, phil, savisko, toracat, xhe |
Target Milestone: | rc | Keywords: | Reopened |
Target Release: | --- | Flags: | xhe:
needinfo-
|
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-08-10 13:16:52 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
xhe@redhat.com
2018-04-12 01:53:32 UTC
Which compiler? [root@storageqe-16 libfc_test]# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) on gcc 4.8.5-28.el7 (kernel-3.10.0-862.el7) it works, here is the PASSed result in my beaker job http://beaker-archive.app.eng.bos.redhat.com/beaker-logs/2018/04/24055/2405555/4997438/70142193/TESTOUT.log the beaker job is https://beaker.engineering.redhat.com/recipes/4997438#task70142188 You have to use gcc-4.8.5-28.el7 or newer; older gccs don't support -mindirect-branch= yet. Not a bug. Indeed. Retpolines are supported in latest RHEL-7.5 gcc: gcc-4.8.5-28.el7 And in the following z-streams: gcc-4.8.5-16.el7_4.2 gcc-4.8.5-11.el7_3.1 gcc-4.8.5-4.el7_2.1 Btw. rather than `gcc -v` do `rpm -q gcc` which will show the z-stream suffix too. You should be able to rebuild the kernel with 4.8.5-16 too, but you need to have the latest z-stream update. I'm a bit at loss here, because I see exactly this issue myself on an up-to-date RHEL7. user@host /usr/src/kernels/3.10.0-862.9.1.el7.x86_64 $ rpm -q redhat-release-server gcc redhat-release-server-7.5-8.el7.x86_64 gcc-4.8.5-28.el7_5.1.x86_64 user@host /usr/src/kernels/3.10.0-862.9.1.el7.x86_64 $ make arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.. Stop. I've also tried devtoolset-7: user@host /usr/src/kernels/3.10.0-862.9.1.el7.x86_64 $ scl enable devtoolset-7 user@host /usr/src/kernels/3.10.0-862.9.1.el7.x86_64 $ rpm -q devtoolset-7-gcc devtoolset-7-gcc-7.3.1-5.10.el7.x86_64 $ which gcc /opt/rh/devtoolset-7/root/usr/bin/gcc $ gcc --version | head -n1 gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) /usr/src/kernels/3.10.0-862.9.1.el7.x86_64 $ make arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.. Stop. I might do something completely wrong and stupid ... but I'm not able to see my mistake now. I have the same problem on my Red Hat Enterprise Linux Server 7.5: [root@r-arch-host11 rshim]# rpm -q gcc gcc-4.8.5-28.el7.x86_64 [root@r-arch-host11 rshim]# uname -r 3.10.0-862.el7.x86_64 [root@r-arch-host11 rshim]# cat /etc/os-release NAME="Red Hat Enterprise Linux Server" VERSION="7.5 (Maipo)" ID="rhel" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.5" PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 (Maipo)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server" HOME_URL="https://www.redhat.com/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" REDHAT_BUGZILLA_PRODUCT_VERSION=7.5 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" REDHAT_SUPPORT_PRODUCT_VERSION="7.5" [root@r-arch-host11 rshim]# make -C /lib/modules/`uname -r`/build M=$PWD modules_install make: Entering directory `/usr/src/kernels/3.10.0-862.el7.x86_64' arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.. Stop. make: Leaving directory `/usr/src/kernels/3.10.0-862.el7.x86_64' [root@r-arch-host11 rshim]# Sorry, my latest comment is irrelevant - this was an installation issue, not compilation. (In reply to Michael Savisko from comment #10) > I have the same problem on my Red Hat Enterprise Linux Server 7.5: > > [root@r-arch-host11 rshim]# rpm -q gcc > gcc-4.8.5-28.el7.x86_64 > You need the latest 7.5 z-stream update of gcc: gcc-4.8.5-28.el7_5.1.x86_64 I am trying to rebuild kernel-3.10.0-862.9.1.el7.src.rpm with gcc-4.8.5-28.el7_5.1.el7.x86_64 and it seems to build just fine. When I tried to build the kmod-kvdo package from the src.rpm downloaded using yum, I saw exactly the same error message: arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.. Stop. I'm using gcc-4.8.5-28.el7_5.1.x86_64 which is retpoline-aware. (Note that there is no problem building the kernel.) My issue was somewhere else. Once the build environment was adjusted, there was no error. Sorry for the noise. Closing again. @Akemi Yagi @Michael Savisko Could u please be more specific about the "build environment was adjusted" "this was an installation issue, not compilation."? We are experiencing the same failure on CentOS 7.9 and GCC version is already gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) that supports retpoline and it is the only gcc that has been installed. |