OSDN Git Service

Commit some pending darwin changes before subtarget support.
authorNate Begeman <natebegeman@mac.com>
Tue, 12 Jul 2005 01:37:28 +0000 (01:37 +0000)
committerNate Begeman <natebegeman@mac.com>
Tue, 12 Jul 2005 01:37:28 +0000 (01:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22388 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ATTAsmPrinter.cpp
lib/Target/X86/X86AsmPrinter.cpp

index 2106990..39a82ad 100755 (executable)
@@ -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;
index 9f09885..17752b9 100644 (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";