[cfe-dev] ARM Linux libc++ / libunwind — Exceptions not being caught

Andrew Brownsword via cfe-dev cfe-dev at lists.llvm.org
Thu Aug 30 08:43:39 PDT 2018


It would be most helpful if the was a known good combination of libraries and settings that would net a working toolchain for ARM7hf Ubuntu 16.04, with CLang 7 and libc++.  I’ve been trying libc++abi and libunwind mostly (and compiler-rt in the last day or two) as I had build problems with the various gcc-based paths.  What is the recommended path to follow though?  A lot of options are provided but clearly it’s a minefield of broken paths.

> On Aug 30, 2018, at 7:04 AM, Louis Dionne <ldionne at apple.com> wrote:
> 
> Are you building your test program with -fno-rtti? I’ve seen a problem where if libc++ is built with RTTI and exceptions enabled, and a program is built with exceptions enabled BUT -fno-rtti, exceptions thrown from the program will not be caught.
> 
> Louis
> 
>> On Aug 25, 2018, at 15:20, Andrew Brownsword via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>> 
>> I have built the llvm/clang 7.0.0 rc2, including libc++/libc++abi/libunwind for my Ubuntu 16.04 Linux 32-bit ARM7 hf target.  A trivial c++17 test program with just this try/catch block:
>> 
>> try { auto result = stoul(“foo”); } catch (...) { std::cerr << “caught!” << std::endl; }
>> 
>> fails to print “caught!”  Instead it just aborts.  If no exceptions are thrown,  programs built with this toolchain behave as expected.
>> 
>> I have tried numerous variations of the toolchain, compile and link steps (including alternatives to the cxxabi), however they all run into various errors or ultimately give the same runtime abort.
>> 
>> Any suggestions for how to get a functioning Linux armhf clang/libc++ 7.0.0 toolchain?
>> 
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> 



More information about the cfe-dev mailing list