Ruiu@ that's quite an involved fixed though just for getting bots green.  I discussed with eric earlier though and i do agree it's the best permanent fix<br><div class="gmail_quote"><div dir="ltr">On Tue, May 9, 2017 at 12:15 PM Ulrich Weigand via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">uweigand added inline comments.<br>
<br>
<br>
================<br>
Comment at: llvm/tools/llvm-readobj/COFFDumper.cpp:1565-1572<br>
+      std::vector<UTF16> EndianCorrectedNameString(RawEntryNameString.size() +<br>
+                                                   1);<br>
+      std::copy(RawEntryNameString.begin(), RawEntryNameString.end(),<br>
+                EndianCorrectedNameString.begin() + 1);<br>
+      EndianCorrectedNameString[0] = 0xFEFF;<br>
       std::string EntryNameString;<br>
+      if (!llvm::convertUTF16ToUTF8String(EndianCorrectedNameString,<br>
----------------<br>
zturner wrote:<br>
> How about this:<br>
><br>
> ```<br>
> ArrayRef<UTF16> RawEntryNameString = unwrapOrError(RSF.getEntryNameString(Entry));<br>
> std::vector<UTF16> EndianCorrectedString;<br>
> if (llvm::sys::IsBigEndianHost) {<br>
>   EndianCorrectedString.resize(RawEntryNameString.size() + 1);<br>
>   std::copy(RawEntryNameString.begin(), RawEntryNameString.end(), EndianCorrectedString.begin() + 1);<br>
>   EndianCorrectedString[0] = UNI_UTF16_BYTE_ORDER_MARK_SWAPPED;<br>
>   RawEntryNameString = makeArrayRef(EndianCorrectedString);<br>
> }<br>
> ```<br>
This does fix the problem for me.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D33014" rel="noreferrer" target="_blank">https://reviews.llvm.org/D33014</a><br>
<br>
<br>
<br>
</blockquote></div>