> gcc often inserts it's own names for sections (e.g. > gnu.linkonce.t.FunctionName). Convert them to "normal" LLVM names, > otherwise linker won't be able to merge them.
Can you be a bit more explicit about what this fixes? -Chris > > --- > Diffs of the changes: (+7 -2) > > X86ATTAsmPrinter.cpp | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > > Index: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp > diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.81 llvm/lib/ > Target/X86/X86ATTAsmPrinter.cpp:1.82 > --- llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.81 Wed Jan 3 > 05:43:14 2007 > +++ llvm/lib/Target/X86/X86ATTAsmPrinter.cpp Sat Jan 6 12:24:26 2007 > @@ -80,8 +80,13 @@ > > X86SharedAsmPrinter::decorateName(CurrentFnName, F); > > - SwitchToTextSection(getSectionForFunction(*F).c_str(), F); > - > + // Change GNU linkonce to LLVM linkonce name > + if (F->hasSection() && > + (F->getSection().find(".gnu.linkonce.t") != std::string::npos)) > + SwitchToTextSection(getSectionForFunction(*F).c_str(), NULL); > + else > + SwitchToTextSection(getSectionForFunction(*F).c_str(), F); > + > switch (F->getLinkage()) { > default: assert(0 && "Unknown linkage type!"); > case Function::InternalLinkage: // Symbols default to internal. > > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits