maintainer-feedback requested: [Bug 248795] std::random_shuffle broken with LLVM11
Tobias Kortkamp has asked freebsd-toolchain (Nobody) for maintainer-feedback: Bug 248795: std::random_shuffle broken with LLVM11 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795 --- Description --- The following example no longer compiles after the LLVM11 import. This affects a number of ports like x11/workrave, www/newsboat, japanese/zinnia, ... I can patch them to use shuffle instead, but even though random_shuffle is deprecated it should still work, right? $ cat foo.cc #include #include int main() { std::vector v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::random_shuffle(v.begin(), v.end()); } $ c++ foo.cc foo.cc:7:10: warning: 'random_shuffle>' is deprecated [-Wdeprecated-declarations] std::random_shuffle(v.begin(), v.end()); ^ /usr/include/c++/v1/algorithm:3095:1: note: 'random_shuffle>' has been explicitly marked deprecated here _LIBCPP_DEPRECATED_IN_CXX14 void ^ /usr/include/c++/v1/__config:991:39: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX14' # define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED ^ /usr/include/c++/v1/__config:974:48: note: expanded from macro '_LIBCPP_DEPRECATED' #define _LIBCPP_DEPRECATED __attribute__ ((deprecated)) ^ 1 warning generated. ld: error: undefined symbol: std::__1::__rs_get() >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void std::__1::random_shuffle >(std::__1::__wrap_iter, std::__1::__wrap_iter)) ld: error: undefined symbol: std::__1::__rs_default::~__rs_default() >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void std::__1::random_shuffle >(std::__1::__wrap_iter, std::__1::__wrap_iter)) >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void std::__1::random_shuffle >(std::__1::__wrap_iter, std::__1::__wrap_iter)) ld: error: undefined symbol: std::__1::__rs_default::operator()() >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine::__eval(std::__1::integral_constant)) >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine::__eval(std::__1::integral_constant)) c++: error: linker command failed with exit code 1 (use -v to see invocation) ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
[Bug 248795] std::random_shuffle broken with LLVM11
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248795 Bug ID: 248795 Summary: std::random_shuffle broken with LLVM11 Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Keywords: regression Severity: Affects Only Me Priority: --- Component: bin Assignee: toolch...@freebsd.org Reporter: to...@freebsd.org CC: toolch...@freebsd.org Flags: maintainer-feedback?(toolch...@freebsd.org) CC: toolch...@freebsd.org The following example no longer compiles after the LLVM11 import. This affects a number of ports like x11/workrave, www/newsboat, japanese/zinnia, ... I can patch them to use shuffle instead, but even though random_shuffle is deprecated it should still work, right? $ cat foo.cc #include #include int main() { std::vector v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::random_shuffle(v.begin(), v.end()); } $ c++ foo.cc foo.cc:7:10: warning: 'random_shuffle>' is deprecated [-Wdeprecated-declarations] std::random_shuffle(v.begin(), v.end()); ^ /usr/include/c++/v1/algorithm:3095:1: note: 'random_shuffle>' has been explicitly marked deprecated here _LIBCPP_DEPRECATED_IN_CXX14 void ^ /usr/include/c++/v1/__config:991:39: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX14' # define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED ^ /usr/include/c++/v1/__config:974:48: note: expanded from macro '_LIBCPP_DEPRECATED' #define _LIBCPP_DEPRECATED __attribute__ ((deprecated)) ^ 1 warning generated. ld: error: undefined symbol: std::__1::__rs_get() >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void >>> std::__1::random_shuffle >>> >(std::__1::__wrap_iter, std::__1::__wrap_iter)) ld: error: undefined symbol: std::__1::__rs_default::~__rs_default() >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void >>> std::__1::random_shuffle >>> >(std::__1::__wrap_iter, std::__1::__wrap_iter)) >>> referenced by foo.cc >>> /tmp/foo-6a4153.o:(void >>> std::__1::random_shuffle >>> >(std::__1::__wrap_iter, std::__1::__wrap_iter)) ld: error: undefined symbol: std::__1::__rs_default::operator()() >>> referenced by foo.cc >>> >>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine>> unsigned long>::__eval(std::__1::integral_constant)) >>> referenced by foo.cc >>> >>> /tmp/foo-6a4153.o:(std::__1::__independent_bits_engine>> unsigned long>::__eval(std::__1::integral_constant)) c++: error: linker command failed with exit code 1 (use -v to see invocation) -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
[Bug 248745] /usr/bin/lldb dumps core when attempting to print variable with `p`, `fr v` works
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745 Mark Linimon changed: What|Removed |Added Assignee|b...@freebsd.org|toolch...@freebsd.org -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: Undefined reference to __bswapsi2/__bswapdi2
On 20 Aug 2020, at 19:52, Gleb Popov wrote: > > On Wed, Aug 19, 2020 at 10:15 PM Gleb Popov wrote: > >> Hi toolchain@ >> >> I'm building the latest GHC on 12.1-RELEASE i386 and having almost the >> same problem as with atomic functions. This time the error is >> >> d: error: undefined symbol: __bswapsi2 > referenced by TTY.c > RTS.thr_p_o:(rtsSyms) in archive >> /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a >> >> ld: error: undefined symbol: __bswapdi2 > referenced by TTY.c > RTS.thr_p_o:(rtsSyms) in archive >> /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a >> >> What's wrong with that? These functions seem to be present in our >> compiler-rt. >> > > Reading /usr/src/lib/libcompiler_rt/Makefile.inc, it seems that we don't > compile these functions. What's the reason for this? I'm not aware of any particular reason, except that nobody seems to have run into this omission before. It looks like on x86, compilers usually just emit bswap instructions instead of libcalls for these situations. Apparently we have historically only added bswapdi and bswapsi for arm, mips and riscv. -Dimitry signature.asc Description: Message signed with OpenPGP
Re: Undefined reference to __bswapsi2/__bswapdi2
On Wed, Aug 19, 2020 at 10:15 PM Gleb Popov wrote: > Hi toolchain@ > > I'm building the latest GHC on 12.1-RELEASE i386 and having almost the > same problem as with atomic functions. This time the error is > > d: error: undefined symbol: __bswapsi2 > >>> referenced by TTY.c > >>> RTS.thr_p_o:(rtsSyms) in archive > /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a > > ld: error: undefined symbol: __bswapdi2 > >>> referenced by TTY.c > >>> RTS.thr_p_o:(rtsSyms) in archive > /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a > > What's wrong with that? These functions seem to be present in our > compiler-rt. > Reading /usr/src/lib/libcompiler_rt/Makefile.inc, it seems that we don't compile these functions. What's the reason for this? ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"