summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/OutputSections.cpp8
-rw-r--r--lld/test/ELF/verneed.s4
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: }
OpenPOWER on IntegriCloud