Fix narrowing conversion error in 32-bit MSVC builds

Use size_t instead of ELFT::uint for the string table offset. If the
linker is built 32-bit, it can't write an output file larger than 2GB.
Other code in this area uses size_t as well.

llvm-svn: 284680
This commit is contained in:
Reid Kleckner 2016-10-20 00:13:34 +00:00
parent a7ece03b32
commit 2918d0b4b2
2 changed files with 2 additions and 2 deletions

View File

@ -633,7 +633,7 @@ void GnuHashTableSection<ELFT>::addSymbols(std::vector<SymbolTableEntry> &V) {
return;
for (auto I = Mid, E = V.end(); I != E; ++I) {
SymbolBody *B = I->Symbol;
typename ELFT::uint StrOff = I->StrTabOffset;
size_t StrOff = I->StrTabOffset;
Symbols.push_back({B, StrOff, hashGnu(B->getName())});
}

View File

@ -266,7 +266,7 @@ private:
struct SymbolTableEntry {
SymbolBody *Symbol;
std::size_t StrTabOffset;
size_t StrTabOffset;
};
template <class ELFT>