[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Build with -fno-dwarf2-cfi-asm
From: |
Colin Watson |
Subject: |
[PATCH] Build with -fno-dwarf2-cfi-asm |
Date: |
Thu, 3 Sep 2009 11:22:04 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
I'd like to commit this for 1.97; it's important for users of recent
distributions that use GCC 4.4 by default (which is the current release
series of GCC). Otherwise, the core is too big to embed when using LVM
and RAID (https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/423412).
Any objections?
2009-09-03 Colin Watson <address@hidden>
* configure.ac: By default, GCC 4.4 generates .eh_frame sections
containing unwind information in some cases where it previously did
not. Use -fno-dwarf2-cfi-asm if available to restore the old
behaviour. See http://patchwork.kernel.org/patch/8555/ for related
discussion.
Index: configure.ac
===================================================================
--- configure.ac (revision 2561)
+++ configure.ac (working copy)
@@ -246,6 +246,21 @@
TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1
-malign-functions=1"
fi
fi
+
+ # By default, GCC 4.4 generates .eh_frame sections containing unwind
+ # information in some cases where it previously did not. GRUB doesn't need
+ # these and they just use up vital space. Restore the old compiler
+ # behaviour.
+ AC_CACHE_CHECK([whether -fno-dwarf2-cfi-asm works],
[grub_cv_cc_fno_dwarf2_cfi_asm], [
+ CFLAGS="$CFLAGS -fno-dwarf2-cfi-asm"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+ [grub_cv_cc_fno_dwarf2_cfi_asm=yes],
+ [grub_cv_cc_fno_dwarf2_cfi_asm=no])
+ ])
+
+ if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
+ TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
+ fi
fi
grub_apple_target_cc
--
Colin Watson address@hidden
- [PATCH] Build with -fno-dwarf2-cfi-asm,
Colin Watson <=