libc++abi 3.9.0-3 armhf tests showing broken exceptions

Pauli suokkos at gmail.com
Tue Nov 8 18:05:21 UTC 2016


Hi,

I noticed that buildd failed all exception tests libc++abi tests. I
tried to reproduce the failure in my chroot but all test passed.

I used dpkg-buildpackage with all local changes cleaned and sources
unpacked from tarball. Quick check to important parts of logs look
exactly same. Only difference appears to be that buildd has all
exceptions broken while my local test in qemu-arm-static vm has them
working correctly.

http://libcxxabi.llvm.org/
"Note: in a standalone build, the system's libc++ will be used for
tests. If the system's libc++ was statically linked against libc++abi
(or linked against a different ABI library), this may interfere with
test results."

I'm not testing with old libc++ if it is actually testing libc++abi
embeded into the old libc++.so.

No. That didn't cause test failures for me in chroot. I don't see
rpath for libc++ in test linker list so libc++ can be loaded from
installed version. But I don't know how test can then pass without
libc++ installed at all.

ldd also shows that tests should be loading the freshly build
libc++.so.1 from source tree.

One possible issue could be caused by libgcc_s.so because it defines
same entry points for exception handling. But libgcc_s.so should have
a working implementation for exceptions (or a lot of c++ applications
would be failing on armhf)

Does anyone have any idea how to narrow down the issue?

Possible problematic code is libcxxabi/include/__cxxabi_config.h
#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) &&                 \
    !defined(__ARM_DWARF_EH__)
#define LIBCXXABI_ARM_EHABI 1
#else
#define LIBCXXABI_ARM_EHABI 0
#endif

But I don't know how that could be different between buildd and
dpkg-buildpackage.

Pauli



More information about the Pkg-llvm-team mailing list