[PATCH] D152945: [SystemZ][z/OS] Implement executePostLayoutBinding for GOFFWriter

Digger Lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 26 13:49:50 PDT 2023


DiggerLin added inline comments.


================
Comment at: llvm/lib/MC/GOFFObjectWriter.cpp:474
+  StringRef FileName = sys::path::stem((*(Asm.getFileNames().begin())).first);
+  std::pair<std::string, std::string> CsectNames = Asm.getCsectNames();
+  if (CsectNames.first.empty()) {
----------------
the value of CsectNames never be set , the default value of CsectNames here for Asm.getCsectNames(). ?


================
Comment at: llvm/lib/MC/GOFFObjectWriter.cpp:889
+    switch (Fragment.getKind()) {
+    case MCFragment::FT_Data: {
+      const auto &DataFrag = static_cast<const MCDataFragment &>(Fragment);
----------------
add a lambda help function before case MCFragment::FT_Data: 

for example:

 
```
 auto GenericFragWriteHelper = [](const T& Fragment ) {
      const SmallVectorImpl<char> &Data = DataFrag.getContents();
      size_t SectionOffset = Layout.getFragmentOffset(&Fragment);
      bufferText(Section, SectionOffset, Data);
  }

case MCFragment::FT_Data: {
     GenericFragWriteHelper(static_cast<const MCDataFragment &>(Fragment));
     break;
.....
   case MCFragment::FT_Dwarf:
     GenericFragWriteHelper(static_cast<const MCDataFragment &>(Fragment));
     break;
 }
```
and  also can be used for   MCFragment::FT_LEB: 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152945/new/

https://reviews.llvm.org/D152945



More information about the llvm-commits mailing list