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

Pull Kbuild fixes from Masahiro Yamada:

- Fix a Kconfig bug regarding comparisons to 'm' or 'n'

- Replace missed $(srctree)/$(src)

- Fix unneeded kallsyms step 3

- Remove incorrect "compatible" properties from image nodes in
image.fit

- Improve gen_kheaders.sh

- Fix 'make dt_binding_check'

- Clean up unnecessary code

* tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
dt-bindings: kbuild: Fix dt_binding_check on unconfigured build
kheaders: use `command -v` to test for existence of `cpio`
kheaders: explicitly define file modes for archived headers
scripts/make_fit: Drop fdt image entry compatible string
kbuild: remove a stale comment about cleaning in link-vmlinux.sh
kbuild: fix short log for AS in link-vmlinux.sh
kbuild: change scripts/mksysmap into sed script
kbuild: avoid unneeded kallsyms step 3
kbuild: scripts/gdb: Replace missed $(srctree)/$(src) w/ $(src)
kconfig: remove redundant check in expr_join_or()
kconfig: fix comparison to constant symbols, 'm', 'n'
kconfig: remove unused expr_is_no()

+25 -41
+7 -2
kernel/gen_kheaders.sh
··· 14 14 arch/$SRCARCH/include/ 15 15 " 16 16 17 - type cpio > /dev/null 17 + if ! command -v cpio >/dev/null; then 18 + echo >&2 "***" 19 + echo >&2 "*** 'cpio' could not be found." 20 + echo >&2 "***" 21 + exit 1 22 + fi 18 23 19 24 # Support incremental builds by skipping archive generation 20 25 # if timestamps of files being archived are not changed. ··· 89 84 90 85 # Create archive and try to normalize metadata for reproducibility. 91 86 tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \ 92 - --owner=0 --group=0 --sort=name --numeric-owner \ 87 + --owner=0 --group=0 --sort=name --numeric-owner --mode=u=rw,go=r,a+X \ 93 88 -I $XZ -cf $tarfile -C $cpio_dir/ . > /dev/null 94 89 95 90 echo $headers_md5 > kernel/kheaders.md5
+1 -1
scripts/dtc/Makefile
··· 3 3 4 4 # *** Also keep .gitignore in sync when changing *** 5 5 hostprogs-always-$(CONFIG_DTC) += dtc fdtoverlay 6 - hostprogs-always-$(CHECK_DT_BINDING) += dtc 6 + hostprogs-always-$(CHECK_DTBS) += dtc 7 7 8 8 dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ 9 9 srcpos.o checks.o util.o
+1 -1
scripts/gdb/linux/Makefile
··· 5 5 symlinks := $(patsubst $(src)/%,%,$(wildcard $(src)/*.py)) 6 6 7 7 quiet_cmd_symlink = SYMLINK $@ 8 - cmd_symlink = ln -fsn $(patsubst $(obj)/%,$(abspath $(srctree))/$(src)/%,$@) $@ 8 + cmd_symlink = ln -fsn $(patsubst $(obj)/%,$(src)/%,$@) $@ 9 9 10 10 always-y += $(symlinks) 11 11 $(addprefix $(obj)/, $(symlinks)): FORCE
+1 -1
scripts/kconfig/expr.c
··· 476 476 return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes); 477 477 } 478 478 } 479 - if (sym1->type == S_BOOLEAN && sym1 == sym2) { 479 + if (sym1->type == S_BOOLEAN) { 480 480 if ((e1->type == E_NOT && e1->left.expr->type == E_SYMBOL && e2->type == E_SYMBOL) || 481 481 (e2->type == E_NOT && e2->left.expr->type == E_SYMBOL && e1->type == E_SYMBOL)) 482 482 return expr_alloc_symbol(&symbol_yes);
-5
scripts/kconfig/expr.h
··· 302 302 return !e || (e->type == E_SYMBOL && e->left.sym == &symbol_yes); 303 303 } 304 304 305 - static inline int expr_is_no(struct expr *e) 306 - { 307 - return e && (e->type == E_SYMBOL && e->left.sym == &symbol_no); 308 - } 309 - 310 305 #ifdef __cplusplus 311 306 } 312 307 #endif
+4 -2
scripts/kconfig/symbol.c
··· 14 14 15 15 struct symbol symbol_yes = { 16 16 .name = "y", 17 + .type = S_TRISTATE, 17 18 .curr = { "y", yes }, 18 19 .menus = LIST_HEAD_INIT(symbol_yes.menus), 19 20 .flags = SYMBOL_CONST|SYMBOL_VALID, ··· 22 21 23 22 struct symbol symbol_mod = { 24 23 .name = "m", 24 + .type = S_TRISTATE, 25 25 .curr = { "m", mod }, 26 26 .menus = LIST_HEAD_INIT(symbol_mod.menus), 27 27 .flags = SYMBOL_CONST|SYMBOL_VALID, ··· 30 28 31 29 struct symbol symbol_no = { 32 30 .name = "n", 31 + .type = S_TRISTATE, 33 32 .curr = { "n", no }, 34 33 .menus = LIST_HEAD_INIT(symbol_no.menus), 35 34 .flags = SYMBOL_CONST|SYMBOL_VALID, ··· 823 820 case no: 824 821 return "n"; 825 822 case mod: 826 - sym_calc_value(modules_sym); 827 - return (modules_sym->curr.tri == no) ? "n" : "m"; 823 + return "m"; 828 824 case yes: 829 825 return "y"; 830 826 }
+1 -2
scripts/make_fit.py
··· 190 190 Args: 191 191 fsw (libfdt.FdtSw): Object to use for writing 192 192 seq (int): Sequence number (1 for first) 193 - fmame (str): Filename containing the DTB 193 + fname (str): Filename containing the DTB 194 194 arch: FIT architecture, e.g. 'arm64' 195 195 compress (str): Compressed algorithm, e.g. 'gzip' 196 196 ··· 211 211 fsw.property_string('type', 'flat_dt') 212 212 fsw.property_string('arch', arch) 213 213 fsw.property_string('compression', compress) 214 - fsw.property('compatible', bytes(compat)) 215 214 216 215 with open(fname, 'rb') as inf: 217 216 compressed = compress_data(inf, compress)
+6 -22
scripts/mksysmap
··· 1 - #!/bin/sh -x 2 - # Based on the vmlinux file create the System.map file 1 + #!/bin/sed -f 2 + # SPDX-License-Identifier: GPL-2.0-only 3 + # 4 + # sed script to filter out symbols that are not needed for System.map, 5 + # or not suitable for kallsyms. The input should be 'nm -n <file>'. 6 + # 3 7 # System.map is used by module-init tools and some debugging 4 8 # tools to retrieve the actual addresses of symbols in the kernel. 5 9 # 6 - # Usage 7 - # mksysmap vmlinux System.map [exclude] 8 - 9 - 10 - ##### 11 - # Generate System.map (actual filename passed as second argument) 12 - # The following refers to the symbol type as per nm(1). 13 - 14 10 # readprofile starts reading symbols when _stext is found, and 15 11 # continue until it finds a symbol which is not either of 'T', 't', 16 12 # 'W' or 'w'. 17 13 # 18 - 19 - ${NM} -n ${1} | sed >${2} -e " 20 14 # --------------------------------------------------------------------------- 21 15 # Ignored symbol types 22 16 # ··· 86 92 # ppc stub 87 93 /\.long_branch\./d 88 94 /\.plt_branch\./d 89 - 90 - # --------------------------------------------------------------------------- 91 - # Ignored kallsyms symbols 92 - # 93 - # If the 3rd parameter exists, symbols from it will be omitted from the output. 94 - # This makes kallsyms have the identical symbol lists in the step 1 and 2. 95 - # Without this, the step2 would get new symbols generated by scripts/kallsyms.c 96 - # when CONFIG_KALLSYMS_ALL is enabled. That might require one more pass. 97 - $(if [ $# -ge 3 ]; then ${NM} ${3} | sed -n '/ U /!s:.* \([^ ]*\)$:/ \1$/d:p'; fi) 98 - "