提交 33de0d1c 编写于 作者: L Linus Torvalds

Merge tag 'kbuild-fixes-v5.2-2' of...

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

Pull more Kbuild fixes from Masahiro Yamada:

 - fix kselftest-merge to find config fragments in deeper directories

 - fix kconfig unit test, which was broken by SPDX tag addition

 - add + prefix to buildtar to suppress jobserver unavailable warning

 - fix checkstack.pl to recognize arch=arm64

 - suppress noisy warning from cc-cross-prefix

* tag 'kbuild-fixes-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: use more portable 'command -v' for cc-cross-prefix
  scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
  kbuild: tar-pkg: enable communication with jobserver
  kconfig: tests: fix recursive inclusion unit test
  kbuild: teach kselftest-merge to find nested config files
...@@ -1228,9 +1228,8 @@ kselftest-clean: ...@@ -1228,9 +1228,8 @@ kselftest-clean:
PHONY += kselftest-merge PHONY += kselftest-merge
kselftest-merge: kselftest-merge:
$(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!)) $(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ $(Q)find $(srctree)/tools/testing/selftests -name config | \
-m $(objtree)/.config \ xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
$(srctree)/tools/testing/selftests/*/config
+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
......
...@@ -74,8 +74,13 @@ endef ...@@ -74,8 +74,13 @@ endef
# Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-) # Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
# Return first <prefix> where a <prefix>gcc is found in PATH. # Return first <prefix> where a <prefix>gcc is found in PATH.
# If no gcc found in PATH with listed prefixes return nothing # If no gcc found in PATH with listed prefixes return nothing
#
# Note: '2>/dev/null' is here to force Make to invoke a shell. Otherwise, it
# would try to directly execute the shell builtin 'command'. This workaround
# should be kept for a long time since this issue was fixed only after the
# GNU Make 4.2.1 release.
cc-cross-prefix = $(firstword $(foreach c, $(filter-out -%, $(1)), \ cc-cross-prefix = $(firstword $(foreach c, $(filter-out -%, $(1)), \
$(if $(shell which $(c)gcc), $(c)))) $(if $(shell command -v $(c)gcc 2>/dev/null), $(c))))
# output directory for tests below # output directory for tests below
TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/) TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/)
......
...@@ -46,7 +46,7 @@ my (@stack, $re, $dre, $x, $xs, $funcre); ...@@ -46,7 +46,7 @@ my (@stack, $re, $dre, $x, $xs, $funcre);
$x = "[0-9a-f]"; # hex character $x = "[0-9a-f]"; # hex character
$xs = "[0-9a-f ]"; # hex character or space $xs = "[0-9a-f ]"; # hex character or space
$funcre = qr/^$x* <(.*)>:$/; $funcre = qr/^$x* <(.*)>:$/;
if ($arch eq 'aarch64') { if ($arch =~ '^(aarch|arm)64$') {
#ffffffc0006325cc: a9bb7bfd stp x29, x30, [sp, #-80]! #ffffffc0006325cc: a9bb7bfd stp x29, x30, [sp, #-80]!
#a110: d11643ff sub sp, sp, #0x590 #a110: d11643ff sub sp, sp, #0x590
$re = qr/^.*stp.*sp, \#-([0-9]{1,8})\]\!/o; $re = qr/^.*stp.*sp, \#-([0-9]{1,8})\]\!/o;
......
Recursive inclusion detected. Recursive inclusion detected.
Inclusion path: Inclusion path:
current file : Kconfig.inc1 current file : Kconfig.inc1
included from: Kconfig.inc3:1 included from: Kconfig.inc3:2
included from: Kconfig.inc2:3 included from: Kconfig.inc2:4
included from: Kconfig.inc1:4 included from: Kconfig.inc1:5
...@@ -104,7 +104,7 @@ clean-dirs += $(objtree)/snap/ ...@@ -104,7 +104,7 @@ clean-dirs += $(objtree)/snap/
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
tar%pkg: FORCE tar%pkg: FORCE
$(MAKE) -f $(srctree)/Makefile $(MAKE) -f $(srctree)/Makefile
$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@ +$(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
clean-dirs += $(objtree)/tar-install/ clean-dirs += $(objtree)/tar-install/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册