[PATCH] libc/newlib: Add optspace config for newlib
Michael Hope
michael.hope@linaro.org
Tue Nov 22 20:23:00 GMT 2011
On Wed, Nov 23, 2011 at 12:27 AM, Zhenqiang Chen
<zhenqiang.chen@linaro.org> wrote:
> # HG changeset patch
> # User Zhenqiang Chen <zhenqiang.chen@linaro.org>
> # Date 1321942694 -28800
> # Node ID b28457252771ed67373226ced85317a6c03aac74
> # Parent a6c68712024f406df7d2da4af377f51982615833
> libc/newlib: Add LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE (-Os) other than -O to
> control CFLAGS.
>
> Reviewed-by: Michael Hope
> Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
>
> diff --git a/config/libc/newlib.in.2 b/config/libc/newlib.in.2
> --- a/config/libc/newlib.in.2
> +++ b/config/libc/newlib.in.2
> @@ -35,3 +35,11 @@
> _write... If you plan to port newlib to a new
> platform/board, say Yes.
>
> +config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
> + bool
> + prompt "Optimize newlib for size"
> + default y
> + help
> + Pass --enable-target-optspace to newlib configure.
> +
> + This will compile newlib with -Os.
> diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
> --- a/scripts/build/libc/newlib.sh
> +++ b/scripts/build/libc/newlib.sh
> @@ -85,6 +85,8 @@
> newlib_opts+=( "--enable-newlib-supplied-syscalls" )
> fi
>
> + [ "${CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE}" = "y" ] &&
> newlib_opts+=("--enable-target-optspace")
> +
> # Note: newlib handles the build/host/target a little bit differently
> # than one would expect:
> # build : not used
A question for the list: there's already a 'Optimise the GCC runtime
libraries for space' option. Should it be promoted to something like
CT_ENABLE_TARGET_OPTSPACE and apply to all target libraries? How you
you handle backwards compatibility of config files?
I have a similar problem with CC_STATIC_LIBSTDCXX. GOLD is written in
C++ and really needs to have libstdc++ statically linked into it. I'm
thinking of sending a patch that promotes CT_CC_STATIC_LIBSTDCXX to
CT_STATIC_LIBSTDCXX and uses it everywhere.
-- Michael
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list