From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Romain Naour <romain.naour@gmail.com>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] arch/xtensa: xtensa little endian target requires an overlay file
Date: Tue, 6 Sep 2022 17:56:56 +0200 [thread overview]
Message-ID: <20220906155656.GG1585594@scaer> (raw)
In-Reply-To: <20220904200409.3153993-1-romain.naour@gmail.com>
Romain, All,
On 2022-09-04 22:04 +0200, Romain Naour spake thusly:
> Using a custom Xtensa processor configuration select little endian
> by default. But xtensa for little endian requires an xtensa overlay
> file containing a version of xtensa-config.h header for gcc setting
> XCHAL_HAVE_BE to 0.
>
> When BR2_XTENSA_LITTLE_ENDIAN is selected, we have to check if
> an overlay file is provided. Error out if BR2_XTENSA_OVERLAY_FILE
> is empty.
Well, why don't we always check for an overlay when BR2_XTENSA_CUSTOM=y?
Indeed, whether big or little endian, if the user selects a custom
xtensa configuration, they better provide the overlay for that
configuration, otherwise that does not make sense, and they should be
using BR2_xtensa_fsf=y instead.
So, maybe just this
diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index fd410f6bfa..9cf6f45678 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -10,6 +10,9 @@
# endif
################################################################################
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
+ifeq ($(BR_BUILDING)$(BR2_XTENSA_CUSTOM):$(BR_ARCH_XTENSA_OVERLAY_FILE),yy:)
+$(error No xtensa overlay file provided. Check your BR2_XTENSA_OVERLAY_FILE setting)
+endif
ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),)
ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
Thoughts?
Regards,
Yann E. MORIN.
> Fixes:
> http://autobuild.buildroot.org/results/f0b/f0ba47d2534aeb3cc2921124aa639ae3aa072b9b
>
> xtensa-buildroot-linux-uclibc/bin/ld: ldso/ldso/ld-uClibc_so.a(ldso.oS): compiled for a big endian system and target is little endian
>
> [1] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=include/xtensa-config.h;hb=2ee5e4300186a92ad73f1a1a64cb918dc76c8d67#l28
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> ---
> arch/arch.mk.xtensa | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
> index fd410f6bfa..516d77bf91 100644
> --- a/arch/arch.mk.xtensa
> +++ b/arch/arch.mk.xtensa
> @@ -34,3 +34,11 @@ define arch-xtensa-overlay-extract
> $(ARCH_XTENSA_OVERLAY_FILE) | \
> $(TAR) --strip-components=1 -C $(1) $(TAR_OPTIONS) - $(2)
> endef
> +
> +# By default GCC build xtensa for Big Endian. To build for Little Endian a
> +# Xtensa overlay file must be provided.
> +ifeq ($(BR2_XTENSA_LITTLE_ENDIAN),y)
> +ifeq ($(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)),)
> +$(error No xtensa overlay file provided. Check your BR2_XTENSA_OVERLAY_FILE setting)
> +endif
> +endif
> --
> 2.34.3
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-09-06 15:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-04 20:04 [Buildroot] [PATCH] arch/xtensa: xtensa little endian target requires an overlay file Romain Naour
2022-09-06 15:56 ` Yann E. MORIN [this message]
2022-09-06 16:54 ` Romain Naour
2022-09-07 22:59 ` Max Filippov
2022-09-08 9:46 ` Yann E. MORIN
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=20220906155656.GG1585594@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=romain.naour@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.