mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-12 14:17:59 +00:00
[llvm-objdump/MachODump] Reduce code duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255380 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fce620f39a
commit
70ed0f67e1
@ -5159,75 +5159,47 @@ static void printObjc2_64bit_MetaData(MachOObjectFile *O, bool verbose) {
|
||||
info.adrp_inst = 0;
|
||||
|
||||
info.depth = 0;
|
||||
const SectionRef CL = get_section(O, "__OBJC2", "__class_list");
|
||||
if (CL != SectionRef()) {
|
||||
info.S = CL;
|
||||
walk_pointer_list_64("class", CL, O, &info, print_class64_t);
|
||||
} else {
|
||||
const SectionRef CL = get_section(O, "__DATA", "__objc_classlist");
|
||||
info.S = CL;
|
||||
walk_pointer_list_64("class", CL, O, &info, print_class64_t);
|
||||
}
|
||||
SectionRef CL = get_section(O, "__OBJC2", "__class_list");
|
||||
if (CL == SectionRef())
|
||||
CL = get_section(O, "__DATA", "__objc_classlist");
|
||||
info.S = CL;
|
||||
walk_pointer_list_64("class", CL, O, &info, print_class64_t);
|
||||
|
||||
const SectionRef CR = get_section(O, "__OBJC2", "__class_refs");
|
||||
if (CR != SectionRef()) {
|
||||
info.S = CR;
|
||||
walk_pointer_list_64("class refs", CR, O, &info, nullptr);
|
||||
} else {
|
||||
const SectionRef CR = get_section(O, "__DATA", "__objc_classrefs");
|
||||
info.S = CR;
|
||||
walk_pointer_list_64("class refs", CR, O, &info, nullptr);
|
||||
}
|
||||
SectionRef CR = get_section(O, "__OBJC2", "__class_refs");
|
||||
if (CR == SectionRef())
|
||||
CR = get_section(O, "__DATA", "__objc_classrefs");
|
||||
info.S = CR;
|
||||
walk_pointer_list_64("class refs", CR, O, &info, nullptr);
|
||||
|
||||
const SectionRef SR = get_section(O, "__OBJC2", "__super_refs");
|
||||
if (SR != SectionRef()) {
|
||||
info.S = SR;
|
||||
walk_pointer_list_64("super refs", SR, O, &info, nullptr);
|
||||
} else {
|
||||
const SectionRef SR = get_section(O, "__DATA", "__objc_superrefs");
|
||||
info.S = SR;
|
||||
walk_pointer_list_64("super refs", SR, O, &info, nullptr);
|
||||
}
|
||||
SectionRef SR = get_section(O, "__OBJC2", "__super_refs");
|
||||
if (SR == SectionRef())
|
||||
SR = get_section(O, "__DATA", "__objc_superrefs");
|
||||
info.S = SR;
|
||||
walk_pointer_list_64("super refs", SR, O, &info, nullptr);
|
||||
|
||||
const SectionRef CA = get_section(O, "__OBJC2", "__category_list");
|
||||
if (CA != SectionRef()) {
|
||||
info.S = CA;
|
||||
walk_pointer_list_64("category", CA, O, &info, print_category64_t);
|
||||
} else {
|
||||
const SectionRef CA = get_section(O, "__DATA", "__objc_catlist");
|
||||
info.S = CA;
|
||||
walk_pointer_list_64("category", CA, O, &info, print_category64_t);
|
||||
}
|
||||
SectionRef CA = get_section(O, "__OBJC2", "__category_list");
|
||||
if (CA == SectionRef())
|
||||
CA = get_section(O, "__DATA", "__objc_catlist");
|
||||
info.S = CA;
|
||||
walk_pointer_list_64("category", CA, O, &info, print_category64_t);
|
||||
|
||||
const SectionRef PL = get_section(O, "__OBJC2", "__protocol_list");
|
||||
if (PL != SectionRef()) {
|
||||
info.S = PL;
|
||||
walk_pointer_list_64("protocol", PL, O, &info, nullptr);
|
||||
} else {
|
||||
const SectionRef PL = get_section(O, "__DATA", "__objc_protolist");
|
||||
info.S = PL;
|
||||
walk_pointer_list_64("protocol", PL, O, &info, nullptr);
|
||||
}
|
||||
SectionRef PL = get_section(O, "__OBJC2", "__protocol_list");
|
||||
if (PL == SectionRef())
|
||||
PL = get_section(O, "__DATA", "__objc_protolist");
|
||||
info.S = PL;
|
||||
walk_pointer_list_64("protocol", PL, O, &info, nullptr);
|
||||
|
||||
const SectionRef MR = get_section(O, "__OBJC2", "__message_refs");
|
||||
if (MR != SectionRef()) {
|
||||
info.S = MR;
|
||||
print_message_refs64(MR, &info);
|
||||
} else {
|
||||
const SectionRef MR = get_section(O, "__DATA", "__objc_msgrefs");
|
||||
info.S = MR;
|
||||
print_message_refs64(MR, &info);
|
||||
}
|
||||
SectionRef MR = get_section(O, "__OBJC2", "__message_refs");
|
||||
if (MR == SectionRef())
|
||||
MR = get_section(O, "__DATA", "__objc_msgrefs");
|
||||
info.S = MR;
|
||||
print_message_refs64(MR, &info);
|
||||
|
||||
const SectionRef II = get_section(O, "__OBJC2", "__image_info");
|
||||
if (II != SectionRef()) {
|
||||
info.S = II;
|
||||
print_image_info64(II, &info);
|
||||
} else {
|
||||
const SectionRef II = get_section(O, "__DATA", "__objc_imageinfo");
|
||||
info.S = II;
|
||||
print_image_info64(II, &info);
|
||||
}
|
||||
SectionRef II = get_section(O, "__OBJC2", "__image_info");
|
||||
if (II == SectionRef())
|
||||
II = get_section(O, "__DATA", "__objc_imageinfo");
|
||||
info.S = II;
|
||||
print_image_info64(II, &info);
|
||||
|
||||
if (info.bindtable != nullptr)
|
||||
delete info.bindtable;
|
||||
|
Loading…
Reference in New Issue
Block a user