瀏覽代碼

[PATCH] Fix crossbuilding checkstack

The previous checkstack fix for UML, which needs to use the host's tools,
was wrong in the crossbuilding case.  It would use the build host's, rather
than the target's, toolchain.

This patch removes the old fix and adds an explicit special case for UML,
leaving everyone else alone.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Dike 18 年之前
父節點
當前提交
011e3a9ad4
共有 1 個文件被更改,包括 10 次插入4 次删除
  1. 10 4
      Makefile

+ 10 - 4
Makefile

@@ -1390,12 +1390,18 @@ endif #ifeq ($(mixed-targets),1)
 
 
 PHONY += checkstack kernelrelease kernelversion
 PHONY += checkstack kernelrelease kernelversion
 
 
-# Use $(SUBARCH) here instead of $(ARCH) so that this works for UML.
-# In the UML case, $(SUBARCH) is the name of the underlying
-# architecture, while for all other arches, it is the same as $(ARCH).
+# UML needs a little special treatment here.  It wants to use the host
+# toolchain, so needs $(SUBARCH) passed to checkstack.pl.  Everyone
+# else wants $(ARCH), including people doing cross-builds, which means
+# that $(SUBARCH) doesn't work here.
+ifeq ($(ARCH), um)
+CHECKSTACK_ARCH := $(SUBARCH)
+else
+CHECKSTACK_ARCH := $(ARCH)
+endif
 checkstack:
 checkstack:
 	$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
 	$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
-	$(PERL) $(src)/scripts/checkstack.pl $(SUBARCH)
+	$(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
 
 
 kernelrelease:
 kernelrelease:
 	$(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \
 	$(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \