[Lldb-commits] [PATCH] D74138: [lldb] Group ABI plugins

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Feb 6 08:50:38 PST 2020


labath created this revision.
labath added reviewers: JDevlieghere, jasonmolenda.
Herald added subscribers: jsji, atanasyan, jrtc27, kbarton, fedor.sergeev, kristof.beyls, mgorny, nemanjai, sdardis.
Herald added a reviewer: jfb.
Herald added a project: LLDB.

There's a fair amount of code duplication between the different ABI plugins for
the same architecture (e.g. ABIMacOSX_arm & ABISysV_arm). Deduplicating this
code is not very easy at the moment because there is no good place where to put
the common code.

Instead of creating more plugins, this patch reduces their number by grouping
similar plugins into a single folder/plugin. This makes it easy to extract
common code to a (e.g.) base class, which can then live in the same folder.

The grouping is done based on the underlying llvm target for that architecture,
because the plugins already require this for their operation.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74138

Files:
  lldb/source/API/SystemInitializerFull.cpp
  lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
  lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
  lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
  lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
  lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
  lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
  lldb/source/Plugins/ABI/ARC/ABISysV_arc.h
  lldb/source/Plugins/ABI/ARC/CMakeLists.txt
  lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
  lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
  lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
  lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
  lldb/source/Plugins/ABI/ARM/CMakeLists.txt
  lldb/source/Plugins/ABI/CMakeLists.txt
  lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
  lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.h
  lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
  lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  lldb/source/Plugins/ABI/MacOSX-arm/CMakeLists.txt
  lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
  lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h
  lldb/source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt
  lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  lldb/source/Plugins/ABI/MacOSX-i386/CMakeLists.txt
  lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
  lldb/source/Plugins/ABI/Mips/ABISysV_mips.h
  lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
  lldb/source/Plugins/ABI/Mips/ABISysV_mips64.h
  lldb/source/Plugins/ABI/Mips/CMakeLists.txt
  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.h
  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.h
  lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-arc/ABISysV_arc.cpp
  lldb/source/Plugins/ABI/SysV-arc/ABISysV_arc.h
  lldb/source/Plugins/ABI/SysV-arc/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp
  lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h
  lldb/source/Plugins/ABI/SysV-arm/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
  lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h
  lldb/source/Plugins/ABI/SysV-arm64/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp
  lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h
  lldb/source/Plugins/ABI/SysV-hexagon/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
  lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h
  lldb/source/Plugins/ABI/SysV-i386/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp
  lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h
  lldb/source/Plugins/ABI/SysV-mips/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp
  lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h
  lldb/source/Plugins/ABI/SysV-mips64/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
  lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h
  lldb/source/Plugins/ABI/SysV-ppc/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
  lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h
  lldb/source/Plugins/ABI/SysV-ppc64/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp
  lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h
  lldb/source/Plugins/ABI/SysV-s390x/CMakeLists.txt
  lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  lldb/source/Plugins/ABI/SysV-x86_64/CMakeLists.txt
  lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
  lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.h
  lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
  lldb/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.cpp
  lldb/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.h
  lldb/source/Plugins/ABI/Windows-x86_64/CMakeLists.txt
  lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
  lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
  lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
  lldb/source/Plugins/ABI/X86/ABISysV_i386.h
  lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
  lldb/source/Plugins/ABI/X86/ABISysV_x86_64.h
  lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
  lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
  lldb/source/Plugins/ABI/X86/CMakeLists.txt
  lldb/tools/lldb-test/SystemInitializerTest.cpp





More information about the lldb-commits mailing list