diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-28 05:48:29 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-28 05:48:29 +0000 |
commit | e48a69b2a3d821949db3c52e1fff20401e361496 (patch) | |
tree | fe683056f00f55ce8160d109b5275af4a9b38166 /llvm/tools | |
parent | cf72e1c03ea804a5c614104094e290f3d17cd08f (diff) | |
download | bcm5719-llvm-e48a69b2a3d821949db3c52e1fff20401e361496.tar.gz bcm5719-llvm-e48a69b2a3d821949db3c52e1fff20401e361496.zip |
llvm-mc: Unique zero fill sections.
llvm-svn: 80342
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-mc/AsmParser.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/llvm/tools/llvm-mc/AsmParser.cpp b/llvm/tools/llvm-mc/AsmParser.cpp index 2c855d950fd..9f219925b0f 100644 --- a/llvm/tools/llvm-mc/AsmParser.cpp +++ b/llvm/tools/llvm-mc/AsmParser.cpp @@ -1287,15 +1287,10 @@ bool AsmParser::ParseDirectiveDarwinZerofill() { // If this is the end of the line all that was wanted was to create the // the section but with no symbol. if (Lexer.is(AsmToken::EndOfStatement)) { - // FIXME: CACHE THIS. - MCSection *S = 0; //Ctx.GetSection(Section); - if (S == 0) - S = MCSectionMachO::Create(Segment, Section, - MCSectionMachO::S_ZEROFILL, 0, - SectionKind(), Ctx); - // Create the zerofill section but no symbol - Out.EmitZerofill(S); + Out.EmitZerofill(getMachOSection(Segment, Section, + MCSectionMachO::S_ZEROFILL, 0, + SectionKind())); return false; } @@ -1348,16 +1343,13 @@ bool AsmParser::ParseDirectiveDarwinZerofill() { if (!Sym->isUndefined()) return Error(IDLoc, "invalid symbol redefinition"); - // FIXME: Arch specific. - // FIXME: CACHE. - MCSection *S = 0; //Ctx.GetSection(Section); - if (S == 0) - S = MCSectionMachO::Create(Segment, Section, - MCSectionMachO::S_ZEROFILL, 0, - SectionKind(), Ctx); - // Create the zerofill Symbol with Size and Pow2Alignment - Out.EmitZerofill(S, Sym, Size, Pow2Alignment); + // + // FIXME: Arch specific. + Out.EmitZerofill(getMachOSection(Segment, Section, + MCSectionMachO::S_ZEROFILL, 0, + SectionKind()), + Sym, Size, Pow2Alignment); return false; } |