Message ID | 20180516141458.18996-5-npiggin@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Nicholas, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-patches-for-new-Kconfig-language/20180517-224044 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-allmodconfig compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross make.cross ARCH=powerpc allmodconfig make.cross ARCH=powerpc All errors (new ones prefixed by >>): arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:468: syntax error arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:467: invalid option make[2]: *** [allmodconfig] Error 1 make[1]: *** [allmodconfig] Error 2 make: *** [sub-make] Error 2 -- arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:468: syntax error arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:467: invalid option make[2]: *** [oldconfig] Error 1 make[1]: *** [oldconfig] Error 2 make: *** [sub-make] Error 2 -- arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:468: syntax error arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' arch/powerpc/Kconfig:467:warning: ignoring unsupported character '$' >> arch/powerpc/Kconfig:467: invalid option make[2]: *** [olddefconfig] Error 1 make[2]: Target 'oldnoconfig' not remade because of errors. make[1]: *** [oldnoconfig] Error 2 make: *** [sub-make] Error 2 vim +468 arch/powerpc/Kconfig e05c0e81 Kevin Hao 2013-07-16 443 3d72bbc4 Michael Neuling 2013-02-13 444 config PPC_TRANSACTIONAL_MEM 3d72bbc4 Michael Neuling 2013-02-13 445 bool "Transactional Memory support for POWERPC" 3d72bbc4 Michael Neuling 2013-02-13 446 depends on PPC_BOOK3S_64 3d72bbc4 Michael Neuling 2013-02-13 447 depends on SMP 7b37a123 Michael Neuling 2014-01-08 448 select ALTIVEC 7b37a123 Michael Neuling 2014-01-08 449 select VSX 3d72bbc4 Michael Neuling 2013-02-13 450 default n 3d72bbc4 Michael Neuling 2013-02-13 451 ---help--- 3d72bbc4 Michael Neuling 2013-02-13 452 Support user-mode Transactional Memory on POWERPC. 3d72bbc4 Michael Neuling 2013-02-13 453 951eedeb Nicholas Piggin 2017-05-29 454 config LD_HEAD_STUB_CATCH 951eedeb Nicholas Piggin 2017-05-29 455 bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT 951eedeb Nicholas Piggin 2017-05-29 456 depends on PPC64 951eedeb Nicholas Piggin 2017-05-29 457 default n 951eedeb Nicholas Piggin 2017-05-29 458 help 951eedeb Nicholas Piggin 2017-05-29 459 Very large kernels can cause linker branch stubs to be generated by 951eedeb Nicholas Piggin 2017-05-29 460 code in head_64.S, which moves the head text sections out of their 951eedeb Nicholas Piggin 2017-05-29 461 specified location. This option can work around the problem. 951eedeb Nicholas Piggin 2017-05-29 462 951eedeb Nicholas Piggin 2017-05-29 463 If unsure, say "N". 951eedeb Nicholas Piggin 2017-05-29 464 8c50b72a Torsten Duwe 2016-03-03 465 config MPROFILE_KERNEL 8c50b72a Torsten Duwe 2016-03-03 466 depends on PPC64 && CPU_LITTLE_ENDIAN 4421b963 Nicholas Piggin 2018-05-17 @467 def_bool $(success $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) 8c50b72a Torsten Duwe 2016-03-03 @468 :::::: The code at line 468 was first introduced by commit :::::: 8c50b72a3b4f1f7cdfdfebd233b1cbd121262e65 powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel :::::: TO: Torsten Duwe <duwe@lst.de> :::::: CC: Michael Ellerman <mpe@ellerman.id.au> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2018-05-16 23:14 GMT+09:00 Nicholas Piggin <npiggin@gmail.com>: > This eliminates the workaround that requires disabling > -mprofile-kernel by default in Kconfig. > > [ Note: this depends on https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig-shell-v3 ] > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- > Since v3: > - Moved a stray hunk back to patch 3 where it belongs. > > arch/powerpc/Kconfig | 16 +--------------- > arch/powerpc/Makefile | 14 ++------------ > 2 files changed, 3 insertions(+), 27 deletions(-) > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 512fcc177c87..af527f894f9b 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -460,23 +460,9 @@ config LD_HEAD_STUB_CATCH > > If unsure, say "N". > > -config DISABLE_MPROFILE_KERNEL > - bool "Disable use of mprofile-kernel for kernel tracing" > - depends on PPC64 && CPU_LITTLE_ENDIAN > - default y > - help > - Selecting this options disables use of the mprofile-kernel ABI for > - kernel tracing. That will cause options such as live patching > - (CONFIG_LIVEPATCH) which depend on CONFIG_DYNAMIC_FTRACE_WITH_REGS to > - be disabled also. > - > - If you have a toolchain which supports mprofile-kernel, then you can > - disable this. Otherwise leave it enabled. If you're not sure, say > - "Y". > - > config MPROFILE_KERNEL > depends on PPC64 && CPU_LITTLE_ENDIAN > - def_bool !DISABLE_MPROFILE_KERNEL > + def_bool $(success $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) Your fix-up patch is good, but could you check my comments below please? > config IOMMU_HELPER > def_bool PPC64 > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 6faf1d6ad9dd..8f7a64fe7370 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -161,18 +161,8 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 > endif > > ifdef CONFIG_MPROFILE_KERNEL > - ifeq ($(shell $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__),OK) You do not need to compare the returned string with "OK" any more. Please remove the echo "OK" line from the shell script. > - CC_FLAGS_FTRACE := -pg -mprofile-kernel > - KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL > - else > - # If the user asked for mprofile-kernel but the toolchain doesn't > - # support it, emit a warning and deliberately break the build later > - # with mprofile-kernel-not-supported. We would prefer to make this an > - # error right here, but then the user would never be able to run > - # oldconfig to change their configuration. > - $(warning Compiler does not support mprofile-kernel, set CONFIG_DISABLE_MPROFILE_KERNEL) > - CC_FLAGS_FTRACE := -mprofile-kernel-not-supported > - endif > + CC_FLAGS_FTRACE := -pg -mprofile-kernel > + KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL Now, CONFIG_MPROFILE_KERNEL is equivalent to CC_USING_MPROFILE_KERNEL. If you replace #ifdef CC_USING_MPROFILE_KERNEL with #ifdef CONFIG_MPROFILE_KERNEL, you can remove CC_USING_MRPROFILE_KERNEL entirely, right? > endif > > CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell) > -- > 2.17.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 512fcc177c87..af527f894f9b 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -460,23 +460,9 @@ config LD_HEAD_STUB_CATCH If unsure, say "N". -config DISABLE_MPROFILE_KERNEL - bool "Disable use of mprofile-kernel for kernel tracing" - depends on PPC64 && CPU_LITTLE_ENDIAN - default y - help - Selecting this options disables use of the mprofile-kernel ABI for - kernel tracing. That will cause options such as live patching - (CONFIG_LIVEPATCH) which depend on CONFIG_DYNAMIC_FTRACE_WITH_REGS to - be disabled also. - - If you have a toolchain which supports mprofile-kernel, then you can - disable this. Otherwise leave it enabled. If you're not sure, say - "Y". - config MPROFILE_KERNEL depends on PPC64 && CPU_LITTLE_ENDIAN - def_bool !DISABLE_MPROFILE_KERNEL + def_bool $(success $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) config IOMMU_HELPER def_bool PPC64 diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 6faf1d6ad9dd..8f7a64fe7370 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -161,18 +161,8 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 endif ifdef CONFIG_MPROFILE_KERNEL - ifeq ($(shell $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__),OK) - CC_FLAGS_FTRACE := -pg -mprofile-kernel - KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL - else - # If the user asked for mprofile-kernel but the toolchain doesn't - # support it, emit a warning and deliberately break the build later - # with mprofile-kernel-not-supported. We would prefer to make this an - # error right here, but then the user would never be able to run - # oldconfig to change their configuration. - $(warning Compiler does not support mprofile-kernel, set CONFIG_DISABLE_MPROFILE_KERNEL) - CC_FLAGS_FTRACE := -mprofile-kernel-not-supported - endif + CC_FLAGS_FTRACE := -pg -mprofile-kernel + KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL endif CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell)
This eliminates the workaround that requires disabling -mprofile-kernel by default in Kconfig. [ Note: this depends on https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig-shell-v3 ] Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- Since v3: - Moved a stray hunk back to patch 3 where it belongs. arch/powerpc/Kconfig | 16 +--------------- arch/powerpc/Makefile | 14 ++------------ 2 files changed, 3 insertions(+), 27 deletions(-)