forked from OSchip/llvm-project
[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
This commit is contained in:
parent
40bdd041db
commit
6af5f82c20
|
@ -477,7 +477,8 @@ void WinException::emitCSpecificHandlerTable(const MachineFunction *MF) {
|
|||
const MCExpr *ExceptOrNull;
|
||||
auto *Handler = UME.Handler.get<MachineBasicBlock *>();
|
||||
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
|
||||
|
|
|
@ -140,7 +140,7 @@ ehcleanup.end: ; preds = %ehcleanup
|
|||
; CHECK-NEXT: .long .LBB1_[[except2bb]]@IMGREL
|
||||
; CHECK-NEXT: .long .Ltmp2@IMGREL
|
||||
; CHECK-NEXT: .long .Ltmp3@IMGREL+1
|
||||
; CHECK-NEXT: .long .LBB1_[[finbb:[0-9]+]]@IMGREL
|
||||
; CHECK-NEXT: .long "?dtor$[[finbb:[0-9]+]]@?0?main@4HA"@IMGREL
|
||||
; CHECK-NEXT: .long 0
|
||||
; CHECK-NEXT: .long .Ltmp2@IMGREL
|
||||
; CHECK-NEXT: .long .Ltmp3@IMGREL+1
|
||||
|
|
Loading…
Reference in New Issue