[LLVMbugs] [Bug 24273] New: [ARM] Libc++abi built in-tree with libunwind fails in __cxa_allocate_exception

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 27 06:46:15 PDT 2015


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

            Bug ID: 24273
           Summary: [ARM] Libc++abi built in-tree with libunwind fails in
                    __cxa_allocate_exception
           Product: libc++abi
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: renato.golin at linaro.org
                CC: llvmbugs at cs.uiuc.edu, mclow.lists at gmail.com
    Classification: Unclassified

While building LLVM+Clang+RT+libc++ all in one go, some tests fail on ARM with
a recursive call to __cxa_end_cleanup.

I have used CMake with -DLIBCXXABI_USE_LLVM_UNWINDER=True
-DCMAKE_CXX_FLAGS=-std=c++11

The command line is:
clang++ -g -O0 -o
/home/linaro/devel/llvm/build/llvm/projects/libcxxabi/test/Output/unwind_05.pass.cpp.o
-x c++ /home/linaro/devel/llvm/src/libcxxabi/test/unwind_05.pass.cpp -c -v
-DLIBCXXABI_NO_TIMER -std=c++11 -nostdinc++
-I/home/linaro/devel/llvm/src/llvm/projects/libcxx/include
-I/home/linaro/devel/llvm/src/llvm/projects/libcxxabi/include
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS

then:
clang++ -o
/home/linaro/devel/llvm/build/llvm/projects/libcxxabi/test/Output/unwind_05.pass.cpp.exe
/home/linaro/devel/llvm/build/llvm/projects/libcxxabi/test/Output/unwind_05.pass.cpp.o
-nodefaultlibs -L/home/linaro/devel/llvm/build/llvm/lib
-Wl,-rpath,/home/linaro/devel/llvm/build/llvm/lib -lc++ -lc++abi -lc -lm
-lpthread -lrt -lunwind -ldl

Here's a back-trace:
Program received signal SIGABRT, Aborted.
__libc_do_syscall () at
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
44    ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or
directory.
(gdb) bt
#0  __libc_do_syscall () at
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
#1  0xb6e71f0e in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2  0xb6e74766 in __GI_abort () at abort.c:89
#3  0xb6daacec in unwind_phase2(unw_context_t*, _Unwind_Control_Block*, bool)
() from /home/linaro/devel/llvm/build/llvm/lib/libunwind.so.1
#4  0xb6dab11c in _Unwind_Resume () from
/home/linaro/devel/llvm/build/llvm/lib/libunwind.so.1
#5  0xb6f509c0 in __cxa_end_cleanup () from
/home/linaro/devel/llvm/build/llvm/lib/libc++abi.so.1
#6  0xb6f509c0 in __cxa_end_cleanup () from
/home/linaro/devel/llvm/build/llvm/lib/libc++abi.so.1
...
#200 0xb6f509c0 in __cxa_end_cleanup () from
/home/linaro/devel/llvm/build/llvm/lib/libc++abi.so.1
...

(gdb) f 3
(gdb) disas
    0xb6daace4 <+532>:    bl    0xb6daaa7c
<_ZL10assert_rtnPKcS0_iS0_.constprop.3>
   0xb6daace8 <+536>:    blx    0xb6da908c
=> 0xb6daacec <+540>:    ldr    r0, [pc, #204]    ; (0xb6daadbc
<_ZL13unwind_phase2P13unw_context_tP21_Unwind_Control_Blockb+748>)

(gdb) disas 0xb6da908c 
No function contains specified address.

-- 
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/20150727/37128299/attachment.html>


More information about the llvm-bugs mailing list