Fix llvm-readobj tests on big endian hosts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179298 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-04-11 17:23:23 +00:00
parent 4edf092787
commit 6b281800d2

View File

@ -112,11 +112,18 @@ namespace MachOFormat {
MachOInt32 Reserved3;
};
struct MachOInt24 {
uint8_t bytes[3];
operator uint32_t() const {
return (bytes[2] << 24) | (bytes[1] << 16) | bytes[0];
}
};
template<endianness TargetEndianness>
struct RelocationEntry {
LLVM_MACHOB_IMPORT_TYPES(TargetEndianness)
MachOInt32 Address;
unsigned SymbolNum : 24;
MachOInt24 SymbolNum;
unsigned PCRel : 1;
unsigned Length : 2;
unsigned External : 1;