diff options
| -rw-r--r-- | lld/ELF/OutputSections.cpp | 8 | ||||
| -rw-r--r-- | lld/test/ELF/verneed.s | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp index 00882741e06..6bb94915cf9 100644 --- a/lld/ELF/OutputSections.cpp +++ b/lld/ELF/OutputSections.cpp @@ -1521,7 +1521,9 @@ SymbolTableSection<ELFT>::getOutputSection(SymbolBody *Sym) { template <class ELFT> VersionTableSection<ELFT>::VersionTableSection() - : OutputSectionBase<ELFT>(".gnu.version", SHT_GNU_versym, SHF_ALLOC) {} + : OutputSectionBase<ELFT>(".gnu.version", SHT_GNU_versym, SHF_ALLOC) { + this->Header.sh_addralign = sizeof(typename ELFT::Half); +} template <class ELFT> void VersionTableSection<ELFT>::finalize() { this->Header.sh_size = @@ -1544,7 +1546,9 @@ template <class ELFT> void VersionTableSection<ELFT>::writeTo(uint8_t *Buf) { template <class ELFT> VersionNeedSection<ELFT>::VersionNeedSection() - : OutputSectionBase<ELFT>(".gnu.version_r", SHT_GNU_verneed, SHF_ALLOC) {} + : OutputSectionBase<ELFT>(".gnu.version_r", SHT_GNU_verneed, SHF_ALLOC) { + this->Header.sh_addralign = sizeof(typename ELFT::Word); +} template <class ELFT> void VersionNeedSection<ELFT>::addSymbol(SharedSymbol<ELFT> *SS) { diff --git a/lld/test/ELF/verneed.s b/lld/test/ELF/verneed.s index 2f384537abd..45d81b4a52b 100644 --- a/lld/test/ELF/verneed.s +++ b/lld/test/ELF/verneed.s @@ -15,7 +15,7 @@ # CHECK-NEXT: Size: 8 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 -# CHECK-NEXT: AddressAlignment: 0 +# CHECK-NEXT: AddressAlignment: 2 # CHECK-NEXT: EntrySize: 2 # CHECK-NEXT: } # CHECK-NEXT: Section { @@ -30,7 +30,7 @@ # CHECK-NEXT: Size: 80 # CHECK-NEXT: Link: 5 # CHECK-NEXT: Info: 2 -# CHECK-NEXT: AddressAlignment: 0 +# CHECK-NEXT: AddressAlignment: 4 # CHECK-NEXT: EntrySize: 0 # CHECK-NEXT: } |

