forked from OSchip/llvm-project
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:
parent
a7ece03b32
commit
2918d0b4b2
|
|
@ -633,7 +633,7 @@ void GnuHashTableSection<ELFT>::addSymbols(std::vector<SymbolTableEntry> &V) {
|
||||||
return;
|
return;
|
||||||
for (auto I = Mid, E = V.end(); I != E; ++I) {
|
for (auto I = Mid, E = V.end(); I != E; ++I) {
|
||||||
SymbolBody *B = I->Symbol;
|
SymbolBody *B = I->Symbol;
|
||||||
typename ELFT::uint StrOff = I->StrTabOffset;
|
size_t StrOff = I->StrTabOffset;
|
||||||
Symbols.push_back({B, StrOff, hashGnu(B->getName())});
|
Symbols.push_back({B, StrOff, hashGnu(B->getName())});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -266,7 +266,7 @@ private:
|
||||||
|
|
||||||
struct SymbolTableEntry {
|
struct SymbolTableEntry {
|
||||||
SymbolBody *Symbol;
|
SymbolBody *Symbol;
|
||||||
std::size_t StrTabOffset;
|
size_t StrTabOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class ELFT>
|
template <class ELFT>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue