[Lldb-commits] [lldb] r361210 - lldb-server: LLGS: support 32-bit on 64-bit hosts

Saleem Abdulrasool via lldb-commits lldb-commits at lists.llvm.org
Mon May 20 18:25:49 PDT 2019


Author: compnerd
Date: Mon May 20 18:25:48 2019
New Revision: 361210

URL: http://llvm.org/viewvc/llvm-project?rev=361210&view=rev
Log:
lldb-server: LLGS: support 32-bit on 64-bit hosts

Enable the ARM emulation support on AArch64 which can execute ARM32
code. Similarly, handle MIPS 32 on 64.

Modified:
    lldb/trunk/tools/lldb-server/SystemInitializerLLGS.cpp

Modified: lldb/trunk/tools/lldb-server/SystemInitializerLLGS.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/SystemInitializerLLGS.cpp?rev=361210&r1=361209&r2=361210&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/SystemInitializerLLGS.cpp (original)
+++ lldb/trunk/tools/lldb-server/SystemInitializerLLGS.cpp Mon May 20 18:25:48 2019
@@ -19,15 +19,14 @@ using HostObjectFile = ObjectFilePECOFF;
 using HostObjectFile = ObjectFileELF;
 #endif
 
-#if defined(__arm__) || defined(__arm) || defined(_ARM) || defined(_M_ARM)
-#define LLDB_TARGET_ARM
-#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
+#if defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
+#define LLDB_TARGET_ARM64
 #endif
 
-#if defined(__mips__) || defined(mips) || defined(__mips) ||                   \
-    defined(__MIPS__) || defined(_M_MIPS)
-#define LLDB_TARGET_MIPS
-#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
+#if defined(__arm__) || defined(__arm) || defined(_ARM) || defined(_M_ARM) ||  \
+    defined(LLDB_TARGET_ARM64)
+#define LLDB_TARGET_ARM
+#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
 #endif
 
 #if defined(__mips64__) || defined(mips64) || defined(__mips64) ||             \
@@ -36,6 +35,12 @@ using HostObjectFile = ObjectFileELF;
 #include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
 #endif
 
+#if defined(__mips__) || defined(mips) || defined(__mips) ||                   \
+    defined(__MIPS__) || defined(_M_MIPS) || defined(LLDB_TARGET_MIPS64)
+#define LLDB_TARGET_MIPS
+#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
+#endif
+
 using namespace lldb_private;
 
 llvm::Error SystemInitializerLLGS::Initialize() {
@@ -44,10 +49,10 @@ llvm::Error SystemInitializerLLGS::Initi
 
   HostObjectFile::Initialize();
 
-#if defined(LLDB_TARGET_ARM)
+#if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64)
   EmulateInstructionARM::Initialize();
 #endif
-#if defined(LLDB_TARGET_MIPS)
+#if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64)
   EmulateInstructionMIPS::Initialize();
 #endif
 #if defined(LLDB_TARGET_MIPS64)
@@ -60,10 +65,10 @@ llvm::Error SystemInitializerLLGS::Initi
 void SystemInitializerLLGS::Terminate() {
   HostObjectFile::Terminate();
 
-#if defined(LLDB_TARGET_ARM)
+#if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64)
   EmulateInstructionARM::Terminate();
 #endif
-#if defined(LLDB_TARGET_MIPS)
+#if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64)
   EmulateInstructionMIPS::Terminate();
 #endif
 #if defined(LLDB_TARGET_MIPS64)




More information about the lldb-commits mailing list