mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-13 23:25:06 +00:00
Template the MachO types over endianness.
For now they are still only used as little endian. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179147 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -127,8 +127,8 @@ MachOObjectFileBase::getSymbolTableEntryBase(DataRefImpl DRI,
|
||||
unsigned Index = DRI.d.b;
|
||||
|
||||
unsigned SymbolTableEntrySize = is64Bit() ?
|
||||
sizeof(MachOFormat::SymbolTableEntry<true>) :
|
||||
sizeof(MachOFormat::SymbolTableEntry<false>);
|
||||
sizeof(MachOObjectFile<true>::SymbolTableEntry) :
|
||||
sizeof(MachOObjectFile<false>::SymbolTableEntry);
|
||||
|
||||
uint64_t Offset = SymbolTableOffset + Index * SymbolTableEntrySize;
|
||||
StringRef Data = getData(Offset, SymbolTableEntrySize);
|
||||
@@ -314,10 +314,10 @@ MachOObjectFileBase::getSectionBase(DataRefImpl DRI) const {
|
||||
|
||||
bool Is64 = is64Bit();
|
||||
unsigned SegmentLoadSize =
|
||||
Is64 ? sizeof(MachOFormat::SegmentLoadCommand<true>) :
|
||||
sizeof(MachOFormat::SegmentLoadCommand<false>);
|
||||
unsigned SectionSize = Is64 ? sizeof(MachOFormat::Section<true>) :
|
||||
sizeof(MachOFormat::Section<false>);
|
||||
Is64 ? sizeof(MachOObjectFile<true>::SegmentLoadCommand) :
|
||||
sizeof(MachOObjectFile<false>::SegmentLoadCommand);
|
||||
unsigned SectionSize = Is64 ? sizeof(MachOObjectFile<true>::Section) :
|
||||
sizeof(MachOObjectFile<false>::Section);
|
||||
|
||||
uintptr_t SectionAddr = CommandAddr + SegmentLoadSize + DRI.d.b * SectionSize;
|
||||
return reinterpret_cast<const SectionBase*>(SectionAddr);
|
||||
|
Reference in New Issue
Block a user