Delete GotPltIndex.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 26 Apr 2018 16:09:30 +0000 (16:09 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 26 Apr 2018 16:09:30 +0000 (16:09 +0000)
It was always an offset of PltIndex.

This doesn't reduce the size of the structures, but makes it easier to
do so in a followup patch.

llvm-svn: 330953

lld/ELF/Symbols.cpp
lld/ELF/Symbols.h
lld/ELF/SyntheticSections.cpp

index 474cc1f..4c5878b 100644 (file)
@@ -132,7 +132,9 @@ uint64_t Symbol::getGotPltVA() const {
 }
 
 uint64_t Symbol::getGotPltOffset() const {
-  return GotPltIndex * Target->GotPltEntrySize;
+  if (IsInIgot)
+    return PltIndex * Target->GotPltEntrySize;
+  return (PltIndex + Target->GotPltHeaderEntriesNum) * Target->GotPltEntrySize;
 }
 
 uint64_t Symbol::getPltVA() const {
index 78391fc..51925aa 100644 (file)
@@ -69,7 +69,6 @@ protected:
 public:
   uint32_t DynsymIndex = 0;
   uint32_t GotIndex = -1;
-  uint32_t GotPltIndex = -1;
   uint32_t PltIndex = -1;
   uint32_t GlobalDynIndex = -1;
 
index 08c9142..6102e5f 100644 (file)
@@ -887,7 +887,7 @@ GotPltSection::GotPltSection()
                        Target->GotPltEntrySize, ".got.plt") {}
 
 void GotPltSection::addEntry(Symbol &Sym) {
-  Sym.GotPltIndex = Target->GotPltHeaderEntriesNum + Entries.size();
+  assert(Sym.PltIndex == Entries.size());
   Entries.push_back(&Sym);
 }
 
@@ -922,7 +922,7 @@ IgotPltSection::IgotPltSection()
 
 void IgotPltSection::addEntry(Symbol &Sym) {
   Sym.IsInIgot = true;
-  Sym.GotPltIndex = Entries.size();
+  assert(Sym.PltIndex == Entries.size());
   Entries.push_back(&Sym);
 }