[lld] r323750 - Merging r323243:

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 30 03:21:21 PST 2018


Author: hans
Date: Tue Jan 30 03:21:21 2018
New Revision: 323750

URL: http://llvm.org/viewvc/llvm-project?rev=323750&view=rev
Log:
Merging r323243:
------------------------------------------------------------------------
r323243 | psmith | 2018-01-23 20:26:52 +0100 (Tue, 23 Jan 2018) | 10 lines

[ELF] Make --fix-cortex-a53-843419 work on big endian hosts

The reinterpret cast to uint32_t to read the little-endian instructions 
will only work on a little endian system. Use ulittle32_t to always read
little-endian (AArch64 instructions are always little endian).

Fixes PR36056

Differential Revision: https://reviews.llvm.org/D42421

------------------------------------------------------------------------

Modified:
    lld/branches/release_60/   (props changed)
    lld/branches/release_60/ELF/AArch64ErrataFix.cpp

Propchange: lld/branches/release_60/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 30 03:21:21 2018
@@ -1 +1 @@
-/lld/trunk:321983,321986,322041,322259,322264,322359,322421,322801,323221,323395-323396,323399,323440,323449,323456,323625
+/lld/trunk:321983,321986,322041,322259,322264,322359,322421,322801,323221,323243,323395-323396,323399,323440,323449,323456,323625

Modified: lld/branches/release_60/ELF/AArch64ErrataFix.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/branches/release_60/ELF/AArch64ErrataFix.cpp?rev=323750&r1=323749&r2=323750&view=diff
==============================================================================
--- lld/branches/release_60/ELF/AArch64ErrataFix.cpp (original)
+++ lld/branches/release_60/ELF/AArch64ErrataFix.cpp Tue Jan 30 03:21:21 2018
@@ -47,6 +47,7 @@
 using namespace llvm;
 using namespace llvm::ELF;
 using namespace llvm::object;
+using namespace llvm::support;
 using namespace llvm::support::endian;
 
 using namespace lld;
@@ -357,7 +358,7 @@ static uint64_t scanCortexA53Errata84341
 
   uint64_t PatchOff = 0;
   const uint8_t *Buf = IS->Data.begin();
-  const uint32_t *InstBuf = reinterpret_cast<const uint32_t *>(Buf + Off);
+  const ulittle32_t *InstBuf = reinterpret_cast<const ulittle32_t *>(Buf + Off);
   uint32_t Instr1 = *InstBuf++;
   uint32_t Instr2 = *InstBuf++;
   uint32_t Instr3 = *InstBuf++;




More information about the llvm-commits mailing list