commit 67dac695a1f33716f3e35c2292e7391410d58751
Author: Paul Bolle <pebolle@tiscali.nl>
Date:   Sun Sep 6 14:36:01 2009 +0200

    um: add work around for build problems with bash 4
    
    Building User Mode Linux fails with bash 4. The UML Makefiles use an
    environment variable called CPPFLAGS_vmlinux.lds but bash 4 does not
    export environment variables with a dot in their name. Add a hack to
    allow building UML with bash 4 (which should not affect other shells).
    
    Signed-off-by: Paul Bolle <pebolle@tiscali.nl>

--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -99,9 +99,6 @@ CFLAGS_NO_HARDENING := $(call cc-option,
 CONFIG_KERNEL_STACK_ORDER ?= 2
 STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] )
 
-CPPFLAGS_vmlinux.lds = -U$(SUBARCH) -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \
-	-DELF_FORMAT="$(ELF_FORMAT)" -DKERNEL_STACK_SIZE=$(STACK_SIZE)
-
 # The wrappers will select whether using "malloc" or the kernel allocator.
 LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc
 
@@ -152,4 +149,5 @@ $(SHARED_HEADERS)/kern_constants.h:
 	$(Q)mkdir -p $(dir $@)
 	$(Q)echo '#include "../../../../include/asm/asm-offsets.h"' >$@
 
-export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
+export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH \
+       ELF_ARCH ELF_FORMAT STACK_SIZE START
--- a/arch/um/kernel/Makefile
+++ b/arch/um/kernel/Makefile
@@ -3,6 +3,10 @@
 # Licensed under the GPL
 #
 
+CPPFLAGS_vmlinux.lds = -P -C -U$(ARCH) -U$(SUBARCH) -DSTART=$(START) \
+	-DELF_ARCH=$(ELF_ARCH) -DELF_FORMAT="$(ELF_FORMAT)" \
+	-DKERNEL_STACK_SIZE=$(STACK_SIZE)
+
 extra-y := vmlinux.lds
 clean-files :=
 
