Bug 1657544
Summary: | clang++ linking fails with undefined reference to __muloti4 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Georg Sauthoff <fedora> | ||||
Component: | clang | Assignee: | Tom Stellard <tstellar> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 29 | CC: | airlied, davejohansen, sbergman, siddharth.kde, tstellar | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | clang-7.0.1-2.fc29 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-02-18 02:04:04 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
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. |
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