Created attachment 1512902 [details] minimal reproducing C++ example Description of problem: When compiling a program that calls std::from_chars() clang++ cannot resolve the symbol __muloti4 during linking. Version-Release number of selected component (if applicable): clang-7.0.0-2.fc29.x86_64 How reproducible: always Steps to Reproduce: 1. get attached minimal example 2. clang++ -Wall tochars_clang_fail.cc -o tochars 3. ./tochars 123 Actual results: /usr/bin/ld: /tmp/tochars_clang_fail-e603f8.o: in function `bool std::__detail::__raise_and_add<unsigned long>(unsigned long&, int, unsigned char)': tochars_clang_fail.cc:(.text._ZNSt8__detail15__raise_and_addImEEbRT_ih[_ZNSt8__detail15__raise_and_addImEEbRT_ih]+0x4c): undefined reference to `__muloti4' clang-7: error: linker command failed with exit code 1 (use -v to see invocation Expected results: successful compilation and as output: 123 Additional info: Compiling with GCC works as expected: g++ -Wall tochars_clang_fail.cc -o tochars Linking with libc++ also does work: clang++ -Wall -stdlib=libc++ tochars_clang_fail.cc -o tochars
Possibly related upstream commit: https://reviews.llvm.org/rL320902
Simplified test case: #include <stddef.h> void mul(size_t a, int b) { size_t res; __builtin_mul_overflow(a, b, &res); }
Fixed in rawhide: clang-7.0.1-2.fc30. I will backport this back to f29 too.
Submitted PR: https://src.fedoraproject.org/rpms/clang/pull-request/33
clang-7.0.1-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5065cb8af8
clang-7.0.1-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-5065cb8af8
clang-7.0.1-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.