diff options
| author | Charles Davis <cdavis5x@gmail.com> | 2013-08-27 05:04:33 +0000 |
|---|---|---|
| committer | Charles Davis <cdavis5x@gmail.com> | 2013-08-27 05:04:33 +0000 |
| commit | 237ad9741a9b70dc984a4adecd85f68510263995 (patch) | |
| tree | dfcd36de4ede68ce76d1922a28af2a7c89e51891 /lldb/source/Core/ArchSpec.cpp | |
| parent | 0c6f71b40d086c9f7a1d62209a8e3a54cf966cb5 (diff) | |
| download | bcm5719-llvm-237ad9741a9b70dc984a4adecd85f68510263995.tar.gz bcm5719-llvm-237ad9741a9b70dc984a4adecd85f68510263995.zip | |
Plugins/ObjectFile/PECOFF: Use enums from LLVM, and don't use Mach-O definitions.
Since I renamed most of the LLVM Mach-O enums in r189314, I had to go fix
LLDB to use the new names. While I was here, I decided that a COFF
plugin really shouldn't be using Mach-O enums.
llvm-svn: 189316
Diffstat (limited to 'lldb/source/Core/ArchSpec.cpp')
| -rw-r--r-- | lldb/source/Core/ArchSpec.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lldb/source/Core/ArchSpec.cpp b/lldb/source/Core/ArchSpec.cpp index 27d62c358bb..f2e0df0bdb8 100644 --- a/lldb/source/Core/ArchSpec.cpp +++ b/lldb/source/Core/ArchSpec.cpp @@ -14,6 +14,7 @@ #include <string> +#include "llvm/Support/COFF.h" #include "llvm/Support/ELF.h" #include "llvm/Support/Host.h" #include "llvm/Support/MachO.h" @@ -238,11 +239,30 @@ static const ArchDefinition g_elf_arch_def = { "elf", }; +static const ArchDefinitionEntry g_coff_arch_entries[] = +{ + { ArchSpec::eCore_x86_32_i386 , llvm::COFF::IMAGE_FILE_MACHINE_I386 , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // Intel 80386 + { ArchSpec::eCore_ppc_generic , llvm::COFF::IMAGE_FILE_MACHINE_POWERPC , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // PowerPC + { ArchSpec::eCore_ppc_generic , llvm::COFF::IMAGE_FILE_MACHINE_POWERPCFP, LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // PowerPC (with FPU) + { ArchSpec::eCore_arm_generic , llvm::COFF::IMAGE_FILE_MACHINE_ARM , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // ARM + { ArchSpec::eCore_arm_armv7 , llvm::COFF::IMAGE_FILE_MACHINE_ARMV7 , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // ARMv7 + { ArchSpec::eCore_thumb , llvm::COFF::IMAGE_FILE_MACHINE_THUMB , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu }, // ARMv7 + { ArchSpec::eCore_x86_64_x86_64, llvm::COFF::IMAGE_FILE_MACHINE_AMD64 , LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu, 0xFFFFFFFFu } // AMD64 +}; + +static const ArchDefinition g_coff_arch_def = { + eArchTypeCOFF, + sizeof(g_coff_arch_entries)/sizeof(g_coff_arch_entries[0]), + g_coff_arch_entries, + "pe-coff", +}; + //===----------------------------------------------------------------------===// // Table of all ArchDefinitions static const ArchDefinition *g_arch_definitions[] = { &g_macho_arch_def, - &g_elf_arch_def + &g_elf_arch_def, + &g_coff_arch_def }; static const size_t k_num_arch_definitions = |

