Message ID | 20180514035228.21316-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/20180514-120748 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-defconfig 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 defconfig 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]: *** [defconfig] Error 1 make[1]: *** [defconfig] 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 53561d2c Nicholas Piggin 2018-05-14 @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
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) diff --git a/arch/powerpc/tools/gcc-check-mprofile-kernel.sh b/arch/powerpc/tools/gcc-check-mprofile-kernel.sh index 061f8035bdbe..ec4486a9c4a3 100755 --- a/arch/powerpc/tools/gcc-check-mprofile-kernel.sh +++ b/arch/powerpc/tools/gcc-check-mprofile-kernel.sh @@ -10,13 +10,13 @@ set -o pipefail # Test whether the compile option -mprofile-kernel exists and generates # profiling code (ie. a call to _mcount()). echo "int func() { return 0; }" | \ - $* -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \ + $* -m64 -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \ grep -q "_mcount" # Test whether the notrace attribute correctly suppresses calls to _mcount(). echo -e "#include <linux/compiler.h>\nnotrace int func() { return 0; }" | \ - $* -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \ + $* -m64 -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \ grep -q "_mcount" && \ exit 1
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> --- arch/powerpc/Kconfig | 16 +--------------- arch/powerpc/Makefile | 14 ++------------ arch/powerpc/tools/gcc-check-mprofile-kernel.sh | 4 ++-- 3 files changed, 5 insertions(+), 29 deletions(-)