<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>