- rerun gcse pass after reload, enable whole-program iff we are not building
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 28 Apr 2006 20:02:29 +0000 (20:02 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 28 Apr 2006 20:02:29 +0000 (20:02 -0000)
  the lib (due to bug in gcc; see comment.)
I would have run the testsuite to check if everything is still behaving, but
unfortunately i cannot run the testsuite anymore: it just sits there and does
nothing even with a pristine checkout and an old gcc.
srcdir=/tmp/busybox/testsuite /tmp/busybox/testsuite/runtest
PASS: Applet order
FAIL: Common typos
PASS: Obsolete function usage
PASS: Obsolete function usage
<spins, ^C>
make[1]: *** [check] Interrupt
make: *** [check] Interrupt

I've just corrected that wrong double-printing.

Anyway. with gcc-4.1-HEAD from earlier today, we now have for
defconfig+ COMPILE_AT_ONCE:

880 -rwxr-xr-x  1 433 433 893476 Apr 28 21:41 busybox.oorig-4.0
860 -rwxr-xr-x  1 433 433 874560 Apr 28 21:36 busybox.oorig
844 -rwxr-xr-x  1 433 433 858752 Apr 28 21:49 busybox

   text    data     bss     dec     hex filename
 879920   11568 1039148 1930636  1d758c busybox.oorig-4.0
 862802   10192 1038796 1911790  1d2bee busybox.oorig
 848066    9100 1037536 1894702  1ce92e busybox

values for 4.0.2 just added for reference..

Rules.mak

index 36cda55afa1c9d196aa783a5a5adfa441ab81d6b..cc6f7f12548f728da54b7413e69b54177ec21bec 100644 (file)
--- a/Rules.mak
+++ b/Rules.mak
@@ -144,8 +144,12 @@ ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 3 ] ; echo $$?)),0)
        CFLAGS_COMBINE:=$(call check_gcc,--combine,)
 endif
 OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,)
+OPTIMIZATION+=$(call check_gcc,-fgcse-after-reload,)
+ifneq ($(CONFIG_BUILD_LIBBUSYBOX),y)
 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25795
-#PROG_CFLAGS+=$(call check_gcc,-fwhole-program,)
+# This prevents us from using -fwhole-program when we build the lib
+PROG_CFLAGS+=$(call check_gcc,-fwhole-program,)
+endif # CONFIG_BUILD_LIBBUSYBOX
 endif # CONFIG_BUILD_AT_ONCE
 
 LIB_LDFLAGS:=$(call check_ld,--enable-new-dtags,)
@@ -214,6 +218,10 @@ ifneq ($(EXTRAVERSION),)
     CHECKED_CFLAGS+=$(call check_gcc,-Wstrict-prototypes,)
     CHECKED_CFLAGS+=$(call check_gcc,-Wmissing-prototypes,)
     CHECKED_CFLAGS+=$(call check_gcc,-Wmissing-declarations,)
+    CHECKED_CFLAGS+=$(call check_gcc,-Wunused,)
+    CHECKED_CFLAGS+=$(call check_gcc,-Winit-self,)
+    CHECKED_CFLAGS+=$(call check_gcc,-Wshadow,)
+    CHECKED_CFLAGS+=$(call check_gcc,-Wcast-align,)
 endif
 STRIPCMD:=$(STRIP) -s --remove-section=.note --remove-section=.comment
 ifeq ($(strip $(CONFIG_STATIC)),y)