[llvm-dev] Difference in EHType between ARM and AArch64
Grang, Mandeep Singh via llvm-dev
llvm-dev at lists.llvm.org
Wed Apr 5 13:35:00 PDT 2017
Joerg,
Referring to your patch https://reviews.llvm.org/rL291172.
/ switch (MAI->getExceptionHandlingType()) {//
// case ExceptionHandling::SjLj://
// case ExceptionHandling::DwarfCFI://
// case ExceptionHandling::ARM://
//*isCFIMoveForDebugging = true;*//
//*if (MAI->getExceptionHandlingType() != ExceptionHandling::DwarfCFI)*/*/
/**/ break;/*/
// for (auto &F: M.getFunctionList()) {//
// // If the module contains any function with unwind data,//
// // .eh_frame has to be emitted.//
// // Ignore functions that won't get emitted.//
// if (!F.isDeclarationForLinker() && F.needsUnwindTableEntry()) {//
//*isCFIMoveForDebugging = false;*//
// break;//
// }//
/
The ExceptionHandlingType for AArch64 is ExceptionHandling::DwarfCFI
whereas for ARM it is ExceptionHandling::ARM. As a result, the behavior
of the .cfi_sections differs for ARM vs AArch64.
Due to this, my test which checks for .cfi_sections and .debug_frame
passes for ARM but fails for AArch64.
Could you please clarify, why the behavior for handling .cfi_sections
needs to be different between ARM and AArch64?
--Mandeep
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170405/141ac1ad/attachment.html>
More information about the llvm-dev
mailing list