mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[DebugInfo][test] Attempt to fix big endian build bots
Commit 9782c922c broke them since it prints raw bytes, whose order will be different dependent on the endianness of the host.
This commit is contained in:
parent
f6700f3e2e
commit
32f8985d4a
@ -1443,6 +1443,21 @@ struct TruncatedExtendedOpcodeFixture
|
||||
void SetUp() {
|
||||
std::tie(BodyLength, OpcodeLength, Opcode, Operands, ExpectedOutput,
|
||||
ExpectedErr) = GetParam();
|
||||
// Swap the byte order of the operands on big endian hosts, so that the raw
|
||||
// bytes are always in the same order. ValLen.Value is a uint64_t, so make
|
||||
// sure to shift the value back to the actually used bits for the
|
||||
// appropriate type.
|
||||
if (sys::IsBigEndianHost)
|
||||
for (LineTable::ValueAndLength &ValLen : Operands)
|
||||
if (ValLen.Length != LineTable::SLEB &&
|
||||
ValLen.Length != LineTable::ULEB &&
|
||||
ValLen.Length != LineTable::Byte) {
|
||||
sys::swapByteOrder(ValLen.Value);
|
||||
if (ValLen.Length == LineTable::Long)
|
||||
ValLen.Value >>= 32;
|
||||
if (ValLen.Length == LineTable::Half)
|
||||
ValLen.Value >>= 48;
|
||||
}
|
||||
}
|
||||
|
||||
uint64_t OpcodeLength;
|
||||
|
Loading…
Reference in New Issue
Block a user