diff options
| author | Nate Begeman <natebegeman@mac.com> | 2004-11-09 04:01:18 +0000 | 
|---|---|---|
| committer | Nate Begeman <natebegeman@mac.com> | 2004-11-09 04:01:18 +0000 | 
| commit | 1164955bf1592adb4341ac14e030b229efa172d6 (patch) | |
| tree | adee5c52dc28f59ac1c7dae2a34963dfd156dc2b /llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | |
| parent | 1df8148b01308a9034d3de492f170b4306996f83 (diff) | |
| download | bcm5719-llvm-1164955bf1592adb4341ac14e030b229efa172d6.tar.gz bcm5719-llvm-1164955bf1592adb4341ac14e030b229efa172d6.zip | |
Allow hbd to be bugpointable on darwin by fixing common and linkonce codegen
llvm-svn: 17637
Diffstat (limited to 'llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index fd86f1b59cd..62c20219134 100644 --- a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -367,8 +367,8 @@ void PowerPCAsmPrinter::printOp(const MachineOperand &MO,      }      // External or weakly linked global variables need non-lazily-resolved stubs -    if ((GV->isExternal() || GV->hasWeakLinkage()) &&  -        getTM().AddressTaken.count(GV)) { +    if ((GV->isExternal() || GV->hasWeakLinkage() || GV->hasLinkOnceLinkage())  +         && getTM().AddressTaken.count(GV)) {        GVStubs.insert(Name);        O << "L" << Name << "$non_lazy_ptr";        return; @@ -472,7 +472,8 @@ bool DarwinAsmPrinter::doFinalization(Module &M) {        unsigned Align = TD.getTypeAlignmentShift(C->getType());        if (C->isNullValue() && /* FIXME: Verify correct */ -          (I->hasInternalLinkage() || I->hasWeakLinkage())) { +          (I->hasInternalLinkage() || I->hasWeakLinkage() ||  +           I->hasLinkOnceLinkage())) {          SwitchSection(O, CurSection, ".data");          if (I->hasInternalLinkage())            O << ".lcomm " << name << "," << TD.getTypeSize(C->getType()) | 

