[PATCH] D112925: [ELF] Better resemble GNU ld when placing orphan sections into memory regions

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 10 13:53:31 PST 2021


MaskRay accepted this revision.
MaskRay added a comment.

Worth mentioning that previous `error: no memory region specified for section ` may be accepted like GNU ld now.



================
Comment at: lld/ELF/LinkerScript.cpp:894
     if (MemoryRegion *m = memoryRegions.lookup(sec->memoryRegionName))
-      return m;
+      return std::make_pair(m, m);
     error("memory region '" + sec->memoryRegionName + "' not declared");
----------------
ditto below


================
Comment at: lld/ELF/LinkerScript.cpp:906
+  // An allocatable orphan section should continue the previous memory region.
+  if (sec->sectionIndex == UINT32_MAX && sec->flags & SHF_ALLOC && hint)
+    return std::make_pair(hint, hint);
----------------



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

https://reviews.llvm.org/D112925



More information about the llvm-commits mailing list