From 6af5f82c203f6f19b3e39c6fbfacf424e24c5cb0 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Wed, 7 Oct 2015 21:34:00 +0000 Subject: [WinEH] Refer to filter funclets using their symbol-table symbol The relocation for the filter funclet will be against a symbol table entry for a function instead of the section, making it easier to understand what is going on. llvm-svn: 249621 --- llvm/lib/CodeGen/AsmPrinter/WinException.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/CodeGen/AsmPrinter') diff --git a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp index f672f93a3ee..5661a378c30 100644 --- a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp @@ -477,7 +477,8 @@ void WinException::emitCSpecificHandlerTable(const MachineFunction *MF) { const MCExpr *ExceptOrNull; auto *Handler = UME.Handler.get(); if (UME.IsFinally) { - FilterOrFinally = create32bitRef(Handler->getSymbol()); + FilterOrFinally = + create32bitRef(getMCSymbolForMBBOrGV(Asm, Handler)); ExceptOrNull = MCConstantExpr::create(0, Ctx); } else { // For an except, the filter can be 1 (catch-all) or a function -- cgit v1.2.3