diff options
author | Marek Sokolowski <mnbvmar@gmail.com> | 2017-09-21 20:36:38 +0000 |
---|---|---|
committer | Marek Sokolowski <mnbvmar@gmail.com> | 2017-09-21 20:36:38 +0000 |
commit | b63355ef7736f4169c15e720d3f2dfcd90179323 (patch) | |
tree | cab5ffb6d03ccd3b871ba2e704fcbb9b58cb5b35 /llvm/tools/llvm-readobj | |
parent | 142e0cf08e35a0d37cf3c9e8a585b4b14f10ad1b (diff) | |
download | bcm5719-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.cpp | 2 |
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 |