Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

- Hide LDFLAGS_vmlinux from decompressor Makefiles to fix error
messages when GNU Make 4.4 is used.

- Fix 'make modules' build error when CONFIG_DEBUG_INFO_BTF_MODULES=y.

- Fix warnings emitted by GNU Make 4.4 in scripts/kconfig/Makefile.

- Support GNU Make 4.4 for scripts/jobserver-exec.

- Show clearer error message when kernel/gen_kheaders.sh fails due to
missing cpio.

* tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kheaders: explicitly validate existence of cpio command
scripts: support GNU make 4.4 in jobserver-exec
kconfig: Update all declared targets
scripts: rpm: make clear that mkspec script contains 4.13 feature
init/Kconfig: fix LOCALVERSION_AUTO help text
kbuild: fix 'make modules' error when CONFIG_DEBUG_INFO_BTF_MODULES=y
kbuild: export top-level LDFLAGS_vmlinux only to scripts/Makefile.vmlinux
init/version-timestamp.c: remove unneeded #include <linux/version.h>
docs: kbuild: remove mention to dropped $(objtree) feature

+35 -12
+1 -1
Documentation/kbuild/makefiles.rst
··· 1042 1042 1043 1043 When executing "make clean", the file "crc32table.h" will be deleted. 1044 1044 Kbuild will assume files to be in the same relative directory as the 1045 - Makefile, except if prefixed with $(objtree). 1045 + Makefile. 1046 1046 1047 1047 To exclude certain files or directories from make clean, use the 1048 1048 $(no-clean-files) variable.
+14 -1
Makefile
··· 549 549 CFLAGS_KERNEL = 550 550 RUSTFLAGS_KERNEL = 551 551 AFLAGS_KERNEL = 552 - export LDFLAGS_vmlinux = 552 + LDFLAGS_vmlinux = 553 553 554 554 # Use USERINCLUDE when you must reference the UAPI directories only. 555 555 USERINCLUDE := \ ··· 1248 1248 @: 1249 1249 1250 1250 PHONY += vmlinux 1251 + # LDFLAGS_vmlinux in the top Makefile defines linker flags for the top vmlinux, 1252 + # not for decompressors. LDFLAGS_vmlinux in arch/*/boot/compressed/Makefile is 1253 + # unrelated; the decompressors just happen to have the same base name, 1254 + # arch/*/boot/compressed/vmlinux. 1255 + # Export LDFLAGS_vmlinux only to scripts/Makefile.vmlinux. 1256 + # 1257 + # _LDFLAGS_vmlinux is a workaround for the 'private export' bug: 1258 + # https://savannah.gnu.org/bugs/?61463 1259 + # For Make > 4.4, the following simple code will work: 1260 + # vmlinux: private export LDFLAGS_vmlinux := $(LDFLAGS_vmlinux) 1261 + vmlinux: private _LDFLAGS_vmlinux := $(LDFLAGS_vmlinux) 1262 + vmlinux: export LDFLAGS_vmlinux = $(_LDFLAGS_vmlinux) 1251 1263 vmlinux: vmlinux.o $(KBUILD_LDS) modpost 1252 1264 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux 1253 1265 ··· 1545 1533 # *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES 1546 1534 # is an exception. 1547 1535 ifdef CONFIG_DEBUG_INFO_BTF_MODULES 1536 + KBUILD_BUILTIN := 1 1548 1537 modules: vmlinux 1549 1538 endif 1550 1539
+1 -1
init/Kconfig
··· 204 204 appended after any matching localversion* files, and after the value 205 205 set in CONFIG_LOCALVERSION. 206 206 207 - (The actual string used here is the first eight characters produced 207 + (The actual string used here is the first 12 characters produced 208 208 by running the command: 209 209 210 210 $ git rev-parse --verify HEAD
-1
init/version-timestamp.c
··· 2 2 3 3 #include <generated/compile.h> 4 4 #include <generated/utsrelease.h> 5 - #include <linux/version.h> 6 5 #include <linux/proc_ns.h> 7 6 #include <linux/refcount.h> 8 7 #include <linux/uts.h>
+2
kernel/gen_kheaders.sh
··· 14 14 arch/$SRCARCH/include/ 15 15 " 16 16 17 + type cpio > /dev/null 18 + 17 19 # Support incremental builds by skipping archive generation 18 20 # if timestamps of files being archived are not changed. 19 21
+14 -5
scripts/jobserver-exec
··· 26 26 # If the MAKEFLAGS variable contains multiple instances of the 27 27 # --jobserver-auth= option, the last one is relevant. 28 28 fds = opts[-1].split("=", 1)[1] 29 - reader, writer = [int(x) for x in fds.split(",", 1)] 30 - # Open a private copy of reader to avoid setting nonblocking 31 - # on an unexpecting process with the same reader fd. 32 - reader = os.open("/proc/self/fd/%d" % (reader), 33 - os.O_RDONLY | os.O_NONBLOCK) 29 + 30 + # Starting with GNU Make 4.4, named pipes are used for reader and writer. 31 + # Example argument: --jobserver-auth=fifo:/tmp/GMfifo8134 32 + _, _, path = fds.partition('fifo:') 33 + 34 + if path: 35 + reader = os.open(path, os.O_RDONLY | os.O_NONBLOCK) 36 + writer = os.open(path, os.O_WRONLY) 37 + else: 38 + reader, writer = [int(x) for x in fds.split(",", 1)] 39 + # Open a private copy of reader to avoid setting nonblocking 40 + # on an unexpecting process with the same reader fd. 41 + reader = os.open("/proc/self/fd/%d" % (reader), 42 + os.O_RDONLY | os.O_NONBLOCK) 34 43 35 44 # Read out as many jobserver slots as possible. 36 45 while True:
+1 -1
scripts/kconfig/.gitignore
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 /conf 3 3 /[gmnq]conf 4 + /[gmnq]conf-bin 4 5 /[gmnq]conf-cflags 5 6 /[gmnq]conf-libs 6 - /qconf-bin 7 7 /qconf-moc.cc
+1 -1
scripts/kconfig/Makefile
··· 209 209 $(obj)/gconf.o: | $(obj)/gconf-cflags 210 210 211 211 # check if necessary packages are available, and configure build flags 212 - cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin) 212 + cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin); touch $(obj)/$*conf-bin 213 213 214 214 $(obj)/%conf-cflags $(obj)/%conf-libs $(obj)/%conf-bin: $(src)/%conf-cfg.sh 215 215 $(call cmd,conf_cfg)
+1 -1
scripts/package/mkspec
··· 1 1 #!/bin/sh 2 2 # 3 3 # Output a simple RPM spec file. 4 - # This version assumes a minimum of RPM 4.0.3. 4 + # This version assumes a minimum of RPM 4.13 5 5 # 6 6 # The only gothic bit here is redefining install_post to avoid 7 7 # stripping the symbols from files in the kernel which we want