[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Build with -fno-dwarf2-cfi-asm
From: |
Colin Watson |
Subject: |
Re: [PATCH] Build with -fno-dwarf2-cfi-asm |
Date: |
Thu, 3 Sep 2009 15:23:35 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
I broke gcc < 4.4 by mistake, sorry. Updated patch follows.
With this patch and './grub-mkimage -d . -o tmp biosdisk ext2 part_msdos
raid mdraid lvm fs_uuid':
gcc 4.3: 30370 bytes
gcc 4.4: 30331 bytes
(Before this patch, gcc 4.4 produced an image that was 33000-some-odd
bytes.)
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,23 @@
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], [
+ SAVE_CFLAGS="$CFLAGS"
+ 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])
+ CFLAGS="$SAVE_CFLAGS"
+ ])
+
+ 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