Changes in directory llvm/lib/Target/Alpha:
AlphaAsmPrinter.cpp updated: 1.29 -> 1.30 --- Log message: linkage fix for weak functions --- Diffs of the changes: (+16 -3) AlphaAsmPrinter.cpp | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.29 llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.30 --- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.29 Sun Jan 22 17:37:17 2006 +++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp Sat Feb 4 13:13:09 2006 @@ -173,9 +173,22 @@ EmitConstantPool(MF.getConstantPool()); // Print out labels for the function. - SwitchSection("\t.section .text", MF.getFunction()); - EmitAlignment(4); - O << "\t.globl " << CurrentFnName << "\n"; + const Function *F = MF.getFunction(); + SwitchSection(".text", F); + EmitAlignment(4, F); + switch (F->getLinkage()) { + default: assert(0 && "Unknown linkage type!"); + case Function::InternalLinkage: // Symbols default to internal. + break; + case Function::ExternalLinkage: + O << "\t.globl " << CurrentFnName << "\n"; + break; + case Function::WeakLinkage: + case Function::LinkOnceLinkage: + O << "\t.weak " << CurrentFnName << "\n"; + break; + } + O << "\t.ent " << CurrentFnName << "\n"; O << CurrentFnName << ":\n"; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits