[cfe-dev] [LLVMdev] Unwind behaviour in Clang/LLVM

Evgeniy Stepanov eugenis at google.com
Thu Feb 13 03:35:26 PST 2014


I assume this "CantUnwind table" is not the same as

Unwind table index '.ARM.exidx' at offset 0x818 contains 4 entries:
0x5d4 <main>: 0x1 [cantunwind]

because the latter prevent any unwinding, breaking
debuggers/profilers/sanitizers.

As I understand, the right way to enable basic unwind through any
function (without emitting landing pands etc, unless they are needed
for something else) is -funwind-tables. I'm going to add that in the
driver for all sanitizers then.


On Tue, Feb 11, 2014 at 6:20 PM, Renato Golin <renato.golin at linaro.org> wrote:
> On 11 February 2014 14:12, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:
>> Why fails? I would read a "generate a CantUnwind table" as a table
>> that a debugger or profiler can use, but lacks information to allow an
>> exception to be handled.
>
> Right, I was assuming CantUnwind was interpreted as is by debug and
> profilers. If CantUnwind is *only* blocking EH, than it looks good.
>
> Let Keith's patch go in and I'll have a go trying to merge the two.
>
> Thanks,
> --renato
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the cfe-dev mailing list