[uml] fix build failures with bash4
authorFlorian Fainelli <florian@openwrt.org>
Sun, 6 Sep 2009 13:42:50 +0000 (13:42 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 6 Sep 2009 13:42:50 +0000 (13:42 +0000)
SVN-Revision: 17525

target/linux/uml/patches/005-fix_bash4_builds.patch [new file with mode: 0644]

diff --git a/target/linux/uml/patches/005-fix_bash4_builds.patch b/target/linux/uml/patches/005-fix_bash4_builds.patch
new file mode 100644 (file)
index 0000000..9561824
--- /dev/null
@@ -0,0 +1,49 @@
+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>
+
+diff --git a/arch/um/Makefile b/arch/um/Makefile
+index 0728def..dc1ea7d 100644
+--- a/arch/um/Makefile
++++ b/arch/um/Makefile
+@@ -99,9 +99,6 @@ CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,)
+ 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
+diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile
+index 388ec0a..2907436 100644
+--- 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 :=