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

Pull Kbuild fixes from Masahiro Yamada:

- Use POSIX-compatible grep options

- Document git-related tips for reproducible builds

- Fix a typo in the modpost rule

- Suppress SIGPIPE error message from gcc-ar and llvm-ar

- Fix segmentation fault in the menuconfig search

* tag 'kbuild-fixes-v6.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kconfig: fix segmentation fault in menuconfig search
kbuild: fix SIGPIPE error message for AR=gcc-ar and AR=llvm-ar
kbuild: fix typo in modpost
Documentation: kbuild: Add description of git for reproducible builds
kbuild: use POSIX-compatible grep option

+16 -21
+10
Documentation/kbuild/reproducible-builds.rst
··· 119 119 kernel versions by including an arbitrary string of "salt" in it. 120 120 This is specified by the Kconfig symbol ``CONFIG_BUILD_SALT``. 121 121 122 + Git 123 + --- 124 + 125 + Uncommitted changes or different commit ids in git can also lead 126 + to different compilation results. For example, after executing 127 + ``git reset HEAD^``, even if the code is the same, the 128 + ``include/config/kernel.release`` generated during compilation 129 + will be different, which will eventually lead to binary differences. 130 + See ``scripts/setlocalversion`` for details. 131 + 122 132 .. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp 123 133 .. _KBUILD_BUILD_USER and KBUILD_BUILD_HOST: kbuild.html#kbuild-build-user-kbuild-build-host 124 134 .. _KCFLAGS: kbuild.html#kcflags
+1 -1
Makefile
··· 1218 1218 cmd_ar_vmlinux.a = \ 1219 1219 rm -f $@; \ 1220 1220 $(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \ 1221 - $(AR) mPiT $$($(AR) t $@ | head -n1) $@ $$($(AR) t $@ | grep -F --file=$(srctree)/scripts/head-object-list.txt) 1221 + $(AR) mPiT $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt) 1222 1222 1223 1223 targets += vmlinux.a 1224 1224 vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE
+1 -1
scripts/Makefile.modpost
··· 122 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 - $(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(moudle.symvers-if-present) $(MODPOST) FORCE 125 + $(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(module.symvers-if-present) $(MODPOST) FORCE 126 126 $(call if_changed,modpost) 127 127 128 128 __modpost: $(output-symdump)
+4 -19
scripts/kconfig/menu.c
··· 722 722 if (!expr_eq(prop->menu->dep, prop->visible.expr)) 723 723 get_dep_str(r, prop->visible.expr, " Visible if: "); 724 724 725 - menu = prop->menu->parent; 726 - for (i = 0; menu && i < 8; menu = menu->parent) { 725 + menu = prop->menu; 726 + for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent) { 727 727 bool accessible = menu_is_visible(menu); 728 728 729 729 submenu[i++] = menu; ··· 733 733 if (head && location) { 734 734 jump = xmalloc(sizeof(struct jump_key)); 735 735 736 - if (menu_is_visible(prop->menu)) { 737 - /* 738 - * There is not enough room to put the hint at the 739 - * beginning of the "Prompt" line. Put the hint on the 740 - * last "Location" line even when it would belong on 741 - * the former. 742 - */ 743 - jump->target = prop->menu; 744 - } else 745 - jump->target = location; 736 + jump->target = location; 746 737 747 738 if (list_empty(head)) 748 739 jump->index = 0; ··· 749 758 menu = submenu[i]; 750 759 if (jump && menu == location) 751 760 jump->offset = strlen(r->s); 752 - 753 - if (menu == &rootmenu) 754 - /* The real rootmenu prompt is ugly */ 755 - str_printf(r, "%*cMain menu", j, ' '); 756 - else 757 - str_printf(r, "%*c-> %s", j, ' ', menu_get_prompt(menu)); 758 - 761 + str_printf(r, "%*c-> %s", j, ' ', menu_get_prompt(menu)); 759 762 if (menu->sym) { 760 763 str_printf(r, " (%s [=%s])", menu->sym->name ? 761 764 menu->sym->name : "<choice>",