Commit some pending darwin changes before subtarget support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nate Begeman 2005-07-12 01:37:28 +00:00
parent a3efca16f2
commit 73213f6c07
2 changed files with 13 additions and 11 deletions

View File

@ -53,7 +53,8 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
printMachineInstruction(II);
}
}
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
if (!forDarwin)
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
// We didn't modify anything.
return false;

View File

@ -58,6 +58,7 @@ bool X86SharedAsmPrinter::doInitialization(Module& M) {
leadingUnderscore = false;
#endif
}
if (leadingUnderscore || forCygwin || forDarwin)
GlobalPrefix = "_";
@ -159,6 +160,16 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
}
if (forDarwin) {
// Output stubs for external global variables
if (GVStubs.begin() != GVStubs.end())
O << "\t.non_lazy_symbol_pointer\n";
for (std::set<std::string>::iterator i = GVStubs.begin(), e = GVStubs.end();
i != e; ++i) {
O << "L" << *i << "$non_lazy_ptr:\n";
O << "\t.indirect_symbol " << *i << "\n";
O << "\t.long\t0\n";
}
// Output stubs for dynamically-linked functions
unsigned j = 1;
for (std::set<std::string>::iterator i = FnStubs.begin(), e = FnStubs.end();
@ -178,16 +189,6 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\n";
// Output stubs for external global variables
if (GVStubs.begin() != GVStubs.end())
O << ".data\n.non_lazy_symbol_pointer\n";
for (std::set<std::string>::iterator i = GVStubs.begin(), e = GVStubs.end();
i != e; ++i) {
O << "L" << *i << "$non_lazy_ptr:\n";
O << "\t.indirect_symbol " << *i << "\n";
O << "\t.long\t0\n";
}
// Output stubs for link-once variables
if (LinkOnceStubs.begin() != LinkOnceStubs.end())
O << ".data\n.align 2\n";