summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj
diff options
context:
space:
mode:
authorMarek Sokolowski <mnbvmar@gmail.com>2017-09-21 20:36:38 +0000
committerMarek Sokolowski <mnbvmar@gmail.com>2017-09-21 20:36:38 +0000
commitb63355ef7736f4169c15e720d3f2dfcd90179323 (patch)
treecab5ffb6d03ccd3b871ba2e704fcbb9b58cb5b35 /llvm/tools/llvm-readobj
parent142e0cf08e35a0d37cf3c9e8a585b4b14f10ad1b (diff)
downloadbcm5719-llvm-b63355ef7736f4169c15e720d3f2dfcd90179323.tar.gz
bcm5719-llvm-b63355ef7736f4169c15e720d3f2dfcd90179323.zip
[llvm-readobj] Fix big-endian byte swap in WindowsResourceDumper.
The previous version of dumper implemented UTF-16 byte swap incorrectly on big-endian machines. This now gets fixed. Thanks to Bill Seurer for testing the patch locally. Differential Review: https://reviews.llvm.org/D38150 llvm-svn: 313912
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r--llvm/tools/llvm-readobj/WindowsResourceDumper.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp b/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp
index a1ca929418f..ac2745fdf3b 100644
--- a/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp
+++ b/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp
@@ -29,7 +29,7 @@ std::string stripUTF16(const ArrayRef<UTF16> &UTF16Str) {
for (UTF16 Ch : UTF16Str) {
// UTF16Str will have swapped byte order in case of big-endian machines.
// Swap it back in such a case.
- support::ulittle16_t ChValue(Ch);
+ uint16_t ChValue = support::endian::byte_swap(Ch, support::little);
if (ChValue <= 0xFF)
Result += ChValue;
else
OpenPOWER on IntegriCloud