diff --git a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h --- a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h +++ b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h @@ -9,11 +9,11 @@ #ifndef LLDB_SOURCE_PLUGINS_ABI_X86_ABIMACOSX_I386_H #define LLDB_SOURCE_PLUGINS_ABI_X86_ABIMACOSX_I386_H -#include "Plugins/ABI/X86/ABIX86.h" +#include "Plugins/ABI/X86/ABIX86_i386.h" #include "lldb/Core/Value.h" #include "lldb/lldb-private.h" -class ABIMacOSX_i386 : public ABIX86 { +class ABIMacOSX_i386 : public ABIX86_i386 { public: ~ABIMacOSX_i386() override = default; @@ -92,7 +92,7 @@ } private: - using ABIX86::ABIX86; // Call CreateInstance instead. + using ABIX86_i386::ABIX86_i386; // Call CreateInstance instead. }; #endif // LLDB_SOURCE_PLUGINS_ABI_X86_ABIMACOSX_I386_H diff --git a/lldb/source/Plugins/ABI/X86/ABISysV_i386.h b/lldb/source/Plugins/ABI/X86/ABISysV_i386.h --- a/lldb/source/Plugins/ABI/X86/ABISysV_i386.h +++ b/lldb/source/Plugins/ABI/X86/ABISysV_i386.h @@ -9,10 +9,10 @@ #ifndef LLDB_SOURCE_PLUGINS_ABI_X86_ABISYSV_I386_H #define LLDB_SOURCE_PLUGINS_ABI_X86_ABISYSV_I386_H -#include "Plugins/ABI/X86/ABIX86.h" +#include "Plugins/ABI/X86/ABIX86_i386.h" #include "lldb/lldb-private.h" -class ABISysV_i386 : public ABIX86 { +class ABISysV_i386 : public ABIX86_i386 { public: ~ABISysV_i386() override = default; @@ -95,7 +95,7 @@ bool RegisterIsCalleeSaved(const lldb_private::RegisterInfo *reg_info); private: - using ABIX86::ABIX86; // Call CreateInstance instead. + using ABIX86_i386::ABIX86_i386; // Call CreateInstance instead. }; #endif // LLDB_SOURCE_PLUGINS_ABI_X86_ABISYSV_I386_H diff --git a/lldb/source/Plugins/ABI/X86/ABIX86.h b/lldb/source/Plugins/ABI/X86/ABIX86.h --- a/lldb/source/Plugins/ABI/X86/ABIX86.h +++ b/lldb/source/Plugins/ABI/X86/ABIX86.h @@ -1,4 +1,4 @@ -//===-- X86.h ---------------------------------------------------*- C++ -*-===// +//===-- ABIX86.h ------------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -10,15 +10,15 @@ #define LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_H #include "lldb/Target/ABI.h" +#include "lldb/lldb-private.h" class ABIX86 : public lldb_private::MCBasedABI { public: static void Initialize(); static void Terminate(); - uint32_t GetGenericNum(llvm::StringRef name) override; - private: using lldb_private::MCBasedABI::MCBasedABI; }; + #endif diff --git a/lldb/source/Plugins/ABI/X86/ABIX86.cpp b/lldb/source/Plugins/ABI/X86/ABIX86.cpp --- a/lldb/source/Plugins/ABI/X86/ABIX86.cpp +++ b/lldb/source/Plugins/ABI/X86/ABIX86.cpp @@ -1,4 +1,4 @@ -//===-- X86.h -------------------------------------------------------------===// +//===-- ABIX86.cpp --------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -28,16 +28,3 @@ ABISysV_x86_64::Terminate(); ABIWindows_x86_64::Terminate(); } - -uint32_t ABIX86::GetGenericNum(llvm::StringRef name) { - return llvm::StringSwitch(name) - .Case("eip", LLDB_REGNUM_GENERIC_PC) - .Case("esp", LLDB_REGNUM_GENERIC_SP) - .Case("ebp", LLDB_REGNUM_GENERIC_FP) - .Case("eflags", LLDB_REGNUM_GENERIC_FLAGS) - .Case("edi", LLDB_REGNUM_GENERIC_ARG1) - .Case("esi", LLDB_REGNUM_GENERIC_ARG2) - .Case("edx", LLDB_REGNUM_GENERIC_ARG3) - .Case("ecx", LLDB_REGNUM_GENERIC_ARG4) - .Default(LLDB_INVALID_REGNUM); -} diff --git a/lldb/source/Plugins/ABI/X86/ABIX86_64.h b/lldb/source/Plugins/ABI/X86/ABIX86_64.h --- a/lldb/source/Plugins/ABI/X86/ABIX86_64.h +++ b/lldb/source/Plugins/ABI/X86/ABIX86_64.h @@ -9,10 +9,12 @@ #ifndef LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_64_H #define LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_64_H -#include "lldb/Target/ABI.h" -#include "lldb/lldb-private.h" +#include "Plugins/ABI/X86/ABIX86.h" + +class ABIX86_64 : public ABIX86 { +public: + uint32_t GetGenericNum(llvm::StringRef name) override; -class ABIX86_64 : public lldb_private::MCBasedABI { protected: std::string GetMCName(std::string name) override { MapRegisterName(name, "stmm", "st"); @@ -20,7 +22,7 @@ } private: - using lldb_private::MCBasedABI::MCBasedABI; + using ABIX86::ABIX86; }; #endif // LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_64_H diff --git a/lldb/source/Plugins/ABI/X86/ABIX86.h b/lldb/source/Plugins/ABI/X86/ABIX86_i386.h copy from lldb/source/Plugins/ABI/X86/ABIX86.h copy to lldb/source/Plugins/ABI/X86/ABIX86_i386.h --- a/lldb/source/Plugins/ABI/X86/ABIX86.h +++ b/lldb/source/Plugins/ABI/X86/ABIX86_i386.h @@ -1,4 +1,4 @@ -//===-- X86.h ---------------------------------------------------*- C++ -*-===// +//===-- ABIX86_i386.h -------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -6,19 +6,17 @@ // //===----------------------------------------------------------------------===// -#ifndef LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_H -#define LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_H +#ifndef LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_I386_H +#define LLDB_SOURCE_PLUGINS_ABI_X86_ABIX86_I386_H -#include "lldb/Target/ABI.h" +#include "Plugins/ABI/X86/ABIX86.h" -class ABIX86 : public lldb_private::MCBasedABI { +class ABIX86_i386 : public ABIX86 { public: - static void Initialize(); - static void Terminate(); - uint32_t GetGenericNum(llvm::StringRef name) override; private: - using lldb_private::MCBasedABI::MCBasedABI; + using ABIX86::ABIX86; }; + #endif diff --git a/lldb/source/Plugins/ABI/X86/ABIX86.cpp b/lldb/source/Plugins/ABI/X86/ABIX86_i386.cpp copy from lldb/source/Plugins/ABI/X86/ABIX86.cpp copy to lldb/source/Plugins/ABI/X86/ABIX86_i386.cpp --- a/lldb/source/Plugins/ABI/X86/ABIX86.cpp +++ b/lldb/source/Plugins/ABI/X86/ABIX86_i386.cpp @@ -1,4 +1,4 @@ -//===-- X86.h -------------------------------------------------------------===// +//===-- ABIX86_i386.cpp ---------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -6,30 +6,9 @@ // //===----------------------------------------------------------------------===// -#include "ABIX86.h" -#include "ABIMacOSX_i386.h" -#include "ABISysV_i386.h" -#include "ABISysV_x86_64.h" -#include "ABIWindows_x86_64.h" -#include "lldb/Core/PluginManager.h" +#include "ABIX86_i386.h" -LLDB_PLUGIN_DEFINE(ABIX86) - -void ABIX86::Initialize() { - ABIMacOSX_i386::Initialize(); - ABISysV_i386::Initialize(); - ABISysV_x86_64::Initialize(); - ABIWindows_x86_64::Initialize(); -} - -void ABIX86::Terminate() { - ABIMacOSX_i386::Terminate(); - ABISysV_i386::Terminate(); - ABISysV_x86_64::Terminate(); - ABIWindows_x86_64::Terminate(); -} - -uint32_t ABIX86::GetGenericNum(llvm::StringRef name) { +uint32_t ABIX86_i386::GetGenericNum(llvm::StringRef name) { return llvm::StringSwitch(name) .Case("eip", LLDB_REGNUM_GENERIC_PC) .Case("esp", LLDB_REGNUM_GENERIC_SP) diff --git a/lldb/source/Plugins/ABI/X86/CMakeLists.txt b/lldb/source/Plugins/ABI/X86/CMakeLists.txt --- a/lldb/source/Plugins/ABI/X86/CMakeLists.txt +++ b/lldb/source/Plugins/ABI/X86/CMakeLists.txt @@ -1,5 +1,6 @@ add_lldb_library(lldbPluginABIX86 PLUGIN ABIX86.cpp + ABIX86_i386.cpp ABIMacOSX_i386.cpp ABISysV_i386.cpp ABISysV_x86_64.cpp