<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Joerg,</p>
<p>Referring to your patch <a class="moz-txt-link-freetext" href="https://reviews.llvm.org/rL291172">https://reviews.llvm.org/rL291172</a>.</p>
<p><font size="-2"><i> switch (MAI->getExceptionHandlingType())
{</i><i><br>
</i><i> case ExceptionHandling::SjLj:</i><i><br>
</i><i> case ExceptionHandling::DwarfCFI:</i><i><br>
</i><i> case ExceptionHandling::ARM:</i><i><br>
</i><i> <b> isCFIMoveForDebugging = true;</b></i><i><br>
</i><i> <b>if (MAI->getExceptionHandlingType() !=
ExceptionHandling::DwarfCFI)</b></i><b><i><br>
</i></b><b><i> break;</i></b><i><br>
</i><i> for (auto &F: M.getFunctionList()) {</i><i><br>
</i><i> // If the module contains any function with unwind
data,</i><i><br>
</i><i> // .eh_frame has to be emitted.</i><i><br>
</i><i> // Ignore functions that won't get emitted.</i><i><br>
</i><i> if (!F.isDeclarationForLinker() &&
F.needsUnwindTableEntry()) {</i><i><br>
</i><i> <b> isCFIMoveForDebugging = false;</b></i><i><br>
</i><i> break;</i><i><br>
</i><i> }</i><i><br>
</i></font><br>
</p>
<p>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.</p>
<p>Due to this, my test which checks for .cfi_sections and
.debug_frame passes for ARM but fails for AArch64.</p>
<p>Could you please clarify, why the behavior for handling
.cfi_sections needs to be different between ARM and AArch64?</p>
<p>--Mandeep<br>
</p>
<p><br>
</p>
</body>
</html>