diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index c17795f3943..a9f09b5ee6d 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -50,6 +50,10 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM) setShiftAmountFlavor(Mask); // shl X, 32 == shl X, 0 setStackPointerRegisterToSaveRestore(X86::ESP); + if (!TM.getSubtarget().isTargetDarwin()) + // Darwin should use _setjmp/_longjmp instead of setjmp/longjmp. + setUseUnderscoreSetJmpLongJmp(true); + // Add legal addressing mode scale values. addLegalAddressScale(8); addLegalAddressScale(4);