Skip to content

Commit 16d6044

Browse files
endianness fix
1 parent e86d9b6 commit 16d6044

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,8 @@ ObjectFile *ObjectFileXCOFF::CreateInstance(const lldb::ModuleSP &module_sp,
6767
return nullptr;
6868
data_offset = 0;
6969
}
70-
7170
if (!ObjectFileXCOFF::MagicBytesMatch(data_sp, data_offset, length))
7271
return nullptr;
73-
7472
// Update the data to contain the entire file if it doesn't already
7573
if (data_sp->GetByteSize() < length) {
7674
data_sp = MapFileData(*file, length, file_offset);
@@ -134,6 +132,9 @@ bool ObjectFileXCOFF::MagicBytesMatch(DataBufferSP &data_sp,
134132
data.SetData(data_sp, data_offset, data_length);
135133
lldb::offset_t offset = 0;
136134
uint16_t magic = data.GetU16(&offset);
135+
if (magic == 0xF701)
136+
magic = 0x01F7; /* Since AIX is big endian, and the host checking platform
137+
might be little endian. */
137138
return XCOFFHeaderSizeFromMagic(magic) != 0;
138139
}
139140

0 commit comments

Comments
 (0)