From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] Makefile: Introduce ARCH_PLATFORM_LIBGCC variable
Date: Sat, 12 Oct 2013 09:43:33 +0200 [thread overview]
Message-ID: <20131012094333.422274df@lilith> (raw)
In-Reply-To: <1381522383-25070-1-git-send-email-trini@ti.com>
Hi Tom,
On Fri, 11 Oct 2013 16:13:03 -0400, Tom Rini <trini@ti.com> wrote:
> In some cases, such as arm multi-lib hardfloat (hf) toolchains, we will
> have multiple libgcc.a's available, and the arch needs to provide
> additional logic to determine the right file to use
> (-print-libgcc-file-name contains no CFLAG parsing logic).
>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> Makefile | 4 ++++
> arch/arm/config.mk | 11 +++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index b09bfcc..13b396f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -357,8 +357,12 @@ else
> PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
> endif
> else
> +ifneq ("$(ARCH_PLATFORM_LIBGCC)","")
> +PLATFORM_LIBGCC := -L $(shell dirname $(ARCH_PLATFORM_LIBGCC)) -lgcc
> +else
> PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
> endif
> +endif
> PLATFORM_LIBS += $(PLATFORM_LIBGCC)
> export PLATFORM_LIBS
>
> diff --git a/arch/arm/config.mk b/arch/arm/config.mk
> index d0cf43f..e1d0dec 100644
> --- a/arch/arm/config.mk
> +++ b/arch/arm/config.mk
> @@ -19,6 +19,17 @@ LDFLAGS_FINAL += --gc-sections
> PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections \
> -fno-common -ffixed-r9 -msoft-float
>
> +#
> +# When we use a hardfp toolchain if there are both 'libgcc.a' (hardfp) and
> +# 'arm-linux-gnueabi/libgcc.a' (softfp) we need to use the latter. We
> +# cannot always build with a hardfp-only toolchain.
What does this last sentence mean exactly?
> +ARCH_PLATFORM_LIBGCC := $(shell \
> + X=`$(CC) -print-file-name=arm-linux-gnueabi/libgcc.a`; \
> + if [ -f $$X ]; then echo $$X ; \
> + else $(CC) -print-file-name=libgcc.a ; \
> + fi)
> +
> # Support generic board on ARM
> __HAVE_ARCH_GENERIC_BOARD := y
Amicalement,
--
Albert.
next prev parent reply other threads:[~2013-10-12 7:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-11 20:13 [U-Boot] [PATCH] Makefile: Introduce ARCH_PLATFORM_LIBGCC variable Tom Rini
2013-10-11 21:01 ` Tom Rini
2013-10-12 7:43 ` Albert ARIBAUD [this message]
2013-10-14 15:16 ` Tom Rini
2013-10-14 17:06 ` Albert ARIBAUD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131012094333.422274df@lilith \
--to=albert.u.boot@aribaud.net \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox