Skip to content
This repository has been archived by the owner on Dec 20, 2019. It is now read-only.

Commit

Permalink
Emit .fnstart/.fnend directives on arm ELF platforms in the mono EH w…
Browse files Browse the repository at this point in the history
…riter since the ARM backends depends on ARMException doing it, and ARMException is not ran when --disable-gnu-eh-frame is given.
  • Loading branch information
vargaz committed Sep 15, 2018
1 parent fc854b8 commit 7dd8230
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/CodeGen/AsmPrinter/MonoException.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,8 @@ MonoException::~MonoException()
void
MonoException::beginFunction(const MachineFunction *MF)
{
if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnStart();
EHLabels.clear();
}

Expand Down Expand Up @@ -414,6 +416,8 @@ MonoException::endFunction(const MachineFunction *MF)
Frames.push_back(info);
EHLabels.clear();

if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnEnd();
}

/// EmitMonoLSDA - Mono's version of EmitExceptionTable
Expand Down

0 comments on commit 7dd8230

Please sign in to comment.