Fix a FIXME. _foo.eh symbols are currently always exported so that the linker

knows about them. This is not necessary on 10.6 and later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114997 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2010-09-28 22:36:56 +00:00
parent f53458f693
commit 4edab1a9e8
2 changed files with 29 additions and 13 deletions

View File

@@ -444,27 +444,19 @@ getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
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;
IsFunctionEHFrameSymbolPrivate = false;
SupportsWeakOmittedEHFrame = false;
Triple T(((LLVMTargetMachine&)TM).getTargetTriple());
if (T.getOS() == Triple::Darwin) {
switch (T.getDarwinMajorNumber()) {
case 7: // 10.3 Panther.
case 8: // 10.4 Tiger.
unsigned MajNum = T.getDarwinMajorNumber();
if (MajNum == 7 || MajNum == 8) // 10.3 Panther, 10.4 Tiger
CommDirectiveSupportsAlignment = false;
break;
case 9: // 10.5 Leopard.
case 10: // 10.6 SnowLeopard.
break;
}
if (MajNum > 9) // 10.6 SnowLeopard
IsFunctionEHSymbolGlobal = false;
}
TargetLoweringObjectFile::Initialize(Ctx, TM);
TextSection // .text