[GIT PULL] Kbuild updates for v6.1-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
commit e3e42c96fa1e8f504ab499fcdc8e410878b983b6
Merge: 833477fce7a1 0715fdb03e2c
Author: Masahiro Yamada <masahiroy@xxxxxxxxxx>
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          \

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux