tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH 0/7] LLDB import to src



Hi,

During the last year I've been contracted by the NetBSD Foundation
to improve NetBSD support in LLDB.  As a conclusion of that work,
I'd like to import LLDB (along with my patches) into src.

This patch series imports LLDB as of the commit matching our LLVM
and Clang (as necessary for API compatibility), backports important
patches improving NetBSD support and adds Makefiles to build it.

This is my first major work using NetBSD Makefiles, so I suspect there
will be still some work to do.  I've decided to introduce MKLLDB
variable to control building it for now.

The build is currently purely using static libraries.  However, I think
we should switch to building and using liblldb.so long-term as upstream
expects us to.  This will require building LLVM and Clang with -fPIC,
and it will then probably make sense to build libLLVM.so
and libclang-cpp.so as well.

(note that I've stripped file lists of dist/ entries to reduce mail
sizes)


Best regards,
Michał Górny


Michał Górny (7):
  Import LLDB rev 01f3a59fb3e2542fce74c768718f594d0debd0da
  Backport multiple fixes to LLDB needed for NetBSD
  Fix file list in libLLVMExecutionEngineJITLink
  Implement Makefiles for building lldb and lldb-server
  Hackaround lldb-server path detection
  Enable libedit support
  Enable curses

 distrib/sets/lists/comp/mi                    |     4 +-
 distrib/sets/lists/debug/mi                   |     3 +
 external/apache2/llvm/Makefile.inc            |     6 +-
 .../llvm/autoconf/autoconf/configure.ac       |     3 +
 external/apache2/llvm/autoconf/configure      |     4 +
 .../autoconf/include/lldb/Host/Config.h.in    |    53 +
 external/apache2/llvm/bin/Makefile            |     7 +
 .../apache2/llvm/bin/lldb-server/Makefile     |   201 +
 .../apache2/llvm/bin/lldb-tblgen/Makefile     |    23 +
 external/apache2/llvm/bin/lldb/Makefile       |   286 +
 .../apache2/llvm/config/lldb/Host/Config.h    |    53 +
 [...]
 external/apache2/llvm/gen-lldb-makefiles.py   |    75 +
 external/apache2/llvm/lib/Makefile            |   105 +-
 .../libLLVMExecutionEngineJITLink/Makefile    |     1 -
 external/apache2/llvm/lib/liblldb/Makefile    |    87 +
 .../apache2/llvm/lib/liblldbBase/Makefile     |    19 +
 .../llvm/lib/liblldbBreakpoint/Makefile       |    39 +
 .../apache2/llvm/lib/liblldbCommands/Makefile |    56 +
 .../apache2/llvm/lib/liblldbCore/Makefile     |    72 +
 .../llvm/lib/liblldbDataFormatters/Makefile   |    32 +
 .../llvm/lib/liblldbExpression/Makefile       |    28 +
 .../apache2/llvm/lib/liblldbHost/Makefile     |    67 +
 .../llvm/lib/liblldbInitialization/Makefile   |    18 +
 .../llvm/lib/liblldbInterpreter/Makefile      |    73 +
 .../lib/liblldbPluginABIMacOSX_arm/Makefile   |    16 +
 .../lib/liblldbPluginABIMacOSX_arm64/Makefile |    16 +
 .../lib/liblldbPluginABIMacOSX_i386/Makefile  |    16 +
 .../lib/liblldbPluginABISysV_arc/Makefile     |    16 +
 .../lib/liblldbPluginABISysV_arm/Makefile     |    16 +
 .../lib/liblldbPluginABISysV_arm64/Makefile   |    16 +
 .../lib/liblldbPluginABISysV_hexagon/Makefile |    16 +
 .../lib/liblldbPluginABISysV_i386/Makefile    |    16 +
 .../lib/liblldbPluginABISysV_mips/Makefile    |    16 +
 .../lib/liblldbPluginABISysV_mips64/Makefile  |    16 +
 .../lib/liblldbPluginABISysV_ppc/Makefile     |    16 +
 .../lib/liblldbPluginABISysV_ppc64/Makefile   |    16 +
 .../lib/liblldbPluginABISysV_s390x/Makefile   |    16 +
 .../lib/liblldbPluginABISysV_x86_64/Makefile  |    16 +
 .../liblldbPluginABIWindows_x86_64/Makefile   |    16 +
 .../liblldbPluginAppleObjCRuntime/Makefile    |    23 +
 .../lib/liblldbPluginArchitectureArm/Makefile |    16 +
 .../liblldbPluginArchitectureMips/Makefile    |    16 +
 .../liblldbPluginArchitecturePPC64/Makefile   |    16 +
 .../llvm/lib/liblldbPluginCPPRuntime/Makefile |    16 +
 .../liblldbPluginCPlusPlusLanguage/Makefile   |    35 +
 .../lib/liblldbPluginCXXItaniumABI/Makefile   |    16 +
 .../lib/liblldbPluginClangCommon/Makefile     |    16 +
 .../liblldbPluginDisassemblerLLVM/Makefile    |    16 +
 .../Makefile                                  |    26 +
 .../Makefile                                  |    17 +
 .../Makefile                                  |    18 +
 .../Makefile                                  |    17 +
 .../liblldbPluginDynamicLoaderStatic/Makefile |    16 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    34 +
 .../lib/liblldbPluginInstructionARM/Makefile  |    17 +
 .../liblldbPluginInstructionARM64/Makefile    |    16 +
 .../lib/liblldbPluginInstructionMIPS/Makefile |    16 +
 .../liblldbPluginInstructionMIPS64/Makefile   |    16 +
 .../liblldbPluginInstructionPPC64/Makefile    |    16 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    16 +
 .../lib/liblldbPluginJITLoaderGDB/Makefile    |    26 +
 .../liblldbPluginMemoryHistoryASan/Makefile   |    16 +
 .../llvm/lib/liblldbPluginOSPython/Makefile   |    16 +
 .../lib/liblldbPluginObjCLanguage/Makefile    |    26 +
 .../Makefile                                  |    16 +
 .../lib/liblldbPluginObjCRuntime/Makefile     |    16 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    16 +
 .../liblldbPluginObjectFileBreakpad/Makefile  |    17 +
 .../lib/liblldbPluginObjectFileELF/Makefile   |    17 +
 .../lib/liblldbPluginObjectFileJIT/Makefile   |    16 +
 .../lib/liblldbPluginObjectFileMachO/Makefile |    16 +
 .../liblldbPluginObjectFilePECOFF/Makefile    |    18 +
 .../lib/liblldbPluginPlatformAndroid/Makefile |    18 +
 .../lib/liblldbPluginPlatformFreeBSD/Makefile |    16 +
 .../lib/liblldbPluginPlatformGDB/Makefile     |    16 +
 .../lib/liblldbPluginPlatformLinux/Makefile   |    16 +
 .../lib/liblldbPluginPlatformMacOSX/Makefile  |    33 +
 .../lib/liblldbPluginPlatformNetBSD/Makefile  |    16 +
 .../lib/liblldbPluginPlatformOpenBSD/Makefile |    16 +
 .../lib/liblldbPluginPlatformPOSIX/Makefile   |    16 +
 .../lib/liblldbPluginPlatformWindows/Makefile |    16 +
 .../lib/liblldbPluginProcessElfCore/Makefile  |    25 +
 .../liblldbPluginProcessGDBRemote/Makefile    |    38 +
 .../lib/liblldbPluginProcessMachCore/Makefile |    17 +
 .../lib/liblldbPluginProcessMinidump/Makefile |    23 +
 .../lib/liblldbPluginProcessNetBSD/Makefile   |    19 +
 .../lib/liblldbPluginProcessPOSIX/Makefile    |    19 +
 .../lib/liblldbPluginProcessUtility/Makefile  |    69 +
 .../liblldbPluginRenderScriptRuntime/Makefile |    19 +
 .../Makefile                                  |    16 +
 .../Makefile                                  |    26 +
 .../liblldbPluginSymbolFileBreakpad/Makefile  |    16 +
 .../lib/liblldbPluginSymbolFileDWARF/Makefile |    59 +
 .../liblldbPluginSymbolFileNativePDB/Makefile |    25 +
 .../lib/liblldbPluginSymbolFilePDB/Makefile   |    18 +
 .../liblldbPluginSymbolFileSymtab/Makefile    |    16 +
 .../lib/liblldbPluginSymbolVendorELF/Makefile |    16 +
 .../liblldbPluginSymbolVendorMacOSX/Makefile  |    16 +
 .../liblldbPluginSystemRuntimeMacOSX/Makefile |    20 +
 .../Makefile                                  |    16 +
 .../liblldbPluginUnwindAssemblyX86/Makefile   |    17 +
 .../apache2/llvm/lib/liblldbSymbol/Makefile   |    53 +
 .../apache2/llvm/lib/liblldbTarget/Makefile   |    82 +
 .../apache2/llvm/lib/liblldbUtility/Makefile  |    62 +
 external/apache2/llvm/link.mk                 |     6 +
 external/apache2/llvm/tablegen.mk             |    15 +
 share/mk/bsd.README                           |     3 +
 share/mk/bsd.own.mk                           |     1 +
 tools/Makefile                                |     4 +
 tools/llvm-lldb-tblgen/Makefile               |     7 +
 5819 files changed, 925327 insertions(+), 5 deletions(-)
 create mode 100644 external/apache2/llvm/autoconf/include/lldb/Host/Config.h.in
 create mode 100644 external/apache2/llvm/bin/lldb-server/Makefile
 create mode 100644 external/apache2/llvm/bin/lldb-tblgen/Makefile
 create mode 100644 external/apache2/llvm/bin/lldb/Makefile
 create mode 100644 external/apache2/llvm/config/lldb/Host/Config.h
 [...]
 create mode 100755 external/apache2/llvm/gen-lldb-makefiles.py
 create mode 100644 external/apache2/llvm/lib/liblldb/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbBase/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbBreakpoint/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbCommands/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbCore/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbDataFormatters/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbExpression/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbHost/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbInitialization/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbInterpreter/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABIMacOSX_arm/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABIMacOSX_arm64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABIMacOSX_i386/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_arc/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_arm/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_arm64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_hexagon/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_i386/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_mips/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_mips64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_ppc/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_ppc64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_s390x/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABISysV_x86_64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginABIWindows_x86_64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginAppleObjCRuntime/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginArchitectureArm/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginArchitectureMips/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginArchitecturePPC64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginCPPRuntime/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginCPlusPlusLanguage/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginCXXItaniumABI/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginClangCommon/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDisassemblerLLVM/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderDarwinKernel/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderHexagonDYLD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderMacOSXDYLD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderPosixDYLD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderStatic/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginDynamicLoaderWindowsDYLD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginExpressionParserClang/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstructionARM/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstructionARM64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstructionMIPS/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstructionMIPS64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstructionPPC64/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstrumentationRuntimeASan/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstrumentationRuntimeMainThreadChecker/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstrumentationRuntimeTSan/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginInstrumentationRuntimeUBSan/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginJITLoaderGDB/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginMemoryHistoryASan/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginOSPython/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjCLanguage/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjCPlusPlusLanguage/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjCRuntime/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectContainerBSDArchive/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectContainerMachOArchive/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectFileBreakpad/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectFileELF/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectFileJIT/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectFileMachO/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginObjectFilePECOFF/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformAndroid/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformFreeBSD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformGDB/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformLinux/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformMacOSX/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformNetBSD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformOpenBSD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformPOSIX/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginPlatformWindows/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessElfCore/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessGDBRemote/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessMachCore/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessMinidump/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessNetBSD/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessPOSIX/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginProcessUtility/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginRenderScriptRuntime/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginScriptInterpreterNone/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginStructuredDataDarwinLog/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolFileBreakpad/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolFileDWARF/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolFileNativePDB/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolFilePDB/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolFileSymtab/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolVendorELF/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSymbolVendorMacOSX/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginSystemRuntimeMacOSX/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginUnwindAssemblyInstEmulation/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbPluginUnwindAssemblyX86/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbSymbol/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbTarget/Makefile
 create mode 100644 external/apache2/llvm/lib/liblldbUtility/Makefile
 create mode 100644 tools/llvm-lldb-tblgen/Makefile

-- 
2.26.0



Home | Main Index | Thread Index | Old Index