[PATCH] D25627: [ELF] Convert linker generated sections to input sections

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 28 14:48:20 PDT 2016

ruiu added inline comments.

Comment at: ELF/InputSection.cpp:863
+  memcpy(Buf.data() + 12, "GNU", 4);           // Name string
+  this->Data = ArrayRef<uint8_t>(Buf);
Here, you fill the internal buffer with data, which to be memcpy'ed to the final output buffer. I think we don't want to do that. Instead, we want to virtualize InputFile's `writeTo` so that each input section will directly write to the output buffer.

Comment at: ELF/InputSection.h:254-255
+  // Location of this section in the output buffer
+  uint8_t *OutputLoc = nullptr;
This field is very specific to build-id, which needs to back-fill the buildid value after we get a complete output file. No other sections should need them, and that's a good thing because it keeps most sections being agnostic where they are written. So I'd move this to BuildIdSection, as it used to be.


More information about the llvm-commits mailing list