mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Refactor the RelocVisitor::visit method
This change replaces the brittle if/else chain of string comparisons with a switch statement on the detected target triple, removing the need for testing arbitrary architecture names returned from getFileFormatName, whose primary purpose seems to be for display (user-interface) purposes. The visitor now takes a reference to the object file, rather than its arbitrary file format name to figure out whether the file is a 32 or 64-bit object file and what the detected target triple is. A set of tests have been added to help show that the refactoring processes relocations for the same targets as the original code. Patch by Charlie Turner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -924,6 +924,8 @@ unsigned ELFObjectFile<ELFT>::getArch() const {
|
||||
default:
|
||||
report_fatal_error("Invalid ELFCLASS!");
|
||||
}
|
||||
case ELF::EM_PPC:
|
||||
return Triple::ppc;
|
||||
case ELF::EM_PPC64:
|
||||
return IsLittleEndian ? Triple::ppc64le : Triple::ppc64;
|
||||
case ELF::EM_S390:
|
||||
|
Reference in New Issue
Block a user