Index: llvm/lib/Object/WindowsResource.cpp =================================================================== --- llvm/lib/Object/WindowsResource.cpp +++ llvm/lib/Object/WindowsResource.cpp @@ -692,10 +692,8 @@ // Now write the directory string table for .rsrc$01 uint32_t TotalStringTableSize = 0; for (auto String : StringTable) { - auto *LengthField = - reinterpret_cast(BufferStart + CurrentOffset); uint16_t Length = String.size(); - *LengthField = Length; + support::endian::write16le(BufferStart + CurrentOffset, Length); CurrentOffset += sizeof(uint16_t); auto *Start = reinterpret_cast(BufferStart + CurrentOffset); std::copy(String.begin(), String.end(), Start);