Re: Problems building ppc images in v4.14.y and v4.16.y using gcc 7.3.0 / 8.1.0 from kernel.org
From: Guenter Roeck <linux@roeck-us.net>
Date: 2018-06-05 16:06:27
Also in:
stable
On Tue, Jun 05, 2018 at 04:31:00PM +0200, Arnd Bergmann wrote:
On Tue, Jun 5, 2018 at 3:52 PM, Guenter Roeck [off-list ref] wrote:quoted
Hi Arnd, when using the ppc64 compiler from kernel.org, I see the following problems when trying to compile ppc:allnoconfig in v4.14.y or v4.16.y. gcc 7.3.0: Compilation of kernel.cpu.o hangs The problem goes away if I apply the following two patches (tested with 4.16.y) 17a2f1ced028 cpu/hotplug: Merge cpuhp_bp_states and cpuhp_ap_states fcb3029a8d89 cpu/hotplug: Fix unused function warningThis is probably the same as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84038 I thought I had included the fix in my builds.
Guess not.
quoted hunk ↗ jump to hunk
quoted
gcc 8.1.0: Compilation of kernel/cpu.o results in the following error powerpc64-linux-gcc: error: unrecognized command line option '-mno-spe'; did you mean '-fno-see'? powerpc64-linux-gcc: error: unrecognized command line option '-mspe=no'; did you mean '-misel=no'? This problem is also seen with mainline.I've seen it, but couldn't figure out what the right fix is. I ended up commenting out those two lines in my private builds:--- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile@@ -215,8 +215,8 @@ KBUILD_CFLAGS += $(call cc-option,-mno-vsx) # No SPE instruction when building kernel # (We use all available options to help semi-broken compilers) -KBUILD_CFLAGS += $(call cc-option,-mno-spe) -KBUILD_CFLAGS += $(call cc-option,-mspe=no) +#KBUILD_CFLAGS += $(call cc-option,-mno-spe) +#KBUILD_CFLAGS += $(call cc-option,-mspe=no) # Enable unit-at-a-time mode when possible. It shrinks the # kernel considerably.I think there were some changes in how cc-option gets evaluated, maybe those rely on something else to be enabled or disabled first?
I think it may have cached the flags from the other compiler version. "make mrproper" prior to "make defconfig" took care of the issue. However, that doesn't really help - I get lots of error: 'sys_spu_create' alias between functions of incompatible types error: 'strncpy' output truncated before terminating nul if I try to use gcc 8.1.0. Oh well. I'll try gcc 6.4.0 next. Thanks, Guenter