[LLVMdev] GCC/LLVM frame pointer incompatibility on ARM

Renato Golin renato.golin at linaro.org
Wed Jul 16 00:41:19 PDT 2014


On 16 July 2014 08:27, Evgeniy Stepanov <eugeni.stepanov at gmail.com> wrote:
>> I don't understand this argument. The ARM EH / DWARF annotation is
>> supported by LLVM and encodes exactly the data required for robustly
>> unwinding the stack.

Plus, relying on specific compiler's output cannot ever be robust,
even if all known compilers do the same thing, one unknown will stand
different. Following EH directives is the only sure way of getting
things right. Robust or fast, pick one. :)


> Not fast enough for us.

I'm afraid you'll have to cope with different compilers' outputs. Even
if LLVM changes that, there will be others. You could say: "I only
care about GCC and LLVM", but you probably said before "I only care
about GCC", and it has proven problematic.

Another way would be to get all compilers to agree on style, document,
and follow as if it was a "compiler standard". That doesn't guarantee
anything, but at least provides a well documented, with strong
arguments, why implementing A rather than B is optimal, and might
convince other compilers to abide by our decision.

We're going to discuss about GCC + LLVM interactions at the GNU
Cauldron this Friday, I might add this topic to the list. I don't
particularly have any preference, but people might, so I'd be keen on
hearing the arguments on both sides.

cheers,
--renato



More information about the llvm-dev mailing list