Merge tag 'kbuild-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 5 Apr 2025 22:46:50 +0000 (15:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 5 Apr 2025 22:46:50 +0000 (15:46 -0700)
Pull Kbuild updates from Masahiro Yamada:

 - Improve performance in gendwarfksyms

 - Remove deprecated EXTRA_*FLAGS and KBUILD_ENABLE_EXTRA_GCC_CHECKS

 - Support CONFIG_HEADERS_INSTALL for ARCH=um

 - Use more relative paths to sources files for better reproducibility

 - Support the loong64 Debian architecture

 - Add Kbuild bash completion

 - Introduce intermediate vmlinux.unstripped for architectures that need
   static relocations to be stripped from the final vmlinux

 - Fix versioning in Debian packages for -rc releases

 - Treat missing MODULE_DESCRIPTION() as an error

 - Convert Nios2 Makefiles to use the generic rule for built-in DTB

 - Add debuginfo support to the RPM package

* tag 'kbuild-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (40 commits)
  kbuild: rpm-pkg: build a debuginfo RPM
  kconfig: merge_config: use an empty file as initfile
  nios2: migrate to the generic rule for built-in DTB
  rust: kbuild: skip `--remap-path-prefix` for `rustdoc`
  kbuild: pacman-pkg: hardcode module installation path
  kbuild: deb-pkg: don't set KBUILD_BUILD_VERSION unconditionally
  modpost: require a MODULE_DESCRIPTION()
  kbuild: make all file references relative to source root
  x86: drop unnecessary prefix map configuration
  kbuild: deb-pkg: add comment about future removal of KDEB_COMPRESS
  kbuild: Add a help message for "headers"
  kbuild: deb-pkg: remove "version" variable in mkdebian
  kbuild: deb-pkg: fix versioning for -rc releases
  Documentation/kbuild: Fix indentation in modules.rst example
  x86: Get rid of Makefile.postlink
  kbuild: Create intermediate vmlinux build with relocations preserved
  kbuild: Introduce Kconfig symbol for linking vmlinux with relocations
  kbuild: link-vmlinux.sh: Make output file name configurable
  kbuild: do not generate .tmp_vmlinux*.map when CONFIG_VMLINUX_MAP=y
  Revert "kheaders: Ignore silly-rename files"
  ...

18 files changed:
1  2 
MAINTAINERS
Makefile
arch/Kconfig
arch/mips/Kconfig
arch/riscv/Kconfig
arch/riscv/Makefile
arch/s390/Kconfig
arch/s390/Makefile
arch/x86/Kconfig
arch/x86/Makefile
arch/x86/boot/Makefile
arch/x86/boot/compressed/Makefile
lib/Kconfig.debug
rust/Makefile
scripts/Makefile.build
scripts/Makefile.lib
scripts/checkpatch.pl
scripts/link-vmlinux.sh

diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
Simple merge
diff --cc arch/Kconfig
Simple merge
Simple merge
@@@ -1106,8 -1075,9 +1106,9 @@@ config PARAVIRT_TIME_ACCOUNTIN
  
  config RELOCATABLE
        bool "Build a relocatable kernel"
 -      depends on MMU && 64BIT && !XIP_KERNEL
 +      depends on !XIP_KERNEL
        select MODULE_SECTIONS if MODULES
+       select ARCH_VMLINUX_NEEDS_RELOCS
        help
            This builds a kernel as a Position Independent Executable (PIE),
            which retains all relocation metadata required to relocate the
Simple merge
Simple merge
@@@ -15,7 -15,7 +15,7 @@@ KBUILD_CFLAGS_MODULE += -fPI
  KBUILD_AFLAGS += -m64
  KBUILD_CFLAGS += -m64
  KBUILD_CFLAGS += -fPIC
- LDFLAGS_vmlinux       := $(call ld-option,-no-pie) --emit-relocs --discard-none
 -LDFLAGS_vmlinux       := -no-pie
++LDFLAGS_vmlinux       := $(call ld-option,-no-pie)
  extra_tools   := relocs
  aflags_dwarf  := -Wa,-gdwarf-2
  KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc rust/Makefile
@@@ -199,9 -175,9 +203,9 @@@ quiet_cmd_rustdoc_test_kernel = RUSTDO
        rm -rf $(objtree)/$(obj)/test/doctests/kernel; \
        mkdir -p $(objtree)/$(obj)/test/doctests/kernel; \
        OBJTREE=$(abspath $(objtree)) \
-       $(RUSTDOC) --test $(rust_flags) \
+       $(RUSTDOC) --test $(filter-out --remap-path-prefix=%,$(rust_flags)) \
 -              -L$(objtree)/$(obj) --extern ffi --extern kernel \
 -              --extern build_error --extern macros \
 +              -L$(objtree)/$(obj) --extern ffi --extern pin_init \
 +              --extern kernel --extern build_error --extern macros \
                --extern bindings --extern uapi \
                --no-run --crate-name kernel -Zunstable-options \
                --sysroot=/dev/null \
Simple merge
Simple merge
Simple merge
Simple merge