From 3737c0363050b5f2f3a9ba5d4daac6881069d369 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 28 Apr 2006 20:02:29 +0000 Subject: - 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 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 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) -- cgit v1.1