[llvm] 50d72fa - [NFC][AIX][XCOFF] if the size of Csect is zero, the Csect do not need write any data into sections

via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 6 09:42:05 PST 2019


Author: diggerlin
Date: 2019-12-06T12:41:38-05:00
New Revision: 50d72fa1461b71d898237f3ce19ab367d0508c87

URL: https://github.com/llvm/llvm-project/commit/50d72fa1461b71d898237f3ce19ab367d0508c87
DIFF: https://github.com/llvm/llvm-project/commit/50d72fa1461b71d898237f3ce19ab367d0508c87.diff

LOG: [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

Added: 
    

Modified: 
    llvm/lib/MC/XCOFFObjectWriter.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/MC/XCOFFObjectWriter.cpp b/llvm/lib/MC/XCOFFObjectWriter.cpp
index 788de885e416..3bbf1a9b755a 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;
       }
     }


        


More information about the llvm-commits mailing list