Skip to content

Commit

Permalink
emit the cygwin stub thing through mcstreamer.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100295 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
lattner committed Apr 3, 2010
1 parent 58bc4dd commit fd60b8b
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ void AsmPrinter::EmitLinkage(unsigned Linkage, MCSymbol *GVSym) const {
// .linkonce discard
// FIXME: It would be nice to use .linkonce samesize for non-common
// globals.
OutStreamer.EmitRawText(LinkOnce);
OutStreamer.EmitRawText(StringRef(LinkOnce));
} else {
// .weak _foo
OutStreamer.EmitSymbolAttribute(GVSym, MCSA_Weak);
Expand Down Expand Up @@ -322,9 +322,13 @@ void AsmPrinter::EmitFunctionHeader() {

// Add some workaround for linkonce linkage on Cygwin\MinGW.
if (MAI->getLinkOnceDirective() != 0 &&
(F->hasLinkOnceLinkage() || F->hasWeakLinkage()))
(F->hasLinkOnceLinkage() || F->hasWeakLinkage())) {
// FIXME: What is this?
O << "Lllvm$workaround$fake$stub$" << *CurrentFnSym << ":\n";
MCSymbol *FakeStub =
OutContext.GetOrCreateSymbol(Twine("Lllvm$workaround$fake$stub$")+
CurrentFnSym->getName());
OutStreamer.EmitLabel(FakeStub);
}

// Emit pre-function debug and/or EH information.
if (MAI->doesSupportDebugInformation() || MAI->doesSupportExceptionHandling())
Expand Down Expand Up @@ -454,8 +458,11 @@ void AsmPrinter::EmitFunctionBody() {
// Emit target-specific gunk after the function body.
EmitFunctionBodyEnd();

if (MAI->hasDotTypeDotSizeDirective())
// If the target wants a .size directive for the size of the function, emit
// it.
if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.size\t" << *CurrentFnSym << ", .-" << *CurrentFnSym << '\n';
}

// Emit post-function debug information.
if (MAI->doesSupportDebugInformation() || MAI->doesSupportExceptionHandling())
Expand Down

0 comments on commit fd60b8b

Please sign in to comment.