grub-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]