fix grub segfaults on hosts where gcc is built with stack smashing protection
[openwrt/openwrt.git] / target / linux / x86-2.6 / image / grub / Makefile
index e30443e18cde99e76e45bde7073caf3e76b0d431..365b327622a022217d3944095833206da5162f9f 100644 (file)
@@ -43,6 +43,7 @@ ifeq ($(HOST_ARCH),x86_64)
                --mandir=/usr/man \
                --infodir=/usr/info \
                $(DISABLE_NLS) \
+               --disable-auto-linux-mem-opt \
        )
   endef
 else
@@ -62,12 +63,20 @@ else
                --localstatedir=/var \
                --mandir=/usr/man \
                --infodir=/usr/info \
+               $(DISABLE_NLS) \
+               --disable-auto-linux-mem-opt \
        )
   endef
 endif
 
+#
+# ./configure detects whether the host compiler supports 
+# -fno-stack-protector but only sets STAGE2_CFLAGS accordingly
+#
 define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               GRUB_CFLAGS="\$$$$(STAGE2_CFLAGS)" \
+               STAGE1_CFLAGS="\$$$$(STAGE2_CFLAGS)"
 endef
 
 define Build/InstallDev