Revert r114997. It was causing a failure on darwin10-selfhost.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2010-09-28 23:11:55 +00:00
parent 744c7c8e1b
commit 2ff6e1e62c
2 changed files with 15 additions and 5 deletions

View File

@ -444,19 +444,27 @@ getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx, void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
const TargetMachine &TM) { const TargetMachine &TM) {
// _foo.eh symbols are currently always exported so that the linker knows
// about them. This is not necessary on 10.6 and later, but it
// doesn't hurt anything.
// FIXME: I need to get this from Triple.
IsFunctionEHSymbolGlobal = true; IsFunctionEHSymbolGlobal = true;
IsFunctionEHFrameSymbolPrivate = false; IsFunctionEHFrameSymbolPrivate = false;
SupportsWeakOmittedEHFrame = false; SupportsWeakOmittedEHFrame = false;
Triple T(((LLVMTargetMachine&)TM).getTargetTriple()); Triple T(((LLVMTargetMachine&)TM).getTargetTriple());
if (T.getOS() == Triple::Darwin) { if (T.getOS() == Triple::Darwin) {
unsigned MajNum = T.getDarwinMajorNumber(); switch (T.getDarwinMajorNumber()) {
if (MajNum == 7 || MajNum == 8) // 10.3 Panther, 10.4 Tiger case 7: // 10.3 Panther.
case 8: // 10.4 Tiger.
CommDirectiveSupportsAlignment = false; CommDirectiveSupportsAlignment = false;
if (MajNum > 9) // 10.6 SnowLeopard break;
IsFunctionEHSymbolGlobal = false; case 9: // 10.5 Leopard.
case 10: // 10.6 SnowLeopard.
break;
}
} }
TargetLoweringObjectFile::Initialize(Ctx, TM); TargetLoweringObjectFile::Initialize(Ctx, TM);
TextSection // .text TextSection // .text

View File

@ -1,5 +1,7 @@
; RUN: llc < %s -mtriple x86_64-apple-darwin10 -march x86 | not grep {{.globl\[\[:space:\]\]*__Z4funcv.eh}} ; RUN: llc < %s -mtriple x86_64-apple-darwin10 -march x86 | not grep {{.globl\[\[:space:\]\]*__Z4funcv.eh}}
; RUN: llc < %s -mtriple x86_64-apple-darwin9 -march x86 | FileCheck %s -check-prefix=DARWIN9 ; RUN: llc < %s -mtriple x86_64-apple-darwin9 -march x86 | FileCheck %s -check-prefix=DARWIN9
; XFAIL: *
; Fail this until I can fix the global EH failure.
%struct.__pointer_type_info_pseudo = type { %struct.__type_info_pseudo, i32, %"struct.std::type_info"* } %struct.__pointer_type_info_pseudo = type { %struct.__type_info_pseudo, i32, %"struct.std::type_info"* }
%struct.__type_info_pseudo = type { i8*, i8* } %struct.__type_info_pseudo = type { i8*, i8* }