[PATCH 1/5] libc/musl: Remove gcc core pass-1 from musl-libc build
Yann E. MORIN
yann.morin.1998@free.fr
Thu Sep 4 22:33:00 GMT 2014
Bryan, All,
On 2014-09-04 13:56 -0700, Bryan Hundven spake thusly:
> In an effort to make the toolchain build simpler, remove the need for
> the pass-1 build of gcc.
>
> Also, let musl's configure script decide if we need the gcc wrapper or
> not.
Well, sh4rm4 said on IRC that we definitely do not need the wrapper:
00:11 < sh4rm4> musl-gcc is a wrapper to use musl on a glibc sys
00:11 <@y_morin> sh4rm4: So if we build our gcc with --target=blabla-musl
we do not need the wrapper, do we?
00:11 < sh4rm4> works by fixing up gcc's paths using a specs file
00:11 < sh4rm4> no
So, I think we still want to explicitly disable it.
> Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
> ---
> config/libc/musl.in | 2 +-
> scripts/build/libc/musl.sh | 25 +++----------------------
> 2 files changed, 4 insertions(+), 23 deletions(-)
>
> diff --git a/config/libc/musl.in b/config/libc/musl.in
> index b3bec26..8f393b2 100644
> --- a/config/libc/musl.in
> +++ b/config/libc/musl.in
> @@ -3,7 +3,7 @@
> ## depends on ! WINDOWS && ! BARE_METAL
> ##
> ## select LIBC_SUPPORT_THREADS_NATIVE
> -## select CC_CORE_PASSES_NEEDED
> +## select CC_CORE_PASS_2_NEEDED
> ##
> ## help Musl is a new standard library to power a new generation of Linux-based
> ## help devices. musl is lightweight, fast, simple, free, and strives to be
> diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh
> index 7172cf2..6dbf657 100644
> --- a/scripts/build/libc/musl.sh
> +++ b/scripts/build/libc/musl.sh
> @@ -48,7 +48,7 @@ do_libc_configure() {
> # NOTE: musl handles the build/host/target a little bit differently
> # then one would expect:
> # build : not used
> - # host : the machine building musl
> + # host : the machine musl runs on
> # target : the machine musl runs on
> CT_DoExecLog CFG \
> CFLAGS="${extra_cflags[@]}" \
> @@ -56,30 +56,11 @@ do_libc_configure() {
> ./configure \
> --host="${CT_TARGET}" \
> --target="${CT_TARGET}" \
> - --prefix="/usr" \
> - --disable-gcc-wrapper
> + --prefix="/usr"
> }
>
> do_libc_start_files() {
> - CT_DoStep INFO "Installing C library headers"
> -
> - # Simply copy files until musl has the ability to build out-of-tree
> - CT_DoLog EXTRA "Copying sources to build directory"
> - CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/musl-${CT_LIBC_VERSION}" \
> - "${CT_BUILD_DIR}/build-libc-headers"
> - cd "${CT_BUILD_DIR}/build-libc-headers"
> -
> - do_libc_configure
> -
> - CT_DoLog EXTRA "Installing headers"
> - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install-headers
> -
> - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" \
> - crt/crt1.o crt/crti.o crt/crtn.o
> - CT_DoExecLog ALL cp -av crt/crt*.o "${CT_SYSROOT_DIR}/usr/lib"
> - CT_DoExecLog ALL ${CT_TARGET}-gcc -nostdlib \
> - -nostartfiles -shared -x c /dev/null -o "${CT_SYSROOT_DIR}/usr/lib/libc.so"
> - CT_EndStep
> + :
As seen on IRC: no headers installed, you picked your host headers. ;-)
Regards,
Yann E. MORIN.
> }
>
> do_libc() {
> --
> 2.1.0
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list