[PATCH] Compile options: default to -O2 when -Os is not available
Denys Vlasenko
vda.linux at googlemail.com
Mon May 2 00:51:09 UTC 2011
On Sunday 01 May 2011 14:00, Wolfgang Denk wrote:
> Recent versions of GCC for PowerPC systems suffer from some compiler
> bugs which prevent the use of "--enable-target-optspace" in their
> configuration, which makes the compiler option "-Os" unavailable;
> for reference see
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43810
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48278
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45053
>
> In the result, BusyBox will be compiled without any optimization
> options, which causes a huge binary (1.8 MiB for default configuration
> on PPC, built with gcc 54.51 from the Yocto / Poky / OpenEmbedded tool
> chains). This commit changes behaviour so "-O2" gets used as fallback
> when "-Os" is not available. This reduces the image size in above
> test to 1.3 MiB. This is still 10...15% more then what we get with
> "-Os", but much better than using no optimization at all.
>
> Signed-off-by: Wolfgang Denk <wd at denx.de>
> ---
> Makefile.flags | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile.flags b/Makefile.flags
> index 363300b..b3e1371 100644
> --- a/Makefile.flags
> +++ b/Makefile.flags
> @@ -58,14 +58,14 @@ CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1
> #CFLAGS += $(call cc-option,-Wconversion,)
>
> ifneq ($(CONFIG_DEBUG),y)
> -CFLAGS += $(call cc-option,-Os,)
> +CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
> else
> CFLAGS += $(call cc-option,-g,)
> #CFLAGS += "-D_FORTIFY_SOURCE=2"
> ifeq ($(CONFIG_DEBUG_PESSIMIZE),y)
> CFLAGS += $(call cc-option,-O0,)
> else
> -CFLAGS += $(call cc-option,-Os,)
> +CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
> endif
> endif
>
Applied, thanks.
--
vda
More information about the busybox
mailing list