diff options
| author | diggerlin <digger.llvm@gmail.com> | 2019-12-06 12:41:38 -0500 |
|---|---|---|
| committer | diggerlin <digger.llvm@gmail.com> | 2019-12-06 12:41:38 -0500 |
| commit | 50d72fa1461b71d898237f3ce19ab367d0508c87 (patch) | |
| tree | d21aef48eb45d55b11f6ad3cbb654c2e7054cfb8 /llvm/lib | |
| parent | 79f8c20e2cb634c1b8e42f01b42fc5ab2a512d60 (diff) | |
| download | bcm5719-llvm-50d72fa1461b71d898237f3ce19ab367d0508c87.tar.gz bcm5719-llvm-50d72fa1461b71d898237f3ce19ab367d0508c87.zip | |
[NFC][AIX][XCOFF] if the size of Csect is zero, the Csect do not need write any data into sections
SUMMARY:
if the size of Csect is zero, the Csect do not need write any data into sections
for example, the TOC Csect has zero size, it do not need invoke a
Asm.writeSectionData(W.OS, Csect.MCCsect, Layout);
Reviewers: daltenty
Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D71120
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/MC/XCOFFObjectWriter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/MC/XCOFFObjectWriter.cpp b/llvm/lib/MC/XCOFFObjectWriter.cpp index 788de885e41..3bbf1a9b755 100644 --- a/llvm/lib/MC/XCOFFObjectWriter.cpp +++ b/llvm/lib/MC/XCOFFObjectWriter.cpp @@ -368,7 +368,8 @@ void XCOFFObjectWriter::writeSections(const MCAssembler &Asm, for (const auto &Csect : *Group) { if (uint32_t PaddingSize = Csect.Address - CurrentAddressLocation) W.OS.write_zeros(PaddingSize); - Asm.writeSectionData(W.OS, Csect.MCCsect, Layout); + if (Csect.Size) + Asm.writeSectionData(W.OS, Csect.MCCsect, Layout); CurrentAddressLocation = Csect.Address + Csect.Size; } } |

