Re: [PATCH 2/3] Kbuild: don't add obj tree in additional includes
On Tuesday, June 14, 2016 6:42:16 AM CEST kbuild test robot wrote: >kernel/time/Kconfig:155:warning: range is invalid >In file included from arch/x86/include/asm/seccomp.h:4:0, > from include/linux/seccomp.h:11, > from include/linux/sched.h:43, > from arch/x86/um/shared/sysdep/kernel-offsets.h:2, > from arch/um/kernel/asm-offsets.c:1: > >> arch/x86/include/asm/unistd.h:15:29: fatal error: asm/unistd_32.h: No such > >> file or directory > # include Clearly this version was no good, I'm following up with a (longer) replacement, let's see how that works out. Arnd
Re: [PATCH 2/3] Kbuild: don't add obj tree in additional includes
Hi, [auto build test ERROR on kbuild/for-next] [also build test ERROR on v4.7-rc3 next-20160609] [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/Arnd-Bergmann/Kbuild-don-t-add-to-include-path/20160614-052242 base: https://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next config: um-x86_64_defconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 reproduce: # save the attached .config to linux build tree make ARCH=um SUBARCH=x86_64 All errors (new ones prefixed by >>): kernel/time/Kconfig:155:warning: range is invalid In file included from arch/x86/include/asm/seccomp.h:4:0, from include/linux/seccomp.h:11, from include/linux/sched.h:43, from arch/x86/um/shared/sysdep/kernel-offsets.h:2, from arch/um/kernel/asm-offsets.c:1: >> arch/x86/include/asm/unistd.h:23:29: fatal error: asm/unistd_64.h: No such >> file or directory # include ^ compilation terminated. make[2]: *** [arch/um/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +23 arch/x86/include/asm/unistd.h fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 7 # ifdef CONFIG_X86_X32_ABI fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 8 # define __SYSCALL_MASK (~(__X32_SYSCALL_BIT)) fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 9 # else fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 10 # define __SYSCALL_MASK (~0) fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 11 # endif fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 12 b11caa7c include/asm-x86/unistd.h Adrian Bunk2008-04-20 13 # ifdef CONFIG_X86_32 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 14 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 15 # include 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 16 # define __ARCH_WANT_STAT64 4f2f81a5 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-01-19 17 # define __ARCH_WANT_SYS_IPC 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 18 # define __ARCH_WANT_SYS_OLD_MMAP 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 19 # define __ARCH_WANT_SYS_OLD_SELECT 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 20 b11caa7c include/asm-x86/unistd.h Adrian Bunk2008-04-20 21 # else 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 22 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 @23 # include ea499fec arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-14 24 # include 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 25 # define __ARCH_WANT_COMPAT_SYS_TIME 0473c9b5 arch/x86/include/asm/unistd.h Heiko Carstens 2014-03-03 26 # define __ARCH_WANT_COMPAT_SYS_GETDENTS64 378a10f3 arch/x86/include/asm/unistd.h Heiko Carstens 2014-03-05 27 # define __ARCH_WANT_COMPAT_SYS_PREADV64 378a10f3 arch/x86/include/asm/unistd.h Heiko Carstens 2014-03-05 28 # define __ARCH_WANT_COMPAT_SYS_PWRITEV64 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 29 b11caa7c include/asm-x86/unistd.h Adrian Bunk2008-04-20 30 # endif 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 31 :: The code at line 23 was first introduced by commit :: 303395ac3bf3e2cb488435537d416bc840438fcb x86: Generate system call tables and unistd_*.h from tables :: TO: H. Peter Anvin :: CC: H. Peter Anvin --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH 2/3] Kbuild: don't add obj tree in additional includes
Hi, [auto build test ERROR on kbuild/for-next] [also build test ERROR on v4.7-rc3 next-20160609] [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/Arnd-Bergmann/Kbuild-don-t-add-to-include-path/20160614-052242 base: https://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next config: um-i386_defconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 reproduce: # save the attached .config to linux build tree make ARCH=um SUBARCH=i386 All errors (new ones prefixed by >>): kernel/time/Kconfig:155:warning: range is invalid In file included from arch/x86/include/asm/seccomp.h:4:0, from include/linux/seccomp.h:11, from include/linux/sched.h:43, from arch/x86/um/shared/sysdep/kernel-offsets.h:2, from arch/um/kernel/asm-offsets.c:1: >> arch/x86/include/asm/unistd.h:15:29: fatal error: asm/unistd_32.h: No such >> file or directory # include ^ compilation terminated. make[2]: *** [arch/um/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +15 arch/x86/include/asm/unistd.h 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 1 #ifndef _ASM_X86_UNISTD_H 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 2 #define _ASM_X86_UNISTD_H 1 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 3 af170c50 arch/x86/include/asm/unistd.h David Howells 2012-12-14 4 #include 6cbb369f arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-14 5 fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 6 fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 7 # ifdef CONFIG_X86_X32_ABI fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 8 # define __SYSCALL_MASK (~(__X32_SYSCALL_BIT)) fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 9 # else fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 10 # define __SYSCALL_MASK (~0) fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 11 # endif fca460f9 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-02-19 12 b11caa7c include/asm-x86/unistd.h Adrian Bunk2008-04-20 13 # ifdef CONFIG_X86_32 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 14 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 @15 # include 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 16 # define __ARCH_WANT_STAT64 4f2f81a5 arch/x86/include/asm/unistd.h H. Peter Anvin 2012-01-19 17 # define __ARCH_WANT_SYS_IPC 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 18 # define __ARCH_WANT_SYS_OLD_MMAP 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 19 # define __ARCH_WANT_SYS_OLD_SELECT 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 20 b11caa7c include/asm-x86/unistd.h Adrian Bunk2008-04-20 21 # else 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 22 303395ac arch/x86/include/asm/unistd.h H. Peter Anvin 2011-11-11 23 # include :: The code at line 15 was first introduced by commit :: 303395ac3bf3e2cb488435537d416bc840438fcb x86: Generate system call tables and unistd_*.h from tables :: TO: H. Peter Anvin :: CC: H. Peter Anvin --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH 2/3] Kbuild: don't add obj tree in additional includes
Hi, [auto build test ERROR on kbuild/for-next] [also build test ERROR on v4.7-rc3 next-20160609] [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/Arnd-Bergmann/Kbuild-don-t-add-to-include-path/20160614-052242 base: https://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next config: i386-tinyconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> arch/x86/realmode/rm/realmode.lds.S:75:20: fatal error: pasyms.h: No such >> file or directory #include "pasyms.h" ^ compilation terminated. vim +75 arch/x86/realmode/rm/realmode.lds.S b3266bd6 Jarkko Sakkinen 2012-05-08 59 .bss : { b3266bd6 Jarkko Sakkinen 2012-05-08 60 *(.bss*) b3266bd6 Jarkko Sakkinen 2012-05-08 61 } b3266bd6 Jarkko Sakkinen 2012-05-08 62 b3266bd6 Jarkko Sakkinen 2012-05-08 63 /* End signature for integrity checking */ b3266bd6 Jarkko Sakkinen 2012-05-08 64 . = ALIGN(4); b3266bd6 Jarkko Sakkinen 2012-05-08 65 .signature : { b3266bd6 Jarkko Sakkinen 2012-05-08 66 *(.signature) b3266bd6 Jarkko Sakkinen 2012-05-08 67 } b3266bd6 Jarkko Sakkinen 2012-05-08 68 b3266bd6 Jarkko Sakkinen 2012-05-08 69 /DISCARD/ : { b3266bd6 Jarkko Sakkinen 2012-05-08 70 *(.note*) b3266bd6 Jarkko Sakkinen 2012-05-08 71 *(.debug*) b3266bd6 Jarkko Sakkinen 2012-05-08 72 *(.eh_frame*) b3266bd6 Jarkko Sakkinen 2012-05-08 73 } b3266bd6 Jarkko Sakkinen 2012-05-08 74 b3266bd6 Jarkko Sakkinen 2012-05-08 @75 #include "pasyms.h" b3266bd6 Jarkko Sakkinen 2012-05-08 76 } :: The code at line 75 was first introduced by commit :: b3266bd6ff52efb9e57c7fbfff4c8f7363dfaab3 x86, realmode: realmode.bin infrastructure :: TO: Jarkko Sakkinen :: CC: H. Peter Anvin --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
[PATCH 2/3] Kbuild: don't add obj tree in additional includes
When building with separate object directories and driver specific Makefiles that add additional header include paths, Kbuild adjusts the gcc flags so that we include both the directory in the source tree and in the object tree. However, due to another bug I fixed earlier, this did not actually include the correct directory in the object tree, so we know that we only really need the source tree here. Also, including the object tree sometimes causes warnings about nonexisting directories when the include path only exists in the source. This changes the logic to only emit the -I argument for the srctree, not for objects. We still need both $(srctree)/$(src) and $(obj) though, so I'm adding them manually. Signed-off-by: Arnd Bergmann --- scripts/Kbuild.include | 2 +- scripts/Makefile.lib | 7 --- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index f8b45eb47ed3..f8f95e32a746 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -202,7 +202,7 @@ hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj # Prefix -I with $(srctree) if it is not an absolute path. # skip if -I has no parameter addtree = $(if $(patsubst -I%,%,$(1)), \ -$(if $(filter-out -I/% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1))) $(1)) +$(if $(filter-out -I/% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1))) # Find all -I options and call addtree flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 76494e15417b..0a07f9014944 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -155,9 +155,10 @@ else # $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files # and locates generated .h files # FIXME: Replace both with specific CFLAGS* statements in the makefiles -__c_flags = $(call addtree,-I$(obj)) $(call flags,_c_flags) -__a_flags = $(call flags,_a_flags) -__cpp_flags = $(call flags,_cpp_flags) +__c_flags = $(if $(obj),-I$(srctree)/$(src) -I$(obj)) \ + $(call flags,_c_flags) +__a_flags = $(call flags,_a_flags) +__cpp_flags = $(call flags,_cpp_flags) endif c_flags= -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ -- 2.7.0