[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