From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Julien Olivain <ju.o@free.fr>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/z3: introduce _ARCH_SUPPORTS
Date: Sat, 31 Dec 2022 18:32:35 +0100 [thread overview]
Message-ID: <20221231173235.GS2498764@scaer> (raw)
In-Reply-To: <20221206231034.48408-1-ju.o@free.fr>
Julien, All,
On 2022-12-07 00:10 +0100, Julien Olivain spake thusly:
> z3 package was initially added with a depends on !BR2_nios2. This was
> detected by testing with "./utils/test-pkg -a -p z3". It turned out that
> few other architectures are also not supported. The actual z3
> requirement is to have a libc that provides <fenv.h> AND also provides
> all the four macros: FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO,
> FE_UPWARD.
>
> Quoting glibc manual, or "man fenv":
> https://www.gnu.org/software/libc/manual/html_node/Rounding.html
>
> "fenv.h defines constants which you can use to refer to the various
> rounding modes. Each one will be defined if and only if the FPU
> supports the corresponding rounding mode."
>
> This patch introduces _ARCH_SUPPORTS to limit only to the architectures
> with a FPU that has those rounding modes.
>
> Fixes:
> - http://autobuild.buildroot.net/results/2809dd1ae2f3ada8ee7b3f3e388341c7cfb633fb
>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
Great explanations, thanks!
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> package/z3/Config.in | 26 ++++++++++++++++++++++++--
> 1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/package/z3/Config.in b/package/z3/Config.in
> index 55b0e8bb3b..8cd3128687 100644
> --- a/package/z3/Config.in
> +++ b/package/z3/Config.in
> @@ -1,11 +1,33 @@
> +# z3 supports arch for which libc fenv.h provides all four macros:
> +# FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD
> +# See for example in glibc https://sourceware.org/git/glibc.git
> +# git grep -E '^[[:space:]]*#[[:space:]]*define[[:space:]]+FE_(TONEAREST|UPWARD|DOWNWARD|TOWARDZERO)' sysdeps/
> +config BR2_PACKAGE_Z3_ARCH_SUPPORTS
> + bool
> + default y if BR2_aarch64 || BR2_aarch64_be
> + default y if BR2_arceb || BR2_arcle
> + default y if BR2_arm || BR2_armeb
> + default y if BR2_i386
> + default y if BR2_m68k
> + # BR2_microblaze has only FE_TONEAREST
> + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
> + # BR2_nios2 has only FE_TONEAREST
> + default y if BR2_or1k
> + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
> + default y if BR2_riscv
> + default y if BR2_s390x
> + # BR2_sh has only FE_{TONEAREST,TOWARDZERO}
> + default y if BR2_sparc || BR2_sparc64
> + default y if BR2_x86_64
> + # BR2_xtensa supports only uclibc which does not have fenv.h
> +
> config BR2_PACKAGE_Z3
> bool "z3"
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # c++17
> # z3 needs fenv.h which is not provided by uclibc
> depends on !BR2_TOOLCHAIN_USES_UCLIBC
> - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
> - depends on !BR2_nios2
> + depends on BR2_PACKAGE_Z3_ARCH_SUPPORTS
> help
> Z3, also known as the Z3 Theorem Prover, is a cross-platform
> satisfiability modulo theories (SMT) solver.
> --
> 2.38.1
>
> _______________________________________________
> 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
prev parent reply other threads:[~2022-12-31 17:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-06 23:10 [Buildroot] [PATCH 1/1] package/z3: introduce _ARCH_SUPPORTS Julien Olivain
2022-12-31 17:32 ` Yann E. MORIN [this message]
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=20221231173235.GS2498764@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=ju.o@free.fr \
/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.