Message ID | CAK7LNASzGEiQfPTaLmhG4k7VAwB5yznd-VqWdJHEF2YjgSQTcA@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [GIT,PULL] Kbuild updates for v6.1-rc1 | expand |
Hi Linus, I have not got any feedback on this pull request. I started to be worried because we are in the 2nd week of MW. Also, the powerpc pull request overtook this, so you need this one too. https://lore.kernel.org/all/20221004091606.71418ddc@canb.auug.org.au/ Best Regards Masahiro Yamada On Thu, Oct 6, 2022 at 11:29 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > Hello Linus, > > Please pull Kbuild updates for v6.1-rc1. > > > I attached my resolutions of the merge conflicts. > (attachment: merge-resolution.diff) > > You can find a similar resolution in next-20221005. > > A slight difference is that, I inserted > > obj-$(CONFIG_RUST) += rust/ > > right after > > obj-$(CONFIG_IO_URING) += io_uring/ > > This is the right order to keep the current link order. > > > Thank you. > > > > > The following changes since commit f76349cf41451c5c42a99f18a9163377e4b364ff: > > Linux 6.0-rc7 (2022-09-25 14:01:02 -0700) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git > tags/kbuild-v6.1 > > for you to fetch changes up to 0715fdb03e2c4f5748d245a231e422602ed29f33: > > docs: bump minimal GNU Make version to 3.82 (2022-10-06 09:16:21 +0900) > > ---------------------------------------------------------------- > Kbuild updates for v6.1 > > - Remove potentially incomplete targets when Kbuid is interrupted by > SIGINT etc. in case GNU Make may miss to do that when stderr is piped > to another program. > > - Rewrite the single target build so it works more correctly. > > - Fix rpm-pkg builds with V=1. > > - List top-level subdirectories in ./Kbuild. > > - Ignore auto-generated __kstrtab_* and __kstrtabns_* symbols in kallsyms. > > - Avoid two different modules in lib/zstd/ having shared code, which > potentially causes building the common code as build-in and modular > back-and-forth. > > - Unify two modpost invocations to optimize the build process. > > - Remove head-y syntax in favor of linker scripts for placing particular > sections in the head of vmlinux. > > - Bump the minimal GNU Make version to 3.82. > > - Clean up misc Makefiles and scripts. > > ---------------------------------------------------------------- > Alexey Kardashevskiy (1): > zstd: Fixing mixed module-builtin objects > > Janis Schoetterl-Glausch (1): > kbuild: rpm-pkg: fix breakage when V=1 is used > > Masahiro Yamada (35): > kbuild: remove the target in signal traps when interrupted > kbuild: add phony targets to ./Kbuild > kbuild: hard-code KBUILD_ALLDIRS in scripts/Makefile.package > kbuild: check sha1sum just once for each atomic header > kbuild: do not deduplicate modules.order > nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild > kbuild: remove duplicated dependency between modules and modules_check > kbuild: refactor single builds of *.ko > kbuild: move 'PHONY += modules_prepare' to the common part > init/version.c: remove #include <linux/version.h> > kbuild: build init/built-in.a just once > kbuild: generate include/generated/compile.h in top Makefile > scripts/mkcompile_h: move LC_ALL=C to '$LD -v' > Revert "kbuild: Make scripts/compile.h when sh != bash" > kbuild: fix and refactor single target build > kbuild: use objtool-args-y to clean up objtool arguments > linux/export: use inline assembler to populate symbol CRCs > kbuild: list sub-directories in ./Kbuild > kbuild: move .vmlinux.objs rule to Makefile.modpost > kbuild: move vmlinux.o rule to the top Makefile > kbuild: unify two modpost invocations > kbuild: re-run modpost when it is updated > kbuild: hide error checker logs for V=1 builds > kbuild: use obj-y instead extra-y for objects placed at the head > kbuild: remove head-y syntax > mksysmap: update comment about __crc_* > kbuild: reuse mksysmap output for kallsyms > kallsyms: drop duplicated ignore patterns from kallsyms.c > kallsyms: take the input file instead of reading stdin > kallsyms: ignore __kstrtab_* and __kstrtabns_* symbols > kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o > kbuild: rebuild .vmlinux.export.o when its prerequisite is updated > Revert "kbuild: Check if linker supports the -X option" > ia64: simplify esi object addition in Makefile > docs: bump minimal GNU Make version to 3.82 > > Nick Desaulniers (1): > Makefile.compiler: replace cc-ifversion with compiler-specific macros > > Owen Rafferty (1): > kbuild: rewrite check-local-export in sh/awk > > Zeng Heng (2): > Kconfig: remove sym_set_choice_value > scripts: remove unused argument 'type' > > Documentation/kbuild/makefiles.rst | 56 ++++++++++++----------------- > Documentation/process/changes.rst | 4 +-- > Kbuild | 77 > ++++++++++++++++++++++++++++++---------- > Makefile | 182 > ++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------- > arch/alpha/Makefile | 2 -- > arch/alpha/kernel/Makefile | 4 +-- > arch/arc/Makefile | 2 -- > arch/arc/kernel/Makefile | 4 +-- > arch/arm/Makefile | 3 -- > arch/arm/kernel/Makefile | 4 +-- > arch/arm64/Makefile | 3 -- > arch/arm64/kernel/Makefile | 4 +-- > arch/csky/Makefile | 2 -- > arch/csky/kernel/Makefile | 4 +-- > arch/hexagon/Makefile | 2 -- > arch/hexagon/kernel/Makefile | 3 +- > arch/ia64/Makefile | 1 - > arch/ia64/kernel/Makefile | 9 ++--- > arch/loongarch/Makefile | 2 -- > arch/loongarch/kernel/Makefile | 4 +-- > arch/m68k/68000/Makefile | 2 +- > arch/m68k/Makefile | 9 ----- > arch/m68k/coldfire/Makefile | 2 +- > arch/m68k/kernel/Makefile | 23 ++++++------ > arch/microblaze/Makefile | 1 - > arch/microblaze/kernel/Makefile | 4 +-- > arch/mips/Makefile | 2 -- > arch/mips/kernel/Makefile | 4 +-- > arch/nios2/Kbuild | 2 ++ > arch/nios2/Makefile | 5 --- > arch/nios2/kernel/Makefile | 2 +- > arch/openrisc/Makefile | 2 -- > arch/openrisc/kernel/Makefile | 4 +-- > arch/parisc/Makefile | 2 -- > arch/parisc/kernel/Makefile | 4 +-- > arch/powerpc/Makefile | 12 ------- > arch/powerpc/boot/wrapper | 2 +- > arch/powerpc/kernel/Makefile | 20 +++++------ > arch/riscv/Makefile | 2 -- > arch/riscv/kernel/Makefile | 2 +- > arch/s390/Makefile | 2 -- > arch/s390/boot/version.c | 1 + > arch/s390/kernel/Makefile | 4 +-- > arch/sh/Makefile | 2 -- > arch/sh/kernel/Makefile | 4 +-- > arch/sparc/Makefile | 2 -- > arch/sparc/kernel/Makefile | 3 +- > arch/x86/Makefile | 5 --- > arch/x86/boot/compressed/kaslr.c | 1 + > arch/x86/boot/version.c | 1 + > arch/x86/kernel/Makefile | 10 +++--- > arch/xtensa/Makefile | 2 -- > arch/xtensa/kernel/Makefile | 4 +-- > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > include/linux/export-internal.h | 6 ++-- > init/.gitignore | 2 ++ > init/Makefile | 57 > +++++++++++++++++++++--------- > init/build-version | 10 ++++++ > init/version-timestamp.c | 31 ++++++++++++++++ > init/version.c | 37 +++++++------------ > kernel/gen_kheaders.sh | 6 ++-- > lib/Kconfig | 8 +++-- > lib/zstd/Makefile | 16 ++++----- > lib/zstd/common/entropy_common.c | 5 ++- > lib/zstd/common/zstd_common.c | 10 ++++++ > scripts/Kbuild.include | 23 +++++++++++- > scripts/Makefile.build | 56 +++++++++-------------------- > scripts/Makefile.compiler | 10 ++++-- > scripts/Makefile.extrawarn | 4 +-- > scripts/Makefile.lib | 33 +++++++++-------- > scripts/Makefile.modfinal | 2 +- > scripts/Makefile.modpost | 114 > +++++++++++++++++++++++++++-------------------------------- > scripts/Makefile.package | 5 ++- > scripts/Makefile.vmlinux | 21 ++++++++++- > scripts/Makefile.vmlinux_o | 47 +++++++++++++++++-------- > scripts/asn1_compiler.c | 6 ++-- > scripts/atomic/check-atomics.sh | 33 ----------------- > scripts/check-local-export | 97 > +++++++++++++++++++++++++------------------------- > scripts/clang-tools/gen_compile_commands.py | 19 +--------- > scripts/head-object-list.txt | 53 ++++++++++++++++++++++++++++ > scripts/kallsyms.c | 54 +++++++++++++++++----------- > scripts/kconfig/conf.c | 2 +- > scripts/kconfig/lkc.h | 5 --- > scripts/link-vmlinux.sh | 72 > +++++++------------------------------ > scripts/mkcompile_h | 96 > ++++++-------------------------------------------- > scripts/mksysmap | 24 ++++++++++--- > scripts/package/mkspec | 4 +-- > 87 files changed, 727 insertions(+), 762 deletions(-) > create mode 100644 init/.gitignore > create mode 100755 init/build-version > create mode 100644 init/version-timestamp.c > delete mode 100755 scripts/atomic/check-atomics.sh > create mode 100644 scripts/head-object-list.txt -- Best Regards Masahiro Yamada
On Mon, Oct 10, 2022 at 12:53 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > I have not got any feedback on this pull request. > I started to be worried because we are in the 2nd week of MW. I merged it earlier today, I just haven't pushed that out yet. I had some issues with my main machine, so things got delayed a bit: https://lore.kernel.org/all/CAHk-=wjNaJWvvUKTk43H-OtdP+wnM31tw8v4oz5t1TzfO4x+TQ@mail.gmail.com/ but it is all sorted out now and I'm catching up. Linus
The pull request you sent on Thu, 6 Oct 2022 23:29:44 +0900:
> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git tags/kbuild-v6.1
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8afc66e8d43be8edcf442165b70d50dd33091e68
Thank you!
On Thu, Oct 06, 2022 at 11:29:44PM +0900, Masahiro Yamada wrote: > Masahiro Yamada (35): > kbuild: remove the target in signal traps when interrupted > kbuild: add phony targets to ./Kbuild > kbuild: hard-code KBUILD_ALLDIRS in scripts/Makefile.package > kbuild: check sha1sum just once for each atomic header > kbuild: do not deduplicate modules.order > nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild > kbuild: remove duplicated dependency between modules and modules_check This patch merged as f75a03340c2c2eea772e4d59412135021afea493 breaks build of modules when it's specified by path like 'make fs/btrfs/'. The 'make M=fs/btrfs' works but I don't see any reason why the former should stop working. Also the patch does not mention anything like that so it's most likely a bug.
On Fri, Oct 14, 2022 at 11:49:30AM +0200, David Sterba wrote: > On Thu, Oct 06, 2022 at 11:29:44PM +0900, Masahiro Yamada wrote: > > Masahiro Yamada (35): > > kbuild: remove the target in signal traps when interrupted > > kbuild: add phony targets to ./Kbuild > > kbuild: hard-code KBUILD_ALLDIRS in scripts/Makefile.package > > kbuild: check sha1sum just once for each atomic header > > kbuild: do not deduplicate modules.order > > nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild > > kbuild: remove duplicated dependency between modules and modules_check > > This patch merged as f75a03340c2c2eea772e4d59412135021afea493 breaks > build of modules when it's specified by path like 'make fs/btrfs/'. The > 'make M=fs/btrfs' works but I don't see any reason why the former should > stop working. Also the patch does not mention anything like that so it's > most likely a bug. Sorry, it must be a different commit, the build works on that one. Here's the full bisect log: # bad: [9c9155a3509a2ebdb06d77c7a621e9685c802eac] Merge tag 'drm-next-2022-10-14' of git://anongit.freedesktop.org/drm/drm # good: [4fe89d07dcc2804c8b562f6c7896a45643d34b2f] Linux 6.0 git bisect start 'master' 'v6.0' # good: [7171a8da00035e7913c3013ca5fb5beb5b8b22f0] Merge tag 'arm-dt-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc git bisect good 7171a8da00035e7913c3013ca5fb5beb5b8b22f0 # good: [bdc753c7fcb4eb009ae246a188ea7ac6dac98ce1] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux git bisect good bdc753c7fcb4eb009ae246a188ea7ac6dac98ce1 # bad: [27bc50fc90647bbf7b734c3fc306a5e61350da53] Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm git bisect bad 27bc50fc90647bbf7b734c3fc306a5e61350da53 # bad: [d4013bc4d49f6da8178a340348369bb9920225c9] Merge tag 'bitmap-6.1-rc1' of https://github.com/norov/linux git bisect bad d4013bc4d49f6da8178a340348369bb9920225c9 # good: [e572410e47a4e9647d5d7a49ca699a1497378707] Merge tag 'signal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace git bisect good e572410e47a4e9647d5d7a49ca699a1497378707 # good: [52abb27abfff8c5ddf44eef4d759f3d1e9f166c5] Merge tag 'slab-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab git bisect good 52abb27abfff8c5ddf44eef4d759f3d1e9f166c5 # bad: [8afc66e8d43be8edcf442165b70d50dd33091e68] Merge tag 'kbuild-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild git bisect bad 8afc66e8d43be8edcf442165b70d50dd33091e68 # good: [b520410654103086ccc0d339c0ff645d4c4dd697] Merge tag 'printk-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux git bisect good b520410654103086ccc0d339c0ff645d4c4dd697 # bad: [26ef40de5cbb24728a34a319e8d42cdec99f186c] kbuild: move .vmlinux.objs rule to Makefile.modpost git bisect bad 26ef40de5cbb24728a34a319e8d42cdec99f186c # bad: [a55f283e8b473a3124705934a17d0ad61e34e6c1] kbuild: generate include/generated/compile.h in top Makefile git bisect bad a55f283e8b473a3124705934a17d0ad61e34e6c1 # good: [e30d448754284d6c7580b8f330e257e9801bec76] nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild git bisect good e30d448754284d6c7580b8f330e257e9801bec76 # bad: [7f37181393a9aaa695187701bb38f356df1f1cf8] kbuild: move 'PHONY += modules_prepare' to the common part git bisect bad 7f37181393a9aaa695187701bb38f356df1f1cf8 # bad: [f110e5a250e3c5db417e094b3dd86f1c135291ca] kbuild: refactor single builds of *.ko git bisect bad f110e5a250e3c5db417e094b3dd86f1c135291ca f110e5a250e3c5d "kbuild: refactor single builds of *.ko" that looks plausible but reverting the commit does not make it work.
On Fri, Oct 14, 2022 at 7:06 PM David Sterba <dsterba@suse.cz> wrote: > > On Fri, Oct 14, 2022 at 11:49:30AM +0200, David Sterba wrote: > > On Thu, Oct 06, 2022 at 11:29:44PM +0900, Masahiro Yamada wrote: > > > Masahiro Yamada (35): > > > kbuild: remove the target in signal traps when interrupted > > > kbuild: add phony targets to ./Kbuild > > > kbuild: hard-code KBUILD_ALLDIRS in scripts/Makefile.package > > > kbuild: check sha1sum just once for each atomic header > > > kbuild: do not deduplicate modules.order > > > nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild > > > kbuild: remove duplicated dependency between modules and modules_check > > > > This patch merged as f75a03340c2c2eea772e4d59412135021afea493 breaks > > build of modules when it's specified by path like 'make fs/btrfs/'. The > > 'make M=fs/btrfs' works but I don't see any reason why the former should > > stop working. Also the patch does not mention anything like that so it's > > most likely a bug. > > Sorry, it must be a different commit, the build works on that one. > Here's the full bisect log: > > # bad: [9c9155a3509a2ebdb06d77c7a621e9685c802eac] Merge tag 'drm-next-2022-10-14' of git://anongit.freedesktop.org/drm/drm > # good: [4fe89d07dcc2804c8b562f6c7896a45643d34b2f] Linux 6.0 > git bisect start 'master' 'v6.0' > # good: [7171a8da00035e7913c3013ca5fb5beb5b8b22f0] Merge tag 'arm-dt-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc > git bisect good 7171a8da00035e7913c3013ca5fb5beb5b8b22f0 > # good: [bdc753c7fcb4eb009ae246a188ea7ac6dac98ce1] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux > git bisect good bdc753c7fcb4eb009ae246a188ea7ac6dac98ce1 > # bad: [27bc50fc90647bbf7b734c3fc306a5e61350da53] Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > git bisect bad 27bc50fc90647bbf7b734c3fc306a5e61350da53 > # bad: [d4013bc4d49f6da8178a340348369bb9920225c9] Merge tag 'bitmap-6.1-rc1' of https://github.com/norov/linux > git bisect bad d4013bc4d49f6da8178a340348369bb9920225c9 > # good: [e572410e47a4e9647d5d7a49ca699a1497378707] Merge tag 'signal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace > git bisect good e572410e47a4e9647d5d7a49ca699a1497378707 > # good: [52abb27abfff8c5ddf44eef4d759f3d1e9f166c5] Merge tag 'slab-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab > git bisect good 52abb27abfff8c5ddf44eef4d759f3d1e9f166c5 > # bad: [8afc66e8d43be8edcf442165b70d50dd33091e68] Merge tag 'kbuild-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild > git bisect bad 8afc66e8d43be8edcf442165b70d50dd33091e68 > # good: [b520410654103086ccc0d339c0ff645d4c4dd697] Merge tag 'printk-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux > git bisect good b520410654103086ccc0d339c0ff645d4c4dd697 > # bad: [26ef40de5cbb24728a34a319e8d42cdec99f186c] kbuild: move .vmlinux.objs rule to Makefile.modpost > git bisect bad 26ef40de5cbb24728a34a319e8d42cdec99f186c > # bad: [a55f283e8b473a3124705934a17d0ad61e34e6c1] kbuild: generate include/generated/compile.h in top Makefile > git bisect bad a55f283e8b473a3124705934a17d0ad61e34e6c1 > # good: [e30d448754284d6c7580b8f330e257e9801bec76] nios2: move core-y in arch/nios2/Makefile to arch/nios2/Kbuild > git bisect good e30d448754284d6c7580b8f330e257e9801bec76 > # bad: [7f37181393a9aaa695187701bb38f356df1f1cf8] kbuild: move 'PHONY += modules_prepare' to the common part > git bisect bad 7f37181393a9aaa695187701bb38f356df1f1cf8 > # bad: [f110e5a250e3c5db417e094b3dd86f1c135291ca] kbuild: refactor single builds of *.ko > git bisect bad f110e5a250e3c5db417e094b3dd86f1c135291ca > > f110e5a250e3c5d "kbuild: refactor single builds of *.ko" > > that looks plausible but reverting the commit does not make it work. Right. Thanks for the report. I will send a fix.
commit e3e42c96fa1e8f504ab499fcdc8e410878b983b6 Merge: 833477fce7a1 0715fdb03e2c Author: Masahiro Yamada <masahiroy@kernel.org> Date: Thu Oct 6 11:03:56 2022 +0900 Merge branch 'kbuild' of ../../workspace/linux-kbuild into merge-test diff --cc Documentation/process/changes.rst index 9a90197989dd,26a7fd875cfa..9844ca3a71a6 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst @@@ -31,9 -31,7 +31,9 @@@ you probably needn't concern yourself w ====================== =============== ======================================== GNU C 5.1 gcc --version Clang/LLVM (optional) 11.0.0 clang --version +Rust (optional) 1.62.0 rustc --version +bindgen (optional) 0.56.0 bindgen --version - GNU make 3.81 make --version + GNU make 3.82 make --version bash 4.2 bash --version binutils 2.23 ld -v flex 2.5.35 flex --version diff --cc Kbuild index fa441b98c9f6,8a37584d1fd6..464b34a08f51 --- a/Kbuild +++ b/Kbuild @@@ -42,18 -39,60 +39,61 @@@ $(offsets-file): arch/$(SRCARCH)/kernel quiet_cmd_syscalls = CALL $< cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags) - missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE + PHONY += missing-syscalls + missing-syscalls: scripts/checksyscalls.sh $(offsets-file) $(call cmd,syscalls) - ##### - # Check atomic headers are up-to-date - - always-y += old-atomics - - quiet_cmd_atomics = CALL $< - cmd_atomics = $(CONFIG_SHELL) $< - - old-atomics: scripts/atomic/check-atomics.sh FORCE - $(call cmd,atomics) + # Check the manual modification of atomic headers + + quiet_cmd_check_sha1 = CHKSHA1 $< + cmd_check_sha1 = \ + if ! command -v sha1sum >/dev/null; then \ + echo "warning: cannot check the header due to sha1sum missing"; \ + exit 0; \ + fi; \ + if [ "$$(sed -n '$$s:// ::p' $<)" != \ + "$$(sed '$$d' $< | sha1sum | sed 's/ .*//')" ]; then \ + echo "error: $< has been modified." >&2; \ + exit 1; \ + fi; \ + touch $@ + + atomic-checks += $(addprefix $(obj)/.checked-, \ + atomic-arch-fallback.h \ + atomic-instrumented.h \ + atomic-long.h) + + targets += $(atomic-checks) + $(atomic-checks): $(obj)/.checked-%: include/linux/atomic/% FORCE + $(call if_changed,check_sha1) + + # A phony target that depends on all the preparation targets + + PHONY += prepare + prepare: $(offsets-file) missing-syscalls $(atomic-checks) + @: + + # Ordinary directory descending + # --------------------------------------------------------------------------- + + obj-y += init/ + obj-y += usr/ + obj-y += arch/$(SRCARCH)/ + obj-y += $(ARCH_CORE) + obj-y += kernel/ + obj-y += certs/ + obj-y += mm/ + obj-y += fs/ + obj-y += ipc/ + obj-y += security/ + obj-y += crypto/ + obj-$(CONFIG_BLOCK) += block/ + obj-$(CONFIG_IO_URING) += io_uring/ ++obj-$(CONFIG_RUST) += rust/ + obj-y += $(ARCH_LIB) + obj-y += drivers/ + obj-y += sound/ + obj-$(CONFIG_SAMPLES) += samples/ + obj-$(CONFIG_NET) += net/ + obj-y += virt/ + obj-y += $(ARCH_DRIVERS) diff --cc Makefile index f659d3085121,d7ba05191470..d66187d53b5f --- a/Makefile +++ b/Makefile @@@ -536,9 -501,8 +536,9 @@@ RUSTFLAGS_MODULE AFLAGS_MODULE = LDFLAGS_MODULE = CFLAGS_KERNEL = +RUSTFLAGS_KERNEL = AFLAGS_KERNEL = - LDFLAGS_vmlinux = + export LDFLAGS_vmlinux = # Use USERINCLUDE when you must reference the UAPI directories only. USERINCLUDE := \ @@@ -862,11 -789,7 +861,10 @@@ KBUILD_CFLAGS += $(stackp-flags-y KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds - KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH) +KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings +KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y) + ifdef CONFIG_CC_IS_CLANG KBUILD_CPPFLAGS += -Qunused-arguments # The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable. @@@ -1574,7 -1493,7 +1567,8 @@@ endif # CONFIG_MODULE # Directories & files removed with 'make clean' CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \ modules.builtin modules.builtin.modinfo modules.nsdeps \ - compile_commands.json .thinlto-cache rust/test rust/doc - compile_commands.json .thinlto-cache .vmlinux.objs .vmlinux.export.c ++ compile_commands.json .thinlto-cache rust/test rust/doc \ ++ .vmlinux.objs .vmlinux.export.c # Directories & files removed with 'make mrproper' MRPROPER_FILES += include/config include/generated \