mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
At Jim Grosbach's request detemplate Object/MachO.h.
We are still able to handle mixed endian objects by swapping one struct at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179778 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -191,14 +191,6 @@ bool llvm::RelocAddressLess(RelocationRef a, RelocationRef b) {
|
||||
return a_addr < b_addr;
|
||||
}
|
||||
|
||||
StringRef
|
||||
getSectionFinalSegmentName(const MachOObjectFileBase *MachO, DataRefImpl DR) {
|
||||
if (const MachOObjectFileLE *O = dyn_cast<MachOObjectFileLE>(MachO))
|
||||
return O->getSectionFinalSegmentName(DR);
|
||||
const MachOObjectFileBE *O = dyn_cast<MachOObjectFileBE>(MachO);
|
||||
return O->getSectionFinalSegmentName(DR);
|
||||
}
|
||||
|
||||
static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
|
||||
const Target *TheTarget = getTarget(Obj);
|
||||
// getTarget() will have already issued a diagnostic if necessary, so
|
||||
@ -263,10 +255,10 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
|
||||
std::sort(Rels.begin(), Rels.end(), RelocAddressLess);
|
||||
|
||||
StringRef SegmentName = "";
|
||||
if (const MachOObjectFileBase *MachO =
|
||||
dyn_cast<const MachOObjectFileBase>(Obj)) {
|
||||
if (const MachOObjectFile *MachO =
|
||||
dyn_cast<const MachOObjectFile>(Obj)) {
|
||||
DataRefImpl DR = i->getRawDataRefImpl();
|
||||
SegmentName = getSectionFinalSegmentName(MachO, DR);
|
||||
SegmentName = MachO->getSectionFinalSegmentName(DR);
|
||||
}
|
||||
StringRef name;
|
||||
if (error(i->getName(name))) break;
|
||||
@ -608,10 +600,10 @@ static void PrintSymbolTable(const ObjectFile *o) {
|
||||
else if (Section == o->end_sections())
|
||||
outs() << "*UND*";
|
||||
else {
|
||||
if (const MachOObjectFileBase *MachO =
|
||||
dyn_cast<const MachOObjectFileBase>(o)) {
|
||||
if (const MachOObjectFile *MachO =
|
||||
dyn_cast<const MachOObjectFile>(o)) {
|
||||
DataRefImpl DR = Section->getRawDataRefImpl();
|
||||
StringRef SegmentName = getSectionFinalSegmentName(MachO, DR);
|
||||
StringRef SegmentName = MachO->getSectionFinalSegmentName(DR);
|
||||
outs() << SegmentName << ",";
|
||||
}
|
||||
StringRef SectionName;
|
||||
|
Reference in New Issue
Block a user