[LLVMdev] EHABI: Remaining issues (original) (raw)

Renato Golin renato.golin at linaro.org
Thu Mar 13 06:15:21 PDT 2014


Hi Keith, Anton, Logan,

Last time we spoke about ARM unwinding, we agreed to have both CFI and directive variants in ARM, so that both EH and debuggers/profilers could correctly unwind the stack. The problem, obviously, is that we now have redundant information and I decided to have a go commoning them up.

One of the issues, I think, is GNU compatibility (so GAS can generate the tables correctly when not using the integrated assembler), and it seems there GCC also emits both EHABI directives and Dwarf, so I don't think we'll be able to move away from it. Since this is only relevant in debug/profiling mode, and the only problem is code size, I think this is something we can live with. Do you guys agree with it?

Another issue is the usage of EH tables in C code. I believe the consensus is that it may not be the most optimal for never-exceptional code, but it's the safest default option. The only thing remaining is to choose a way to disable them via some flag. As weird as -fno-exceptions sounds for C code, I think we'll have to go with it. Any other ideas?

Finally, Keith, do you have some internal EHABI test you can run Clang on? Does any one know of a large, self contained code, that makes heavy use of exceptions?

cheers, --renato



More information about the llvm-dev mailing list