[mono/llvm] 9394cb45: Fix unwind info on ARM, createDefCfa/createDefCfaOffset expect a negative CFA offset.

"Zoltan Varga ([email protected])" <[email protected]> Fri, 15 Nov 2013 01:46:53 +0000
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <0000014259707d5e-fc6a4758-1a17-495e-b05f-983e3ea9975d-000000@email.amazonses.com>
   Branch: refs/heads/mono2
     Home: https://github.com/mono/llvm
  Compare: https://github.com/mono/llvm/compare/526477d0166f...9394cb4523a8

   Commit: 9394cb4523a8c3cca3ec8c32482e4509a218f933
   Author: Zoltan Varga <[email protected]> (vargaz)
     Date: 2013-11-15 01:45:36 GMT
      URL: https://github.com/mono/llvm/commit/9394cb4523a8c3cca3ec8c32482e4509a218f933

Fix unwind info on ARM, createDefCfa/createDefCfaOffset expect a negative CFA offset.

Changed paths:
  M lib/Target/ARM/ARMFrameLowering.cpp

Modified: lib/Target/ARM/ARMFrameLowering.cpp
===================================================================
@@ -154,7 +154,7 @@ static void emitSPUpdate(bool isARM, MachineBasicBlock &MBB,
     FrameLabel = MMI.getContext().CreateTempSymbol();
     BuildMI(MBB, MBBI, dl, TII.get(ARM::PROLOG_LABEL)).addSym(FrameLabel);
   }
-  MMI.addFrameInst(MCCFIInstruction::createDefCfaOffset(FrameLabel, CfaOffset));
+  MMI.addFrameInst(MCCFIInstruction::createDefCfaOffset(FrameLabel, -CfaOffset));
 }
 
 static void
@@ -168,7 +168,7 @@ static void emitSPUpdate(bool isARM, MachineBasicBlock &MBB,
   BuildMI(MBB, MBBI, dl, TII.get(ARM::PROLOG_LABEL)).addSym(FrameLabel);
 
   unsigned DwarfReg = MRI->getDwarfRegNum(CfaReg, true);
-  MMI.addFrameInst(MCCFIInstruction::createDefCfa(FrameLabel, DwarfReg, CfaOffset));
+  MMI.addFrameInst(MCCFIInstruction::createDefCfa(FrameLabel, DwarfReg, -CfaOffset));
 }
 
 static void


_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches