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.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

- Fix CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y compile error for the
combination of Clang >= 14 and GAS <= 2.35.

- Drop vmlinux.bz2 from the rpm package as it just annoyingly increased
the package size.

- Fix modpost error under build environments using musl.

- Make *.ll files keep value names for easier debugging

- Fix single directory build

- Prevent RISC-V from selecting the broken DWARF5 support when Clang
and GAS are used together.

* tag 'kbuild-fixes-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5
kbuild: fix single directory build
kbuild: add -fno-discard-value-names to cmd_cc_ll_c
scripts/clang-tools: Convert clang-tidy args to list
modpost: put modpost options before argument
kbuild: Stop including vmlinux.bz2 in the rpm's
Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5

+18 -11
+2
Makefile
··· 1979 1979 1980 1980 single-goals := $(addprefix $(build-dir)/, $(single-no-ko)) 1981 1981 1982 + KBUILD_MODULES := 1 1983 + 1982 1984 endif 1983 1985 1984 1986 # Preset locale variables to speed up the build process. Limit locale
+8 -2
lib/Kconfig.debug
··· 231 231 in the "Debug information" choice below, indicating that debug 232 232 information will be generated for build targets. 233 233 234 + # Clang is known to generate .{s,u}leb128 with symbol deltas with DWARF5, which 235 + # some targets may not support: https://sourceware.org/bugzilla/show_bug.cgi?id=27215 236 + config AS_HAS_NON_CONST_LEB128 237 + def_bool $(as-instr,.uleb128 .Lexpr_end4 - .Lexpr_start3\n.Lexpr_start3:\n.Lexpr_end4:) 238 + 234 239 choice 235 240 prompt "Debug information" 236 241 depends on DEBUG_KERNEL ··· 258 253 config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT 259 254 bool "Rely on the toolchain's implicit default DWARF version" 260 255 select DEBUG_INFO 256 + depends on !CC_IS_CLANG || AS_IS_LLVM || CLANG_VERSION < 140000 || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128) 261 257 help 262 258 The implicit default version of DWARF debug info produced by a 263 259 toolchain changes over time. ··· 270 264 config DEBUG_INFO_DWARF4 271 265 bool "Generate DWARF Version 4 debuginfo" 272 266 select DEBUG_INFO 273 - depends on !CC_IS_CLANG || (CC_IS_CLANG && (AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502))) 267 + depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502) 274 268 help 275 269 Generate DWARF v4 debug info. This requires gcc 4.5+, binutils 2.35.2 276 270 if using clang without clang's integrated assembler, and gdb 7.0+. ··· 282 276 config DEBUG_INFO_DWARF5 283 277 bool "Generate DWARF Version 5 debuginfo" 284 278 select DEBUG_INFO 285 - depends on !CC_IS_CLANG || (CC_IS_CLANG && (AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502))) 279 + depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128) 286 280 help 287 281 Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc 288 282 5.0+ accepts the -gdwarf-5 flag but only had partial support for some
+1 -1
scripts/Makefile.build
··· 140 140 # LLVM assembly 141 141 # Generate .ll files from .c 142 142 quiet_cmd_cc_ll_c = CC $(quiet_modtag) $@ 143 - cmd_cc_ll_c = $(CC) $(c_flags) -emit-llvm -S -o $@ $< 143 + cmd_cc_ll_c = $(CC) $(c_flags) -emit-llvm -S -fno-discard-value-names -o $@ $< 144 144 145 145 $(obj)/%.ll: $(src)/%.c FORCE 146 146 $(call if_changed_dep,cc_ll_c)
+1 -1
scripts/Makefile.modpost
··· 119 119 echo >&2 "WARNING: $(missing-input) is missing."; \ 120 120 echo >&2 " Modules may not have dependencies or modversions."; \ 121 121 echo >&2 " You may get many unresolved symbol warnings.";) \ 122 - sed 's/ko$$/o/' $(or $(modorder-if-needed), /dev/null) | $(MODPOST) $(modpost-args) $(vmlinux.o-if-present) -T - 122 + sed 's/ko$$/o/' $(or $(modorder-if-needed), /dev/null) | $(MODPOST) $(modpost-args) -T - $(vmlinux.o-if-present) 123 123 124 124 targets += $(output-symdump) 125 125 $(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(moudle.symvers-if-present) $(MODPOST) FORCE
+6 -5
scripts/clang-tools/run-clang-tools.py
··· 45 45 46 46 def run_analysis(entry): 47 47 # Disable all checks, then re-enable the ones we want 48 - checks = "-checks=-*," 48 + checks = [] 49 + checks.append("-checks=-*") 49 50 if args.type == "clang-tidy": 50 - checks += "linuxkernel-*" 51 + checks.append("linuxkernel-*") 51 52 else: 52 - checks += "clang-analyzer-*" 53 - checks += ",-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling" 54 - p = subprocess.run(["clang-tidy", "-p", args.path, checks, entry["file"]], 53 + checks.append("clang-analyzer-*") 54 + checks.append("-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling") 55 + p = subprocess.run(["clang-tidy", "-p", args.path, ",".join(checks), entry["file"]], 55 56 stdout=subprocess.PIPE, 56 57 stderr=subprocess.STDOUT, 57 58 cwd=entry["directory"])
-2
scripts/package/mkspec
··· 97 97 $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install 98 98 cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE 99 99 cp .config %{buildroot}/boot/config-$KERNELRELEASE 100 - bzip2 -9 --keep vmlinux 101 - mv vmlinux.bz2 %{buildroot}/boot/vmlinux-$KERNELRELEASE.bz2 102 100 $S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build 103 101 $S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/source 104 102 $S$M mkdir -p %{buildroot}/usr/src/kernels/$KERNELRELEASE