[BOLT] Adjust Shdr alignment
authorNathan Sidwell <nathan@acm.org>
Tue, 18 Apr 2023 22:13:16 +0000 (18:13 -0400)
committerNathan Sidwell <nathan@acm.org>
Wed, 19 Apr 2023 19:51:12 +0000 (15:51 -0400)
Shdr's are not necesarily size 2^n, and there is no reason to align to
that boundary if they are.

Differential Revision: https://reviews.llvm.org/D148666

bolt/lib/Rewrite/RewriteInstance.cpp

index 4c4b3fa..9e38736 100644 (file)
@@ -4765,9 +4765,10 @@ void RewriteInstance::patchELFSectionHeaderTable(ELFObjectFile<ELFT> *File) {
       dbgs() << "  " << I << " -> " << NewSectionIndex[I] << '\n';
   );
 
-  // Align starting address for section header table.
+  // Align starting address for section header table. There's no architecutal
+  // need to align this, it is just for pleasant human readability.
   uint64_t SHTOffset = OS.tell();
-  SHTOffset = appendPadding(OS, SHTOffset, sizeof(ELFShdrTy));
+  SHTOffset = appendPadding(OS, SHTOffset, 16);
 
   // Write all section header entries while patching section references.
   for (ELFShdrTy &Section : OutputSections) {