summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2006-04-28 20:02:29 +0000
committerBernhard Reutner-Fischer2006-04-28 20:02:29 +0000
commit3737c0363050b5f2f3a9ba5d4daac6881069d369 (patch)
tree7afa07e56f15652678fcb4d57832f1ea6d06a158
parent15545b1db95c6d2db984c4c2f4c9821bb5d729d3 (diff)
downloadbusybox-3737c0363050b5f2f3a9ba5d4daac6881069d369.zip
busybox-3737c0363050b5f2f3a9ba5d4daac6881069d369.tar.gz
- rerun gcse pass after reload, enable whole-program iff we are not building
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..
-rw-r--r--Rules.mak10
1 files changed, 9 insertions, 1 deletions
diff --git a/Rules.mak b/Rules.mak
index 36cda55..cc6f7f1 100644
--- 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)