From f2f0411924184ca59911b3abebb564e22b569f40 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 18 Apr 2023 18:13:16 -0400 Subject: [PATCH] [BOLT] Adjust Shdr alignment 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 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp index 4c4b3fa47c62..9e38736d147d 100644 --- a/bolt/lib/Rewrite/RewriteInstance.cpp +++ b/bolt/lib/Rewrite/RewriteInstance.cpp @@ -4765,9 +4765,10 @@ void RewriteInstance::patchELFSectionHeaderTable(ELFObjectFile *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) {