aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2016-05-18 09:59:14 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2016-05-18 09:59:14 +0000
commitc819d903e18f27d56cd0ceeae0d915be85bc8f4f (patch)
tree2d5312a2b6cba4b464de0e5ebd7101513663e0e3 /llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
parentb0aa9f2cbeffa160c445423664524f5683c510cb (diff)
downloadllvm-c819d903e18f27d56cd0ceeae0d915be85bc8f4f.zip
llvm-c819d903e18f27d56cd0ceeae0d915be85bc8f4f.tar.gz
llvm-c819d903e18f27d56cd0ceeae0d915be85bc8f4f.tar.bz2
Attempt to fix pdbdump-headers.test on big-endian hosts after r269861.
llvm-svn: 269898
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp')
-rw-r--r--llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
index 9a2b142c..d7e3b60 100644
--- a/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
+++ b/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
@@ -138,10 +138,14 @@ Error PublicsStream::reload() {
// corrupted streams.
// Hash buckets follow.
- HashBuckets.resize(NumBuckets);
- if (auto EC = Reader.readArray<uint32_t>(HashBuckets))
+ std::vector<ulittle32_t> TempHashBuckets;
+ TempHashBuckets.resize(NumBuckets);
+ if (auto EC = Reader.readArray<ulittle32_t>(TempHashBuckets))
return make_error<RawError>(raw_error_code::corrupt_file,
"Hash buckets corrupted.");
+ HashBuckets.resize(NumBuckets);
+ std::copy(TempHashBuckets.begin(), TempHashBuckets.end(),
+ HashBuckets.begin());
// Something called "address map" follows.
AddressMap.resize(Header->AddrMap / sizeof(uint32_t));