[llvm-bugs] [Bug 41465] New: [libcxxabi][arm] undefined reference to `__aeabi_uidiv'

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Apr 11 04:33:35 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=41465

            Bug ID: 41465
           Summary: [libcxxabi][arm] undefined reference to
                    `__aeabi_uidiv'
           Product: libc++abi
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: david.green at arm.com
                CC: eric at efcs.ca, llvm-bugs at lists.llvm.org,
                    mclow.lists at gmail.com

When running this on a native arm ubuntu 18.04 machine:

cmake -GNinja /work/llvm/llvm-project/llvm -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_ASSERTIONS=ON -DLIBCXXABI_USE_LLVM_UNWINDER=ON
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi;libunwind" -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ '-DCMAKE_C_FLAGS= -target armv7a-linux-gnueabihf
-march=armv7a' '-DCMAKE_CXX_FLAGS= -target armv7a-linux-gnueabihf
-march=armv7a'

ninja cxx


It gives:

: && /usr/bin/clang++ -fPIC -target armv7a-linux-gnueabihf -march=armv7a -fPIC
-fvisibility-inlines-hidden -Werror=date-time
-Werror=unguarded-availability-new -std=c++11 -Wall -Wextra
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers
-pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default
-Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor
-Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections 
-O3  -Wl,-z,defs -Wl,-z,nodelete  -nodefaultlibs -shared
-Wl,-soname,libc++abi.so.1 -o lib/libc++abi.so.1.0
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_aux_runtime.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_default_handlers.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_demangle.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_exception_storage.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_guard.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_handlers.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_unexpected.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_vector.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_virtual.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/stdlib_exception.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/stdlib_stdexcept.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/stdlib_typeinfo.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/abort_message.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/fallback_malloc.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/private_typeinfo.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/stdlib_new_delete.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_exception.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_personality.cpp.o
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_thread_atexit.cpp.o 
-Wl,-rpath,"\$ORIGIN/../lib" lib/libunwind.so.1.0 -lpthread -lc && :
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_vector.cpp.o: In
function `__cxa_vec_new':
cxa_vector.cpp:(.text.__cxa_vec_new+0x28): undefined reference to
`__aeabi_uidiv'
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_vector.cpp.o: In
function `__cxa_vec_new2':
cxa_vector.cpp:(.text.__cxa_vec_new2+0x28): undefined reference to
`__aeabi_uidiv'
projects/libcxxabi/src/CMakeFiles/cxxabi_shared.dir/cxa_vector.cpp.o: In
function `__cxa_vec_new3':
cxa_vector.cpp:(.text.__cxa_vec_new3+0x28): undefined reference to
`__aeabi_uidiv'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[282/286] Building CXX object
projects/libcxx/lib/CMakeFiles/cxx_static.dir/__/src/locale.cpp.o
ninja: build stopped: subcommand failed.


The divide added in rL357814 means that in armv7a (where divide is optional so
we generate a libcall), the __aeabi_uidiv is not defined. We don't seem to add
-lgcc.

That clang is 6.0, but it replicates with trunk. Most of our other builds are
not failing. -DLIBCXXABI_USE_LLVM_UNWINDER seems important.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190411/bc04de3a/attachment-0001.html>


More information about the llvm-bugs mailing list