diff options
-rw-r--r-- | ELF/Relocations.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ELF/Relocations.cpp b/ELF/Relocations.cpp index 66493302b..106cc7c9c 100644 --- a/ELF/Relocations.cpp +++ b/ELF/Relocations.cpp @@ -525,11 +525,11 @@ static void scanRelocs(InputSectionBase<ELFT> &C, ArrayRef<RelTy> Rels) { ArrayRef<uint8_t> SectionData = C.getSectionData(); const uint8_t *Buf = SectionData.begin(); - std::vector<SectionPiece>::iterator PieceI; - std::vector<SectionPiece>::iterator PieceE; + SectionPiece *PieceI = nullptr; + SectionPiece *PieceE = nullptr; if (auto *Eh = dyn_cast<EhInputSection<ELFT>>(&C)) { - PieceI = Eh->Pieces.begin(); - PieceE = Eh->Pieces.end(); + PieceI = &*Eh->Pieces.begin(); + PieceE = PieceI + Eh->Pieces.size(); } for (auto I = Rels.begin(), E = Rels.end(); I != E; ++I) { |