This is an archive of the discontinued LLVM Phabricator instance.

Fix arm build failer with libgcc
AbandonedPublic

Authored by zatrazz on Sep 18 2019, 1:30 PM.

Details

Summary

Both arm32 armv7/armv8 bots are failing to build due to a linking
issue:

[100%] Built target cxxabi_static
CMakeFiles/cxxabi_shared.dir/cxa_demangle.cpp.o: In function `(anonymous namespace)::itanium_demangle::OutputStream::writeUnsigned(unsigned long long, bool)':
/home/buildslave/buildslave/libcxx-libcxxabi-libunwind-armv7-linux-noexceptions/llvm/projects/libcxxabi/src/demangle/Utility.h:55: undefined reference to `aeabi_uldivmod'
/home/buildslave/buildslave/libcxx-libcxxabi-libunwind-armv7-linux-noexceptions/llvm/projects/libcxxabi/src/demangle/Utility.h:56: undefined reference to `
aeabi_uldivmod'
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)

It seems after r371273 OutputStream is used more extensively and
is pulling OutputStream::writeUnsigned (which thus requires unsigned
integer module).

The straightfoward fix is to explicit link against libgcc if
compiler-rt is not used.

Fix gdb_pretty_printer_test on python3

First issue is the 'next' iteration method which has changed its
name to '_next_'. The another is the division method, where it
requires to use the floor division so iteration converge.

Event Timeline

zatrazz created this revision.Sep 18 2019, 1:30 PM
zatrazz abandoned this revision.Sep 18 2019, 1:32 PM