[llvm-dev] Difference in EHType between ARM and AArch64

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 6 02:22:10 PDT 2017

On 5 April 2017 at 21:35, Grang, Mandeep Singh via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Could you please clarify, why the behavior for handling .cfi_sections needs
> to be different between ARM and AArch64?

Hi Mandeep,

Many years ago, ARM devised a specially crafted exception handling
system tuned for code size and embedded targets, which was the whole
point of their hardware designs. This was called the EHABI.

AArch64 was never meant to be an embedded architecture (ARMv8M is
still AArch32), and the complexity added by having a completely
different exception handling just wasn't worth the trouble.

For that reason, AArch64 follows the Dwarf EH while AArch32 follows the EHABI.


More information about the llvm-dev mailing list