[libstdc++] [testsuite] no libatomic for vxworks
Jonathan Wakely
jwakely@redhat.com
Mon Jun 24 21:51:39 GMT 2024
On Mon, 24 Jun 2024 at 21:33, Alexandre Oliva <oliva@adacore.com> wrote:
>
>
> libatomic hasn't been ported to vxworks. Most of the stdatomic.h and
> <atomic> underlying requirements are provided by builtins and libgcc,
> and the vxworks libc already provides remaining __atomic symbols, so
> porting libatomic doesn't seem to make sense.
>
> However, some of the target arch-only tests in
> add_options_for_libatomic cover vxworks targets, so we end up
> attempting to link libatomic in, even though it's not there.
> Preempt those too-broad tests.
>
> We've long been using a workaround very similar to this on ppc, and now
> that we've made sure there's nothing in libatomic that we'd need on any
> vxworks targets, we're ready to contribute this change. Regstrapping on
> x86_64-linux-gnu, just to be sure. Ok to install?
OK, thanks.
>
>
> Co-Authored-By: Marc Poulhiès <poulhies@adacore.com>
>
> for libstdc++-v3/ChangeLog
>
> * testsuite/lib/dg-options.exp (add_options_for_libatomic):
> None for *-*-vxworks*.
> ---
> libstdc++-v3/testsuite/lib/dg-options.exp | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp
> index 84f9e3ebc730c..0d77fb029b09b 100644
> --- a/libstdc++-v3/testsuite/lib/dg-options.exp
> +++ b/libstdc++-v3/testsuite/lib/dg-options.exp
> @@ -338,6 +338,11 @@ proc atomic_link_flags { paths } {
> }
>
> proc add_options_for_libatomic { flags } {
> + # We don't (need to) build libatomic for vxworks. Don't try to
> + # link it in, even on arches that support libatomic.
> + if { [istarget *-*-vxworks*] } {
> + return $flags
> + }
> if { [istarget hppa*-*-hpux*]
> || ([istarget powerpc*-*-*] && [check_effective_target_ilp32])
> || [istarget riscv*-*-*]
>
> --
> Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
> Free Software Activist GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive
>
More information about the Libstdc++
mailing list