On Jan 10, 2008, at 4:59 PM, Evan Cheng wrote: > How about ARM? > > Evan
Hadn't thought of that, but yeah, I should make the substantiative changes there too. > On Jan 10, 2008, at 4:54 PM, Dale Johannesen wrote: > >> Author: johannes >> Date: Thu Jan 10 18:54:37 2008 >> New Revision: 45848 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=45848&view=rev >> Log: >> Weak things initialized to 0 don't go in bss on Darwin. >> Cosmetic changes to spacing to match gcc (some dejagnu >> tests actually care). >> >> >> Modified: >> llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp >> llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp >> llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp >> llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp >> >> Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=45848&r1=45847&r2=45848&view=diff >> >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original) >> +++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Thu Jan 10 >> 18:54:37 2008 >> @@ -767,7 +767,7 @@ >> case Function::InternalLinkage: return TAI->getTextSection(); >> case Function::WeakLinkage: >> case Function::LinkOnceLinkage: >> - return ".section >> __TEXT,__textcoal_nt,coalesced,pure_instructions"; >> + return "\t.section >> __TEXT,__textcoal_nt,coalesced,pure_instructions"; >> } >> } >> >> @@ -869,13 +869,13 @@ >> >> // Prime text sections so they are adjacent. This reduces the >> likelihood a >> // large data or debug section causes a branch to exceed 16M limit. >> - SwitchToTextSection(".section __TEXT,__textcoal_nt,coalesced," >> + SwitchToTextSection("\t.section __TEXT,__textcoal_nt,coalesced," >> "pure_instructions"); >> if (TM.getRelocationModel() == Reloc::PIC_) { >> - SwitchToTextSection(".section >> __TEXT,__picsymbolstub1,symbol_stubs," >> + SwitchToTextSection("\t.section >> __TEXT,__picsymbolstub1,symbol_stubs," >> "pure_instructions,32"); >> } else if (TM.getRelocationModel() == Reloc::DynamicNoPIC) { >> - SwitchToTextSection(".section >> __TEXT,__symbol_stub1,symbol_stubs," >> + SwitchToTextSection("\t.section >> __TEXT,__symbol_stub1,symbol_stubs," >> "pure_instructions,16"); >> } >> SwitchToTextSection(TAI->getTextSection()); >> @@ -917,8 +917,7 @@ >> >> if (C->isNullValue() && /* FIXME: Verify correct */ >> !I->hasSection() && >> - (I->hasInternalLinkage() || I->hasWeakLinkage() || >> - I->hasLinkOnceLinkage() || I->hasExternalLinkage())) { >> + (I->hasInternalLinkage() || I->hasExternalLinkage())) { >> if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid >> it. >> if (I->hasExternalLinkage()) { >> O << "\t.globl " << name << '\n'; >> @@ -941,7 +940,7 @@ >> case GlobalValue::WeakLinkage: >> O << "\t.globl " << name << '\n' >> << "\t.weak_definition " << name << '\n'; >> - SwitchToDataSection(".section >> __DATA,__datacoal_nt,coalesced", I); >> + SwitchToDataSection("\t.section >> __DATA,__datacoal_nt,coalesced", I); >> break; >> case GlobalValue::AppendingLinkage: >> // FIXME: appending linkage variables should go into a >> section of >> @@ -1008,7 +1007,7 @@ >> if (TM.getRelocationModel() == Reloc::PIC_) { >> for (std::set<std::string>::iterator i = FnStubs.begin(), e = >> FnStubs.end(); >> i != e; ++i) { >> - SwitchToTextSection(".section >> __TEXT,__picsymbolstub1,symbol_stubs," >> + SwitchToTextSection("\t.section >> __TEXT,__picsymbolstub1,symbol_stubs," >> "pure_instructions,32"); >> EmitAlignment(4); >> O << "L" << *i << "$stub:\n"; >> @@ -1036,7 +1035,7 @@ >> } else { >> for (std::set<std::string>::iterator i = FnStubs.begin(), e = >> FnStubs.end(); >> i != e; ++i) { >> - SwitchToTextSection(".section >> __TEXT,__symbol_stub1,symbol_stubs," >> + SwitchToTextSection("\t.section >> __TEXT,__symbol_stub1,symbol_stubs," >> "pure_instructions,16"); >> EmitAlignment(4); >> O << "L" << *i << "$stub:\n"; >> >> Modified: llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp?rev=45848&r1=45847&r2=45848&view=diff >> >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp (original) >> +++ llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp Thu Jan 10 >> 18:54:37 2008 >> @@ -53,7 +53,7 @@ >> UsedDirective = "\t.no_dead_strip\t"; >> WeakDefDirective = "\t.weak_definition "; >> WeakRefDirective = "\t.weak_reference "; >> - HiddenDirective = "\t.private_extern\t"; >> + HiddenDirective = "\t.private_extern "; >> SupportsExceptionHandling = true; >> NeedsIndirectEncoding = true; >> NeedsSet = true; >> >> Modified: llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp?rev=45848&r1=45847&r2=45848&view=diff >> >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp (original) >> +++ llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp Thu Jan 10 18:54:37 >> 2008 >> @@ -173,7 +173,7 @@ >> if (C->isNullValue() && !I->hasSection()) { >> if (I->hasExternalLinkage()) { >> if (const char *Directive = TAI->getZeroFillDirective()) { >> - O << "\t.globl\t" << name << "\n"; >> + O << "\t.globl " << name << "\n"; >> O << Directive << "__DATA__, __common, " << name << ", " >> << Size << ", " << Align << "\n"; >> continue; >> @@ -181,8 +181,9 @@ >> } >> >> if (!I->isThreadLocal() && >> - (I->hasInternalLinkage() || I->hasWeakLinkage() || >> - I->hasLinkOnceLinkage())) { >> + (I->hasInternalLinkage() || >> + (!Subtarget->isTargetDarwin() && >> + (I->hasWeakLinkage() || I->hasLinkOnceLinkage())))) { >> if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, >> avoid it. >> if (!NoZerosInBSS && TAI->getBSSSection()) >> SwitchToDataSection(TAI->getBSSSection(), I); >> @@ -218,9 +219,9 @@ >> case GlobalValue::LinkOnceLinkage: >> case GlobalValue::WeakLinkage: >> if (Subtarget->isTargetDarwin()) { >> - O << "\t.globl\t" << name << "\n" >> + O << "\t.globl " << name << "\n" >> << TAI->getWeakDefDirective() << name << "\n"; >> - SwitchToDataSection(".section >> __DATA,__const_coal,coalesced", I); >> + SwitchToDataSection("\t.section >> __DATA,__datacoal_nt,coalesced", I); >> } else if (Subtarget->isTargetCygMing()) { >> std::string SectionName(".section\t.data$linkonce." + >> name + >> @@ -244,7 +245,7 @@ >> // their name or something. For now, just emit them as >> external. >> case GlobalValue::ExternalLinkage: >> // If external or appending, declare as a global symbol >> - O << "\t.globl\t" << name << "\n"; >> + O << "\t.globl " << name << "\n"; >> // FALL THROUGH >> case GlobalValue::InternalLinkage: { >> if (I->isConstant()) { >> @@ -348,7 +349,7 @@ >> unsigned j = 1; >> for (std::set<std::string>::iterator i = FnStubs.begin(), e = >> FnStubs.end(); >> i != e; ++i, ++j) { >> - SwitchToDataSection(".section >> __IMPORT,__jump_table,symbol_stubs," >> + SwitchToDataSection("\t.section >> __IMPORT,__jump_table,symbol_stubs," >> "self_modifying_code+pure_instructions,5", >> 0); >> O << "L" << *i << "$stub:\n"; >> O << "\t.indirect_symbol " << *i << "\n"; >> @@ -369,7 +370,7 @@ >> // Output stubs for external and common global variables. >> if (!GVStubs.empty()) >> SwitchToDataSection( >> - ".section >> __IMPORT,__pointers,non_lazy_symbol_pointers"); >> + "\t.section >> __IMPORT,__pointers,non_lazy_symbol_pointers"); >> for (std::set<std::string>::iterator i = GVStubs.begin(), e = >> GVStubs.end(); >> i != e; ++i) { >> O << "L" << *i << "$non_lazy_ptr:\n"; >> >> Modified: llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp?rev=45848&r1=45847&r2=45848&view=diff >> >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp (original) >> +++ llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp Thu Jan 10 >> 18:54:37 2008 >> @@ -78,7 +78,7 @@ >> UsedDirective = "\t.no_dead_strip\t"; >> WeakDefDirective = "\t.weak_definition "; >> WeakRefDirective = "\t.weak_reference "; >> - HiddenDirective = "\t.private_extern\t"; >> + HiddenDirective = "\t.private_extern "; >> >> // In non-PIC modes, emit a special label before jump tables so >> that the >> // linker can perform more accurate dead code stripping. >> >> >> _______________________________________________ >> 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 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits