Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Nov 2023 19:37:00 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 274927] Toolchain fails on the __sync_val_compare_and_swap function without -march=native (port biology/seqwish)
Message-ID:  <bug-274927-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D274927

            Bug ID: 274927
           Summary: Toolchain fails on the __sync_val_compare_and_swap
                    function without -march=3Dnative (port biology/seqwish)
           Product: Base System
           Version: 13.2-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: yuri@freebsd.org

The port biology/seqwish fails when -march=3Dnative is removed.

I couldn't reproduce this on a smaller example.

Un-commenting CMAKE_ARGS=3D-DEXTRA_FLAGS=3D"" in the port's makefile causes=
 removal
of -march=3Dnative in the cmake script, which triggers this build failure:

ld: error: undefined symbol: __sync_val_compare_and_swap_16
>>> referenced by transclosure.cpp
>>>               CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(std::__1::=
__function::__func<seqwish::compute_transitive_closures(seqwish::seqindex_t=
 const&, mmmulti::iitree<unsigned long, unsigned long>&, std::__1::basic_st=
ring<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, =
mmmulti::iitree<unsigned long, unsigned long>&, mmmulti::iitree<unsigned lo=
ng, unsigned long>&, unsigned long, unsigned long, unsigned long, bool, uns=
igned long, std::__1::chrono::time_point<std::__1::chrono::steady_clock, st=
d::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>> cons=
t&)::$_5, std::__1::allocator<seqwish::compute_transitive_closures(seqwish:=
:seqindex_t const&, mmmulti::iitree<unsigned long, unsigned long>&, std::__=
1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char=
>> const&, mmmulti::iitree<unsigned long, unsigned long>&, mmmulti::iitree<=
unsigned long, unsigned long>&, unsigned long, unsigned long, unsigned long=
, bool, unsigned long, std::__1::chrono::time_point<std::__1::chrono::stead=
y_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 10000000=
00l>>> const&)::$_5>, void (unsigned long)>::operator()(unsigned long&&))
>>> referenced by transclosure.cpp
>>>               CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(seqwish::D=
isjointSets::unite(unsigned long, unsigned long))
>>> referenced by transclosure.cpp
>>>               CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(seqwish::D=
isjointSets::unite(unsigned long, unsigned long))
>>> referenced 2 more times
c++: error: linker command failed with exit code 1 (use -v to see invocatio=
n)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-274927-227>