diff --git a/Ghidra/Debug/Debugger-agent-lldb/build.gradle b/Ghidra/Debug/Debugger-agent-lldb/build.gradle index 7e50733583..57338fd0ca 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/build.gradle +++ b/Ghidra/Debug/Debugger-agent-lldb/build.gradle @@ -26,6 +26,7 @@ dependencies { api project(':Framework-AsyncComm') api project(':Framework-Debugging') api project(':Debugger-gadp') + api project(':Debugger-swig-lldb') testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts') @@ -72,14 +73,6 @@ task nodepJar(type: Jar) { from(zipTree(jar.archivePath)) } -// Include llvm patch and SWIG files -rootProject.assembleDistribution { - from (this.project.projectDir.toString()) { - include "src/llvm/**" - into {getZipPath(this.project) + "/data/"} - } -} - task executableJar { ext.execsh = file("src/main/sh/execjar.sh") ext.jarfile = file(nodepJar.archivePath) diff --git a/Ghidra/Debug/Debugger-agent-lldb/certification.manifest b/Ghidra/Debug/Debugger-agent-lldb/certification.manifest index c267970356..be44694b3e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/certification.manifest +++ b/Ghidra/Debug/Debugger-agent-lldb/certification.manifest @@ -5,18 +5,7 @@ .project||NONE||reviewed||END| Module.manifest||GHIDRA||||END| build.gradle||GHIDRA||||END| -data/InstructionsForPatchingLLDB.txt||GHIDRA||||END| -src/llvm/lldb/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/bindings/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/bindings/java/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/bindings/java/java-typemaps.swig||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/bindings/java/java.swig||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/cmake/modules/FindJavaAndSwig.cmake||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/cmake/modules/LLDBConfig.cmake||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/include/lldb/Host/Config.h.cmake||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/source/API/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/source/API/liblldb-private.exports||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/source/API/liblldb.exports||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| -src/llvm/lldb/tools/debugserver/source/CMakeLists.txt||Apache License 2.0 with LLVM Exceptions||||END| +data/InstructionsForBuildingLLDBInterface.txt||GHIDRA||||END| +src/llvm-project/lldb/bindings/java/java-typemaps.swig||Apache License 2.0 with LLVM Exceptions||||END| +src/llvm-project/lldb/bindings/java/java.swig||Apache License 2.0 with LLVM Exceptions||||END| +src/llvm-project/lldb/build_script||GHIDRA||||END| diff --git a/Ghidra/Debug/Debugger-agent-lldb/data/InstructionsForPatchingLLDB.txt b/Ghidra/Debug/Debugger-agent-lldb/data/InstructionsForPatchingLLDB.txt deleted file mode 100644 index a5ce9741b2..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/data/InstructionsForPatchingLLDB.txt +++ /dev/null @@ -1,30 +0,0 @@ -This directory include a fragment of the LLVM lldb source tree with modifications to generate Java JNI wrappers for the Scripting Bridge API via SWIG. Some of these are source modifications, some compilation instructions, some add exports. To use lldb with Ghidra, you will need to: - -(A) Download and build lldb following the standard guidelines from https://lldb.llvm.org -(B) Modify the lldb code along the lines of the included code and rebuild -(C) Copy the resulting liblldb.dylib (for macOS) or liblldb.so (for Linux) into the system directory - -The SWIG-generated Java files that form the JNI interface have already been included as class files in the Ghidra jars. That said, if the exported API has changed and caused a mismatch, they may need to be replaced and recompiled. The Ghidra versions live in Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG. - -The CMake changes live in: -- lldb/CMakeLists.txt -- lldb/bindings/CMakeLists.txt -- lldb/bindings/java/CMakeLists.txt (new) -- lldb/source/API/CMakeLists.txt -Most of the changes involve adding LLDB_ENABLE_JAVA, in line with LLDB_ENABLE_LUA and LLDB_ENABLE_PYTHON. The same templates are used for all three. - -A minor change to lldb/source/API/SBDebugger.cpp adds LLDB_ENABLE_JAVA to the config options. - -Extra export patterns have been added to: -- lldb/source/API/liblldb.exports -- lldb/source/API/liblldb.private-exports -to accommodate the Java patterns. - -Two new .swig files have been added, which may be copied over as is: -- lldb/bindings/java/java.swig -- lldb/bindings/java/java-typemaps.swig -The latter adds access for ByteArrays. - -Finally, lldb/cmake/modules/FindJavaAndSwig.cmake has been added as the generator. - - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java-typemaps.swig b/Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig similarity index 89% rename from Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java-typemaps.swig rename to Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig index 24b90c895b..e23628eb30 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java-typemaps.swig +++ b/Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig @@ -1,6 +1,3 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ %include %include %include diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java.swig b/Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java.swig similarity index 82% rename from Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java.swig rename to Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java.swig index 2cfe68d859..305ecc6b70 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/java.swig +++ b/Ghidra/Debug/Debugger-agent-lldb/src/llvm-project/lldb/bindings/java/java.swig @@ -1,6 +1,3 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ /* lldb.swig @@ -22,4 +19,4 @@ using namespace lldb; %} %include "interfaces.swig" -//%include "lua-wrapper.swig" + diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/CMakeLists.txt deleted file mode 100644 index 9bfd06ee97..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -cmake_minimum_required(VERSION 3.13.4) - -# Add path for custom modules. -set(CMAKE_MODULE_PATH - ${CMAKE_MODULE_PATH} - "${CMAKE_CURRENT_SOURCE_DIR}/cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" - ) - -# If we are not building as part of LLVM, build LLDB as a standalone project, -# using LLVM as an external library. -if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(lldb) - include(LLDBStandalone) - - set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform to") - set(CMAKE_CXX_STANDARD_REQUIRED YES) - set(CMAKE_CXX_EXTENSIONS NO) -endif() - -include(LLDBConfig) -include(AddLLDB) - -# Define the LLDB_CONFIGURATION_xxx matching the build type. -if(uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" ) - add_definitions(-DLLDB_CONFIGURATION_DEBUG) -endif() - -if (WIN32) - add_definitions(-D_ENABLE_EXTENDED_ALIGNED_STORAGE) -endif() - -if (LLDB_ENABLE_PYTHON) - if (NOT CMAKE_CROSSCOMPILING) - execute_process( - COMMAND ${Python3_EXECUTABLE} - -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(True, False, ''))" - OUTPUT_VARIABLE LLDB_PYTHON_DEFAULT_RELATIVE_PATH - OUTPUT_STRIP_TRAILING_WHITESPACE) - - file(TO_CMAKE_PATH ${LLDB_PYTHON_DEFAULT_RELATIVE_PATH} LLDB_PYTHON_DEFAULT_RELATIVE_PATH) - else () - if ("${LLDB_PYTHON_RELATIVE_PATH}" STREQUAL "") - message(FATAL_ERROR - "Crosscompiling LLDB with Python requires manually setting - LLDB_PYTHON_RELATIVE_PATH.") - endif () - endif () - - set(LLDB_PYTHON_RELATIVE_PATH ${LLDB_PYTHON_DEFAULT_RELATIVE_PATH} - CACHE STRING "Path where Python modules are installed, relative to install prefix") -endif () - -if (LLDB_ENABLE_PYTHON OR LLDB_ENABLE_LUA OR LLDB_ENABLE_JAVA) - add_subdirectory(bindings) -endif () - -# We need the headers generated by instrinsics_gen before we can compile -# any source file in LLDB as the imported Clang modules might include -# some of these generated headers. This approach is copied from Clang's main -# CMakeLists.txt, so it should kept in sync the code in Clang which was added -# in llvm-svn 308844. -if(LLVM_ENABLE_MODULES) - list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen) -endif() - -if(CMAKE_CROSSCOMPILING AND LLDB_BUILT_STANDALONE) - set(LLVM_USE_HOST_TOOLS ON) - include(CrossCompile) - if (NOT NATIVE_LLVM_DIR OR NOT NATIVE_Clang_DIR) - message(FATAL_ERROR - "Crosscompiling standalone requires the variables NATIVE_{CLANG,LLVM}_DIR - for building the native lldb-tblgen used during the build process.") - endif() - llvm_create_cross_target(lldb NATIVE "" Release - -DLLVM_DIR=${NATIVE_LLVM_DIR} - -DClang_DIR=${NATIVE_Clang_DIR}) -endif() - -# TableGen -add_subdirectory(utils/TableGen) - -add_subdirectory(source) -add_subdirectory(tools) -add_subdirectory(docs) - -if (LLDB_ENABLE_PYTHON) - if(LLDB_BUILD_FRAMEWORK) - set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb") - else() - set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb") - endif() - get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR) - finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}") -endif() - -option(LLDB_INCLUDE_TESTS "Generate build targets for the LLDB unit tests." ${LLVM_INCLUDE_TESTS}) -if(LLDB_INCLUDE_TESTS) - add_subdirectory(test) - add_subdirectory(unittests) - add_subdirectory(utils) -endif() - -if(LLDB_BUILT_STANDALONE AND NOT LLVM_ENABLE_IDE) - llvm_distribution_add_targets() -endif() diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/CMakeLists.txt deleted file mode 100644 index c8df7c9243..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -file(GLOB SWIG_INTERFACES interface/*.i) -file(GLOB_RECURSE SWIG_SOURCES *.swig) -file(GLOB SWIG_HEADERS - ${LLDB_SOURCE_DIR}/include/lldb/API/*.h - ${LLDB_SOURCE_DIR}/include/lldb/*.h -) -file(GLOB SWIG_PRIVATE_HEADERS - ${LLDB_SOURCE_DIR}/include/lldb/lldb-private*.h -) -foreach(private_header ${SWIG_PRIVATE_HEADERS}) - list(REMOVE_ITEM SWIG_HEADERS ${private_header}) -endforeach() - -if(LLDB_BUILD_FRAMEWORK) - set(framework_arg --framework --target-platform Darwin) -endif() - -if(APPLE) - set(DARWIN_EXTRAS "-D__APPLE__") -else() - set(DARWIN_EXTRAS "") -endif() - -set(SWIG_COMMON_FLAGS - -c++ - -features autodoc - -I${LLDB_SOURCE_DIR}/include - -I${CMAKE_CURRENT_SOURCE_DIR} - -D__STDC_LIMIT_MACROS - -D__STDC_CONSTANT_MACROS - ${DARWIN_EXTRAS} -) - -if (LLDB_ENABLE_PYTHON) - add_subdirectory(python) -endif() - -if (LLDB_ENABLE_LUA) - add_subdirectory(lua) -endif() - -if (LLDB_ENABLE_JAVA) - add_subdirectory(java) -endif() - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/CMakeLists.txt deleted file mode 100644 index 191db4c21f..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/bindings/java/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapJava.cpp - DEPENDS ${SWIG_SOURCES} - DEPENDS ${SWIG_INTERFACES} - DEPENDS ${SWIG_HEADERS} - COMMAND ${SWIG_EXECUTABLE} - ${SWIG_COMMON_FLAGS} - -I${CMAKE_CURRENT_SOURCE_DIR} - -java - -package SWIG - -c++ - -outdir ${CMAKE_CURRENT_BINARY_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapJava.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/java.swig - VERBATIM - COMMENT "Building LLDB Java wrapper") - -add_custom_target(swig_wrapper_java ALL DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapJava.cpp -) diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/FindJavaAndSwig.cmake b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/FindJavaAndSwig.cmake deleted file mode 100644 index 6dc3d176d6..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/FindJavaAndSwig.cmake +++ /dev/null @@ -1,32 +0,0 @@ -#.rst: -# FindJavaAndSwig -# -------------- -# -# Find Java and SWIG as a whole. - -#if(JAVA_LIBRARIES AND JAVA_INCLUDE_DIR AND SWIG_EXECUTABLE) -if(SWIG_EXECUTABLE) - set(JAVAANDSWIG_FOUND TRUE) -else() - find_package(SWIG 2.0) - if (SWIG_FOUND) - find_package(Java 11.0) - if(JAVA_FOUND AND SWIG_FOUND) - mark_as_advanced( - JAVA_LIBRARIES - JAVA_INCLUDE_DIR - SWIG_EXECUTABLE) - endif() - else() - message(STATUS "SWIG 2 or later is required for Java support in LLDB but could not be found") - endif() - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(JavaAndSwig - FOUND_VAR - JAVAANDSWIG_FOUND - REQUIRED_VARS - JAVA_LIBRARIES - JAVA_INCLUDE_DIR - SWIG_EXECUTABLE) -endif() diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/LLDBConfig.cmake b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/LLDBConfig.cmake deleted file mode 100644 index a38a763f45..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/cmake/modules/LLDBConfig.cmake +++ /dev/null @@ -1,319 +0,0 @@ -include(CheckCXXSymbolExists) -include(CheckTypeSize) - -set(LLDB_PROJECT_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) -set(LLDB_SOURCE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/source") -set(LLDB_INCLUDE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/include") - -set(LLDB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) -set(LLDB_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) - -if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) - message(FATAL_ERROR - "In-source builds are not allowed. CMake would overwrite the makefiles " - "distributed with LLDB. Please create a directory and run cmake from " - "there, passing the path to this source directory as the last argument. " - "This process created the file `CMakeCache.txt' and the directory " - "`CMakeFiles'. Please delete them.") -endif() - -set(LLDB_LINKER_SUPPORTS_GROUPS OFF) -if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") - # The Darwin linker doesn't understand --start-group/--end-group. - set(LLDB_LINKER_SUPPORTS_GROUPS ON) -endif() - -macro(add_optional_dependency variable description package found) - cmake_parse_arguments(ARG - "" - "VERSION" - "" - ${ARGN}) - - set(${variable} "Auto" CACHE STRING "${description} On, Off or Auto (default)") - string(TOUPPER "${${variable}}" ${variable}) - - if("${${variable}}" STREQUAL "AUTO") - set(find_package TRUE) - set(maybe_required) - elseif(${${variable}}) - set(find_package TRUE) - set(maybe_required REQUIRED) - else() - set(find_package FALSE) - set(${variable} FALSE) - endif() - - if(${find_package}) - find_package(${package} ${ARG_VERSION} ${maybe_required}) - set(${variable} "${${found}}") - endif() - - message(STATUS "${description}: ${${variable}}") -endmacro() - -add_optional_dependency(LLDB_ENABLE_LIBEDIT "Enable editline support in LLDB" LibEdit LibEdit_FOUND) -add_optional_dependency(LLDB_ENABLE_CURSES "Enable curses support in LLDB" CursesAndPanel CURSESANDPANEL_FOUND) -add_optional_dependency(LLDB_ENABLE_LZMA "Enable LZMA compression support in LLDB" LibLZMA LIBLZMA_FOUND) -add_optional_dependency(LLDB_ENABLE_LUA "Enable Lua scripting support in LLDB" LuaAndSwig LUAANDSWIG_FOUND) -add_optional_dependency(LLDB_ENABLE_JAVA "Enable Java scripting support in LLDB" JavaAndSwig JAVAANDSWIG_FOUND) -add_optional_dependency(LLDB_ENABLE_PYTHON "Enable Python scripting support in LLDB" PythonAndSwig PYTHONANDSWIG_FOUND) -add_optional_dependency(LLDB_ENABLE_LIBXML2 "Enable Libxml 2 support in LLDB" LibXml2 LIBXML2_FOUND VERSION 2.8) - -option(LLDB_USE_SYSTEM_SIX "Use six.py shipped with system and do not install a copy of it" OFF) -option(LLDB_USE_ENTITLEMENTS "When codesigning, use entitlements if available" ON) -option(LLDB_BUILD_FRAMEWORK "Build LLDB.framework (Darwin only)" OFF) -option(LLDB_NO_INSTALL_DEFAULT_RPATH "Disable default RPATH settings in binaries" OFF) -option(LLDB_USE_SYSTEM_DEBUGSERVER "Use the system's debugserver for testing (Darwin only)." OFF) -option(LLDB_SKIP_STRIP "Whether to skip stripping of binaries when installing lldb." OFF) -option(LLDB_SKIP_DSYM "Whether to skip generating a dSYM when installing lldb." OFF) - -if (LLDB_USE_SYSTEM_DEBUGSERVER) - # The custom target for the system debugserver has no install target, so we - # need to remove it from the LLVM_DISTRIBUTION_COMPONENTS list. - if (LLVM_DISTRIBUTION_COMPONENTS) - list(REMOVE_ITEM LLVM_DISTRIBUTION_COMPONENTS debugserver) - set(LLVM_DISTRIBUTION_COMPONENTS ${LLVM_DISTRIBUTION_COMPONENTS} CACHE STRING "" FORCE) - endif() -endif() - -if(LLDB_BUILD_FRAMEWORK) - if(NOT APPLE) - message(FATAL_ERROR "LLDB.framework can only be generated when targeting Apple platforms") - endif() - - set(LLDB_FRAMEWORK_VERSION A CACHE STRING "LLDB.framework version (default is A)") - set(LLDB_FRAMEWORK_BUILD_DIR bin CACHE STRING "Output directory for LLDB.framework") - set(LLDB_FRAMEWORK_INSTALL_DIR Library/Frameworks CACHE STRING "Install directory for LLDB.framework") - - get_filename_component(LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR ${LLDB_FRAMEWORK_BUILD_DIR} ABSOLUTE - BASE_DIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}) - - # Essentially, emit the framework's dSYM outside of the framework directory. - set(LLDB_DEBUGINFO_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin CACHE STRING - "Directory to emit dSYM files stripped from executables and libraries (Darwin Only)") -endif() - -if(APPLE AND CMAKE_GENERATOR STREQUAL Xcode) - if(NOT LLDB_EXPLICIT_XCODE_CACHE_USED) - message(WARNING - "When building with Xcode, we recommend using the corresponding cache script. " - "If this was a mistake, clean your build directory and re-run CMake with:\n" - " -C ${CMAKE_SOURCE_DIR}/cmake/caches/Apple-lldb-Xcode.cmake\n" - "See: https://lldb.llvm.org/resources/build.html#cmakegeneratedxcodeproject\n") - endif() -endif() - -if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") - set(LLDB_EXPORT_ALL_SYMBOLS 0 CACHE BOOL - "Causes lldb to export all symbols when building liblldb.") -else() - # Windows doesn't support toggling this, so don't bother making it a - # cache variable. - set(LLDB_EXPORT_ALL_SYMBOLS 0) -endif() - -if ((NOT MSVC) OR MSVC12) - add_definitions( -DHAVE_ROUND ) -endif() - -# Check if we libedit capable of handling wide characters (built with -# '--enable-widec'). -if (LLDB_ENABLE_LIBEDIT) - set(CMAKE_REQUIRED_LIBRARIES ${LibEdit_LIBRARIES}) - set(CMAKE_REQUIRED_INCLUDES ${LibEdit_INCLUDE_DIRS}) - check_symbol_exists(el_winsertstr histedit.h LLDB_EDITLINE_USE_WCHAR) - set(CMAKE_EXTRA_INCLUDE_FILES histedit.h) - check_type_size(el_rfunc_t LLDB_EL_RFUNC_T_SIZE) - if (LLDB_EL_RFUNC_T_SIZE STREQUAL "") - set(LLDB_HAVE_EL_RFUNC_T 0) - else() - set(LLDB_HAVE_EL_RFUNC_T 1) - endif() - set(CMAKE_REQUIRED_LIBRARIES) - set(CMAKE_REQUIRED_INCLUDES) - set(CMAKE_EXTRA_INCLUDE_FILES) -endif() - -if (LLDB_ENABLE_PYTHON) - if(CMAKE_SYSTEM_NAME MATCHES "Windows") - set(default_embed_python_home ON) - else() - set(default_embed_python_home OFF) - endif() - option(LLDB_EMBED_PYTHON_HOME - "Embed PYTHONHOME in the binary. If set to OFF, PYTHONHOME environment variable will be used to to locate Python." - ${default_embed_python_home}) - - include_directories(${Python3_INCLUDE_DIRS}) - if (LLDB_EMBED_PYTHON_HOME) - get_filename_component(PYTHON_HOME "${Python3_EXECUTABLE}" DIRECTORY) - set(LLDB_PYTHON_HOME "${PYTHON_HOME}" CACHE STRING - "Path to use as PYTHONHOME in lldb. If a relative path is specified, it will be resolved at runtime relative to liblldb directory.") - endif() -endif() - -if (LLVM_EXTERNAL_CLANG_SOURCE_DIR) - include_directories(${LLVM_EXTERNAL_CLANG_SOURCE_DIR}/include) -else () - include_directories(${CMAKE_SOURCE_DIR}/tools/clang/include) -endif () -include_directories("${CMAKE_CURRENT_BINARY_DIR}/../clang/include") - -# Disable GCC warnings -check_cxx_compiler_flag("-Wno-deprecated-declarations" CXX_SUPPORTS_NO_DEPRECATED_DECLARATIONS) -append_if(CXX_SUPPORTS_NO_DEPRECATED_DECLARATIONS "-Wno-deprecated-declarations" CMAKE_CXX_FLAGS) - -check_cxx_compiler_flag("-Wno-unknown-pragmas" CXX_SUPPORTS_NO_UNKNOWN_PRAGMAS) -append_if(CXX_SUPPORTS_NO_UNKNOWN_PRAGMAS "-Wno-unknown-pragmas" CMAKE_CXX_FLAGS) - -check_cxx_compiler_flag("-Wno-strict-aliasing" CXX_SUPPORTS_NO_STRICT_ALIASING) -append_if(CXX_SUPPORTS_NO_STRICT_ALIASING "-Wno-strict-aliasing" CMAKE_CXX_FLAGS) - -# Disable Clang warnings -check_cxx_compiler_flag("-Wno-deprecated-register" CXX_SUPPORTS_NO_DEPRECATED_REGISTER) -append_if(CXX_SUPPORTS_NO_DEPRECATED_REGISTER "-Wno-deprecated-register" CMAKE_CXX_FLAGS) - -check_cxx_compiler_flag("-Wno-vla-extension" CXX_SUPPORTS_NO_VLA_EXTENSION) -append_if(CXX_SUPPORTS_NO_VLA_EXTENSION "-Wno-vla-extension" CMAKE_CXX_FLAGS) - -# Disable MSVC warnings -if( MSVC ) - add_definitions( - -wd4018 # Suppress 'warning C4018: '>=' : signed/unsigned mismatch' - -wd4068 # Suppress 'warning C4068: unknown pragma' - -wd4150 # Suppress 'warning C4150: deletion of pointer to incomplete type' - -wd4201 # Suppress 'warning C4201: nonstandard extension used: nameless struct/union' - -wd4251 # Suppress 'warning C4251: T must have dll-interface to be used by clients of class U.' - -wd4521 # Suppress 'warning C4521: 'type' : multiple copy constructors specified' - -wd4530 # Suppress 'warning C4530: C++ exception handler used, but unwind semantics are not enabled.' - ) -endif() - -# Use the Unicode (UTF-16) APIs by default on Win32 -if (CMAKE_SYSTEM_NAME MATCHES "Windows") - add_definitions( -D_UNICODE -DUNICODE ) -endif() - -# If LLDB_VERSION_* is specified, use it, if not use LLVM_VERSION_*. -if(NOT DEFINED LLDB_VERSION_MAJOR) - set(LLDB_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) -endif() -if(NOT DEFINED LLDB_VERSION_MINOR) - set(LLDB_VERSION_MINOR ${LLVM_VERSION_MINOR}) -endif() -if(NOT DEFINED LLDB_VERSION_PATCH) - set(LLDB_VERSION_PATCH ${LLVM_VERSION_PATCH}) -endif() -if(NOT DEFINED LLDB_VERSION_SUFFIX) - set(LLDB_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) -endif() -set(LLDB_VERSION "${LLDB_VERSION_MAJOR}.${LLDB_VERSION_MINOR}.${LLDB_VERSION_PATCH}${LLDB_VERSION_SUFFIX}") -message(STATUS "LLDB version: ${LLDB_VERSION}") - -if (LLDB_ENABLE_LZMA) - include_directories(${LIBLZMA_INCLUDE_DIRS}) -endif() - -if (LLDB_ENABLE_LIBXML2) - include_directories(${LIBXML2_INCLUDE_DIR}) -endif() - -include_directories(BEFORE - ${CMAKE_CURRENT_BINARY_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/include - ) - -if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ - COMPONENT lldb-headers - DESTINATION include - FILES_MATCHING - PATTERN "*.h" - PATTERN ".cmake" EXCLUDE - ) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ - COMPONENT lldb-headers - DESTINATION include - FILES_MATCHING - PATTERN "*.h" - PATTERN ".cmake" EXCLUDE - ) - - add_custom_target(lldb-headers) - set_target_properties(lldb-headers PROPERTIES FOLDER "lldb misc") - - if (NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-lldb-headers - COMPONENT lldb-headers) - endif() -endif() - - -# If LLDB is building against a prebuilt Clang, then the Clang resource -# directory that LLDB is using for its embedded Clang instance needs to point -# to the resource directory of the used Clang installation. -if (NOT TARGET clang-resource-headers) - set(LLDB_CLANG_RESOURCE_DIR_NAME "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") - # Iterate over the possible places where the external resource directory - # could be and pick the first that exists. - foreach(CANDIDATE "${Clang_DIR}/../.." "${LLVM_DIR}" "${LLVM_LIBRARY_DIRS}" - "${LLVM_BUILD_LIBRARY_DIR}" - "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}") - # Build the resource directory path by appending 'clang/'. - set(CANDIDATE_RESOURCE_DIR "${CANDIDATE}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}") - if (IS_DIRECTORY "${CANDIDATE_RESOURCE_DIR}") - set(LLDB_EXTERNAL_CLANG_RESOURCE_DIR "${CANDIDATE_RESOURCE_DIR}") - break() - endif() - endforeach() - - if (NOT LLDB_EXTERNAL_CLANG_RESOURCE_DIR) - message(FATAL_ERROR "Expected directory for clang-resource headers not found: ${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}") - endif() -endif() - -# Find Apple-specific libraries or frameworks that may be needed. -if (APPLE) - if(NOT APPLE_EMBEDDED) - find_library(CARBON_LIBRARY Carbon) - find_library(CORE_SERVICES_LIBRARY CoreServices) - endif() - find_library(FOUNDATION_LIBRARY Foundation) - find_library(CORE_FOUNDATION_LIBRARY CoreFoundation) - find_library(SECURITY_LIBRARY Security) - include_directories(${LIBXML2_INCLUDE_DIR}) -endif() - -if( WIN32 AND NOT CYGWIN ) - set(PURE_WINDOWS 1) -endif() - -if(NOT PURE_WINDOWS) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - find_package(Threads REQUIRED) -endif() - -# Figure out if lldb could use lldb-server. If so, then we'll -# ensure we build lldb-server when an lldb target is being built. -if (CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|FreeBSD|Linux|NetBSD|Windows") - set(LLDB_CAN_USE_LLDB_SERVER ON) -else() - set(LLDB_CAN_USE_LLDB_SERVER OFF) -endif() - -# Figure out if lldb could use debugserver. If so, then we'll -# ensure we build debugserver when we build lldb. -if (CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(LLDB_CAN_USE_DEBUGSERVER ON) -else() - set(LLDB_CAN_USE_DEBUGSERVER OFF) -endif() - -if ((CMAKE_SYSTEM_NAME MATCHES "Android") AND LLVM_BUILD_STATIC AND - ((ANDROID_ABI MATCHES "armeabi") OR (ANDROID_ABI MATCHES "mips"))) - add_definitions(-DANDROID_USE_ACCEPT_WORKAROUND) -endif() - -include(LLDBGenerateConfig) diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni.h b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni.h deleted file mode 100644 index 730e502e35..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni.h +++ /dev/null @@ -1,1964 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -/* - * @(#)jni.h 1.62 06/02/02 - * - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - */ - -/* - * We used part of Netscape's Java Runtime Interface (JRI) as the starting - * point of our design and implementation. - */ - -/****************************************************************************** - * Java Runtime Interface - * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. - *****************************************************************************/ - -#ifndef _JAVASOFT_JNI_H_ -#define _JAVASOFT_JNI_H_ - -#include -#include - -/* jni_md.h contains the machine-dependent typedefs for jbyte, jint - and jlong */ - -#include "jni_md.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * JNI Types - */ - -#ifndef JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H - -typedef unsigned char jboolean; -typedef unsigned short jchar; -typedef short jshort; -typedef float jfloat; -typedef double jdouble; - -typedef jint jsize; - -#ifdef __cplusplus - -class _jobject {}; -class _jclass : public _jobject {}; -class _jthrowable : public _jobject {}; -class _jstring : public _jobject {}; -class _jarray : public _jobject {}; -class _jbooleanArray : public _jarray {}; -class _jbyteArray : public _jarray {}; -class _jcharArray : public _jarray {}; -class _jshortArray : public _jarray {}; -class _jintArray : public _jarray {}; -class _jlongArray : public _jarray {}; -class _jfloatArray : public _jarray {}; -class _jdoubleArray : public _jarray {}; -class _jobjectArray : public _jarray {}; - -typedef _jobject *jobject; -typedef _jclass *jclass; -typedef _jthrowable *jthrowable; -typedef _jstring *jstring; -typedef _jarray *jarray; -typedef _jbooleanArray *jbooleanArray; -typedef _jbyteArray *jbyteArray; -typedef _jcharArray *jcharArray; -typedef _jshortArray *jshortArray; -typedef _jintArray *jintArray; -typedef _jlongArray *jlongArray; -typedef _jfloatArray *jfloatArray; -typedef _jdoubleArray *jdoubleArray; -typedef _jobjectArray *jobjectArray; - -#else - -struct _jobject; - -typedef struct _jobject *jobject; -typedef jobject jclass; -typedef jobject jthrowable; -typedef jobject jstring; -typedef jobject jarray; -typedef jarray jbooleanArray; -typedef jarray jbyteArray; -typedef jarray jcharArray; -typedef jarray jshortArray; -typedef jarray jintArray; -typedef jarray jlongArray; -typedef jarray jfloatArray; -typedef jarray jdoubleArray; -typedef jarray jobjectArray; - -#endif - -typedef jobject jweak; - -typedef union jvalue { - jboolean z; - jbyte b; - jchar c; - jshort s; - jint i; - jlong j; - jfloat f; - jdouble d; - jobject l; -} jvalue; - -struct _jfieldID; -typedef struct _jfieldID *jfieldID; - -struct _jmethodID; -typedef struct _jmethodID *jmethodID; - -/* Return values from jobjectRefType */ -typedef enum _jobjectType { - JNIInvalidRefType = 0, - JNILocalRefType = 1, - JNIGlobalRefType = 2, - JNIWeakGlobalRefType = 3 -} jobjectRefType; - - -#endif /* JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H */ - -/* - * jboolean constants - */ - -#define JNI_FALSE 0 -#define JNI_TRUE 1 - -/* - * possible return values for JNI functions. - */ - -#define JNI_OK 0 /* success */ -#define JNI_ERR (-1) /* unknown error */ -#define JNI_EDETACHED (-2) /* thread detached from the VM */ -#define JNI_EVERSION (-3) /* JNI version error */ -#define JNI_ENOMEM (-4) /* not enough memory */ -#define JNI_EEXIST (-5) /* VM already created */ -#define JNI_EINVAL (-6) /* invalid arguments */ - -/* - * used in ReleaseScalarArrayElements - */ - -#define JNI_COMMIT 1 -#define JNI_ABORT 2 - -/* - * used in RegisterNatives to describe native method name, signature, - * and function pointer. - */ - -typedef struct { - char *name; - char *signature; - void *fnPtr; -} JNINativeMethod; - -/* - * JNI Native Method Interface. - */ - -struct JNINativeInterface_; - -struct JNIEnv_; - -#ifdef __cplusplus -typedef JNIEnv_ JNIEnv; -#else -typedef const struct JNINativeInterface_ *JNIEnv; -#endif - -/* - * JNI Invocation Interface. - */ - -struct JNIInvokeInterface_; - -struct JavaVM_; - -#ifdef __cplusplus -typedef JavaVM_ JavaVM; -#else -typedef const struct JNIInvokeInterface_ *JavaVM; -#endif - -struct JNINativeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - - void *reserved3; - -#if !TARGET_RT_MAC_CFM && defined(__ppc__) - void* cfm_vectors[225]; -#endif /* !TARGET_RT_MAC_CFM && defined(__ppc__) */ - - jint (JNICALL *GetVersion)(JNIEnv *env); - - jclass (JNICALL *DefineClass) - (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, - jsize len); - jclass (JNICALL *FindClass) - (JNIEnv *env, const char *name); - - jmethodID (JNICALL *FromReflectedMethod) - (JNIEnv *env, jobject method); - jfieldID (JNICALL *FromReflectedField) - (JNIEnv *env, jobject field); - - jobject (JNICALL *ToReflectedMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); - - jclass (JNICALL *GetSuperclass) - (JNIEnv *env, jclass sub); - jboolean (JNICALL *IsAssignableFrom) - (JNIEnv *env, jclass sub, jclass sup); - - jobject (JNICALL *ToReflectedField) - (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); - - jint (JNICALL *Throw) - (JNIEnv *env, jthrowable obj); - jint (JNICALL *ThrowNew) - (JNIEnv *env, jclass clazz, const char *msg); - jthrowable (JNICALL *ExceptionOccurred) - (JNIEnv *env); - void (JNICALL *ExceptionDescribe) - (JNIEnv *env); - void (JNICALL *ExceptionClear) - (JNIEnv *env); - void (JNICALL *FatalError) - (JNIEnv *env, const char *msg); - - jint (JNICALL *PushLocalFrame) - (JNIEnv *env, jint capacity); - jobject (JNICALL *PopLocalFrame) - (JNIEnv *env, jobject result); - - jobject (JNICALL *NewGlobalRef) - (JNIEnv *env, jobject lobj); - void (JNICALL *DeleteGlobalRef) - (JNIEnv *env, jobject gref); - void (JNICALL *DeleteLocalRef) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsSameObject) - (JNIEnv *env, jobject obj1, jobject obj2); - jobject (JNICALL *NewLocalRef) - (JNIEnv *env, jobject ref); - jint (JNICALL *EnsureLocalCapacity) - (JNIEnv *env, jint capacity); - - jobject (JNICALL *AllocObject) - (JNIEnv *env, jclass clazz); - jobject (JNICALL *NewObject) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *NewObjectV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *NewObjectA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jclass (JNICALL *GetObjectClass) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsInstanceOf) - (JNIEnv *env, jobject obj, jclass clazz); - - jmethodID (JNICALL *GetMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallObjectMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jobject (JNICALL *CallObjectMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jobject (JNICALL *CallObjectMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jboolean (JNICALL *CallBooleanMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jboolean (JNICALL *CallBooleanMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jboolean (JNICALL *CallBooleanMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jbyte (JNICALL *CallByteMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jbyte (JNICALL *CallByteMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jbyte (JNICALL *CallByteMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jchar (JNICALL *CallCharMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jchar (JNICALL *CallCharMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jchar (JNICALL *CallCharMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jshort (JNICALL *CallShortMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jshort (JNICALL *CallShortMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jshort (JNICALL *CallShortMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jint (JNICALL *CallIntMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jint (JNICALL *CallIntMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jint (JNICALL *CallIntMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jlong (JNICALL *CallLongMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jlong (JNICALL *CallLongMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jlong (JNICALL *CallLongMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jfloat (JNICALL *CallFloatMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jfloat (JNICALL *CallFloatMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jfloat (JNICALL *CallFloatMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jdouble (JNICALL *CallDoubleMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jdouble (JNICALL *CallDoubleMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jdouble (JNICALL *CallDoubleMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - void (JNICALL *CallVoidMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - void (JNICALL *CallVoidMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - void (JNICALL *CallVoidMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jobject (JNICALL *CallNonvirtualObjectMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallNonvirtualObjectMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jobject (JNICALL *CallNonvirtualObjectMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jboolean (JNICALL *CallNonvirtualBooleanMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallNonvirtualBooleanMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jboolean (JNICALL *CallNonvirtualBooleanMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jbyte (JNICALL *CallNonvirtualByteMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallNonvirtualByteMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jbyte (JNICALL *CallNonvirtualByteMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jchar (JNICALL *CallNonvirtualCharMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallNonvirtualCharMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jchar (JNICALL *CallNonvirtualCharMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jshort (JNICALL *CallNonvirtualShortMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallNonvirtualShortMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jshort (JNICALL *CallNonvirtualShortMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jint (JNICALL *CallNonvirtualIntMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallNonvirtualIntMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jint (JNICALL *CallNonvirtualIntMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jlong (JNICALL *CallNonvirtualLongMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallNonvirtualLongMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jlong (JNICALL *CallNonvirtualLongMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jfloat (JNICALL *CallNonvirtualFloatMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallNonvirtualFloatMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jfloat (JNICALL *CallNonvirtualFloatMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jdouble (JNICALL *CallNonvirtualDoubleMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallNonvirtualDoubleMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jdouble (JNICALL *CallNonvirtualDoubleMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - void (JNICALL *CallNonvirtualVoidMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - void (JNICALL *CallNonvirtualVoidMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - void (JNICALL *CallNonvirtualVoidMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jfieldID (JNICALL *GetFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *GetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jboolean (JNICALL *GetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jbyte (JNICALL *GetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jchar (JNICALL *GetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jshort (JNICALL *GetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jint (JNICALL *GetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jlong (JNICALL *GetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jfloat (JNICALL *GetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jdouble (JNICALL *GetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - - void (JNICALL *SetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); - void (JNICALL *SetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); - void (JNICALL *SetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); - void (JNICALL *SetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); - void (JNICALL *SetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); - void (JNICALL *SetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); - void (JNICALL *SetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); - void (JNICALL *SetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); - void (JNICALL *SetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); - - jmethodID (JNICALL *GetStaticMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallStaticObjectMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallStaticObjectMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *CallStaticObjectMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jboolean (JNICALL *CallStaticBooleanMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallStaticBooleanMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jboolean (JNICALL *CallStaticBooleanMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jbyte (JNICALL *CallStaticByteMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallStaticByteMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jbyte (JNICALL *CallStaticByteMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jchar (JNICALL *CallStaticCharMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallStaticCharMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jchar (JNICALL *CallStaticCharMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jshort (JNICALL *CallStaticShortMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallStaticShortMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jshort (JNICALL *CallStaticShortMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jint (JNICALL *CallStaticIntMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallStaticIntMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jint (JNICALL *CallStaticIntMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jlong (JNICALL *CallStaticLongMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallStaticLongMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jlong (JNICALL *CallStaticLongMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jfloat (JNICALL *CallStaticFloatMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallStaticFloatMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jfloat (JNICALL *CallStaticFloatMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jdouble (JNICALL *CallStaticDoubleMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallStaticDoubleMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jdouble (JNICALL *CallStaticDoubleMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - void (JNICALL *CallStaticVoidMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, ...); - void (JNICALL *CallStaticVoidMethodV) - (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); - void (JNICALL *CallStaticVoidMethodA) - (JNIEnv *env, jclass cls, jmethodID methodID, const jvalue * args); - - jfieldID (JNICALL *GetStaticFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - jobject (JNICALL *GetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jboolean (JNICALL *GetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jbyte (JNICALL *GetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jchar (JNICALL *GetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jshort (JNICALL *GetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jint (JNICALL *GetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jlong (JNICALL *GetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jfloat (JNICALL *GetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jdouble (JNICALL *GetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - - void (JNICALL *SetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); - void (JNICALL *SetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); - void (JNICALL *SetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); - void (JNICALL *SetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); - void (JNICALL *SetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); - void (JNICALL *SetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); - void (JNICALL *SetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); - void (JNICALL *SetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); - void (JNICALL *SetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); - - jstring (JNICALL *NewString) - (JNIEnv *env, const jchar *unicode, jsize len); - jsize (JNICALL *GetStringLength) - (JNIEnv *env, jstring str); - const jchar *(JNICALL *GetStringChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringChars) - (JNIEnv *env, jstring str, const jchar *chars); - - jstring (JNICALL *NewStringUTF) - (JNIEnv *env, const char *utf); - jsize (JNICALL *GetStringUTFLength) - (JNIEnv *env, jstring str); - const char* (JNICALL *GetStringUTFChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringUTFChars) - (JNIEnv *env, jstring str, const char* chars); - - - jsize (JNICALL *GetArrayLength) - (JNIEnv *env, jarray array); - - jobjectArray (JNICALL *NewObjectArray) - (JNIEnv *env, jsize len, jclass clazz, jobject init); - jobject (JNICALL *GetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index); - void (JNICALL *SetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index, jobject val); - - jbooleanArray (JNICALL *NewBooleanArray) - (JNIEnv *env, jsize len); - jbyteArray (JNICALL *NewByteArray) - (JNIEnv *env, jsize len); - jcharArray (JNICALL *NewCharArray) - (JNIEnv *env, jsize len); - jshortArray (JNICALL *NewShortArray) - (JNIEnv *env, jsize len); - jintArray (JNICALL *NewIntArray) - (JNIEnv *env, jsize len); - jlongArray (JNICALL *NewLongArray) - (JNIEnv *env, jsize len); - jfloatArray (JNICALL *NewFloatArray) - (JNIEnv *env, jsize len); - jdoubleArray (JNICALL *NewDoubleArray) - (JNIEnv *env, jsize len); - - jboolean * (JNICALL *GetBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *isCopy); - jbyte * (JNICALL *GetByteArrayElements) - (JNIEnv *env, jbyteArray array, jboolean *isCopy); - jchar * (JNICALL *GetCharArrayElements) - (JNIEnv *env, jcharArray array, jboolean *isCopy); - jshort * (JNICALL *GetShortArrayElements) - (JNIEnv *env, jshortArray array, jboolean *isCopy); - jint * (JNICALL *GetIntArrayElements) - (JNIEnv *env, jintArray array, jboolean *isCopy); - jlong * (JNICALL *GetLongArrayElements) - (JNIEnv *env, jlongArray array, jboolean *isCopy); - jfloat * (JNICALL *GetFloatArrayElements) - (JNIEnv *env, jfloatArray array, jboolean *isCopy); - jdouble * (JNICALL *GetDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jboolean *isCopy); - - void (JNICALL *ReleaseBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); - void (JNICALL *ReleaseByteArrayElements) - (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); - void (JNICALL *ReleaseCharArrayElements) - (JNIEnv *env, jcharArray array, jchar *elems, jint mode); - void (JNICALL *ReleaseShortArrayElements) - (JNIEnv *env, jshortArray array, jshort *elems, jint mode); - void (JNICALL *ReleaseIntArrayElements) - (JNIEnv *env, jintArray array, jint *elems, jint mode); - void (JNICALL *ReleaseLongArrayElements) - (JNIEnv *env, jlongArray array, jlong *elems, jint mode); - void (JNICALL *ReleaseFloatArrayElements) - (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); - void (JNICALL *ReleaseDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); - - void (JNICALL *GetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - void (JNICALL *GetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - void (JNICALL *GetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - void (JNICALL *GetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - void (JNICALL *GetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - void (JNICALL *GetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - void (JNICALL *GetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - void (JNICALL *GetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - - void (JNICALL *SetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, const jboolean *buf); - void (JNICALL *SetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, const jbyte *buf); - void (JNICALL *SetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, const jchar *buf); - void (JNICALL *SetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, const jshort *buf); - void (JNICALL *SetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, const jint *buf); - void (JNICALL *SetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, const jlong *buf); - void (JNICALL *SetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, const jfloat *buf); - void (JNICALL *SetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, const jdouble *buf); - - jint (JNICALL *RegisterNatives) - (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, - jint nMethods); - jint (JNICALL *UnregisterNatives) - (JNIEnv *env, jclass clazz); - - jint (JNICALL *MonitorEnter) - (JNIEnv *env, jobject obj); - jint (JNICALL *MonitorExit) - (JNIEnv *env, jobject obj); - - jint (JNICALL *GetJavaVM) - (JNIEnv *env, JavaVM **vm); - - void (JNICALL *GetStringRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf); - void (JNICALL *GetStringUTFRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, char *buf); - - void * (JNICALL *GetPrimitiveArrayCritical) - (JNIEnv *env, jarray array, jboolean *isCopy); - void (JNICALL *ReleasePrimitiveArrayCritical) - (JNIEnv *env, jarray array, void *carray, jint mode); - - const jchar * (JNICALL *GetStringCritical) - (JNIEnv *env, jstring string, jboolean *isCopy); - void (JNICALL *ReleaseStringCritical) - (JNIEnv *env, jstring string, const jchar *cstring); - - jweak (JNICALL *NewWeakGlobalRef) - (JNIEnv *env, jobject obj); - void (JNICALL *DeleteWeakGlobalRef) - (JNIEnv *env, jweak ref); - - jboolean (JNICALL *ExceptionCheck) - (JNIEnv *env); - - jobject (JNICALL *NewDirectByteBuffer) - (JNIEnv* env, void* address, jlong capacity); - void* (JNICALL *GetDirectBufferAddress) - (JNIEnv* env, jobject buf); - jlong (JNICALL *GetDirectBufferCapacity) - (JNIEnv* env, jobject buf); - - /* New JNI 1.6 Features */ - - jobjectRefType (JNICALL *GetObjectRefType) - (JNIEnv* env, jobject obj); - - #if TARGET_RT_MAC_CFM && defined(__ppc__) - void* real_functions[228]; - #endif /* TARGET_RT_MAC_CFM && defined(__ppc__) */ -}; - -/* - * We use inlined functions for C++ so that programmers can write: - * - * env->FindClass("java/lang/String") - * - * in C++ rather than: - * - * (*env)->FindClass(env, "java/lang/String") - * - * in C. - */ - -struct JNIEnv_ { - const struct JNINativeInterface_ *functions; -#ifdef __cplusplus - - jint GetVersion() { - return functions->GetVersion(this); - } - jclass DefineClass(const char *name, jobject loader, const jbyte *buf, - jsize len) { - return functions->DefineClass(this, name, loader, buf, len); - } - jclass FindClass(const char *name) { - return functions->FindClass(this, name); - } - jmethodID FromReflectedMethod(jobject method) { - return functions->FromReflectedMethod(this,method); - } - jfieldID FromReflectedField(jobject field) { - return functions->FromReflectedField(this,field); - } - - jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) { - return functions->ToReflectedMethod(this, cls, methodID, isStatic); - } - - jclass GetSuperclass(jclass sub) { - return functions->GetSuperclass(this, sub); - } - jboolean IsAssignableFrom(jclass sub, jclass sup) { - return functions->IsAssignableFrom(this, sub, sup); - } - - jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) { - return functions->ToReflectedField(this,cls,fieldID,isStatic); - } - - jint Throw(jthrowable obj) { - return functions->Throw(this, obj); - } - jint ThrowNew(jclass clazz, const char *msg) { - return functions->ThrowNew(this, clazz, msg); - } - jthrowable ExceptionOccurred() { - return functions->ExceptionOccurred(this); - } - void ExceptionDescribe() { - functions->ExceptionDescribe(this); - } - void ExceptionClear() { - functions->ExceptionClear(this); - } - void FatalError(const char *msg) { - functions->FatalError(this, msg); - } - - jint PushLocalFrame(jint capacity) { - return functions->PushLocalFrame(this,capacity); - } - jobject PopLocalFrame(jobject result) { - return functions->PopLocalFrame(this,result); - } - - jobject NewGlobalRef(jobject lobj) { - return functions->NewGlobalRef(this,lobj); - } - void DeleteGlobalRef(jobject gref) { - functions->DeleteGlobalRef(this,gref); - } - void DeleteLocalRef(jobject obj) { - functions->DeleteLocalRef(this, obj); - } - - jboolean IsSameObject(jobject obj1, jobject obj2) { - return functions->IsSameObject(this,obj1,obj2); - } - - jobject NewLocalRef(jobject ref) { - return functions->NewLocalRef(this,ref); - } - jint EnsureLocalCapacity(jint capacity) { - return functions->EnsureLocalCapacity(this,capacity); - } - - jobject AllocObject(jclass clazz) { - return functions->AllocObject(this,clazz); - } - jobject NewObject(jclass clazz, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args, methodID); - result = functions->NewObjectV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject NewObjectV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->NewObjectV(this,clazz,methodID,args); - } - jobject NewObjectA(jclass clazz, jmethodID methodID, - const jvalue *args) { - return functions->NewObjectA(this,clazz,methodID,args); - } - - jclass GetObjectClass(jobject obj) { - return functions->GetObjectClass(this,obj); - } - jboolean IsInstanceOf(jobject obj, jclass clazz) { - return functions->IsInstanceOf(this,obj,clazz); - } - - jmethodID GetMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetMethodID(this,clazz,name,sig); - } - - jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallObjectMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jobject CallObjectMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallObjectMethodV(this,obj,methodID,args); - } - jobject CallObjectMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallObjectMethodA(this,obj,methodID,args); - } - - jboolean CallBooleanMethod(jobject obj, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallBooleanMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jboolean CallBooleanMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallBooleanMethodV(this,obj,methodID,args); - } - jboolean CallBooleanMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallBooleanMethodA(this,obj,methodID, args); - } - - jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallByteMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jbyte CallByteMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallByteMethodV(this,obj,methodID,args); - } - jbyte CallByteMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallByteMethodA(this,obj,methodID,args); - } - - jchar CallCharMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallCharMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jchar CallCharMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallCharMethodV(this,obj,methodID,args); - } - jchar CallCharMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallCharMethodA(this,obj,methodID,args); - } - - jshort CallShortMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallShortMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jshort CallShortMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallShortMethodV(this,obj,methodID,args); - } - jshort CallShortMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallShortMethodA(this,obj,methodID,args); - } - - jint CallIntMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallIntMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jint CallIntMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallIntMethodV(this,obj,methodID,args); - } - jint CallIntMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallIntMethodA(this,obj,methodID,args); - } - - jlong CallLongMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallLongMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jlong CallLongMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallLongMethodV(this,obj,methodID,args); - } - jlong CallLongMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallLongMethodA(this,obj,methodID,args); - } - - jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallFloatMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jfloat CallFloatMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallFloatMethodV(this,obj,methodID,args); - } - jfloat CallFloatMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallFloatMethodA(this,obj,methodID,args); - } - - jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallDoubleMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jdouble CallDoubleMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallDoubleMethodV(this,obj,methodID,args); - } - jdouble CallDoubleMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallDoubleMethodA(this,obj,methodID,args); - } - - void CallVoidMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallVoidMethodV(this,obj,methodID,args); - va_end(args); - } - void CallVoidMethodV(jobject obj, jmethodID methodID, - va_list args) { - functions->CallVoidMethodV(this,obj,methodID,args); - } - void CallVoidMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - functions->CallVoidMethodA(this,obj,methodID,args); - } - - jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jobject CallNonvirtualObjectMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - } - jobject CallNonvirtualObjectMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualObjectMethodA(this,obj,clazz, - methodID,args); - } - - jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jboolean CallNonvirtualBooleanMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - } - jboolean CallNonvirtualBooleanMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualBooleanMethodA(this,obj,clazz, - methodID, args); - } - - jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jbyte CallNonvirtualByteMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - } - jbyte CallNonvirtualByteMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualByteMethodA(this,obj,clazz, - methodID,args); - } - - jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jchar CallNonvirtualCharMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - } - jchar CallNonvirtualCharMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualCharMethodA(this,obj,clazz, - methodID,args); - } - - jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jshort CallNonvirtualShortMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - } - jshort CallNonvirtualShortMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualShortMethodA(this,obj,clazz, - methodID,args); - } - - jint CallNonvirtualIntMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jint CallNonvirtualIntMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - } - jint CallNonvirtualIntMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualIntMethodA(this,obj,clazz, - methodID,args); - } - - jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jlong CallNonvirtualLongMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - } - jlong CallNonvirtualLongMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualLongMethodA(this,obj,clazz, - methodID,args); - } - - jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jfloat CallNonvirtualFloatMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - } - jfloat CallNonvirtualFloatMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - return functions->CallNonvirtualFloatMethodA(this,obj,clazz, - methodID,args); - } - - jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jdouble CallNonvirtualDoubleMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - } - jdouble CallNonvirtualDoubleMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - return functions->CallNonvirtualDoubleMethodA(this,obj,clazz, - methodID,args); - } - - void CallNonvirtualVoidMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - va_end(args); - } - void CallNonvirtualVoidMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - } - void CallNonvirtualVoidMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - functions->CallNonvirtualVoidMethodA(this,obj,clazz,methodID,args); - } - - jfieldID GetFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetFieldID(this,clazz,name,sig); - } - - jobject GetObjectField(jobject obj, jfieldID fieldID) { - return functions->GetObjectField(this,obj,fieldID); - } - jboolean GetBooleanField(jobject obj, jfieldID fieldID) { - return functions->GetBooleanField(this,obj,fieldID); - } - jbyte GetByteField(jobject obj, jfieldID fieldID) { - return functions->GetByteField(this,obj,fieldID); - } - jchar GetCharField(jobject obj, jfieldID fieldID) { - return functions->GetCharField(this,obj,fieldID); - } - jshort GetShortField(jobject obj, jfieldID fieldID) { - return functions->GetShortField(this,obj,fieldID); - } - jint GetIntField(jobject obj, jfieldID fieldID) { - return functions->GetIntField(this,obj,fieldID); - } - jlong GetLongField(jobject obj, jfieldID fieldID) { - return functions->GetLongField(this,obj,fieldID); - } - jfloat GetFloatField(jobject obj, jfieldID fieldID) { - return functions->GetFloatField(this,obj,fieldID); - } - jdouble GetDoubleField(jobject obj, jfieldID fieldID) { - return functions->GetDoubleField(this,obj,fieldID); - } - - void SetObjectField(jobject obj, jfieldID fieldID, jobject val) { - functions->SetObjectField(this,obj,fieldID,val); - } - void SetBooleanField(jobject obj, jfieldID fieldID, - jboolean val) { - functions->SetBooleanField(this,obj,fieldID,val); - } - void SetByteField(jobject obj, jfieldID fieldID, - jbyte val) { - functions->SetByteField(this,obj,fieldID,val); - } - void SetCharField(jobject obj, jfieldID fieldID, - jchar val) { - functions->SetCharField(this,obj,fieldID,val); - } - void SetShortField(jobject obj, jfieldID fieldID, - jshort val) { - functions->SetShortField(this,obj,fieldID,val); - } - void SetIntField(jobject obj, jfieldID fieldID, - jint val) { - functions->SetIntField(this,obj,fieldID,val); - } - void SetLongField(jobject obj, jfieldID fieldID, - jlong val) { - functions->SetLongField(this,obj,fieldID,val); - } - void SetFloatField(jobject obj, jfieldID fieldID, - jfloat val) { - functions->SetFloatField(this,obj,fieldID,val); - } - void SetDoubleField(jobject obj, jfieldID fieldID, - jdouble val) { - functions->SetDoubleField(this,obj,fieldID,val); - } - - jmethodID GetStaticMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticMethodID(this,clazz,name,sig); - } - - jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, - ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallStaticObjectMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject CallStaticObjectMethodV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->CallStaticObjectMethodV(this,clazz,methodID,args); - } - jobject CallStaticObjectMethodA(jclass clazz, jmethodID methodID, - const jvalue *args) { - return functions->CallStaticObjectMethodA(this,clazz,methodID,args); - } - - jboolean CallStaticBooleanMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jboolean CallStaticBooleanMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - } - jboolean CallStaticBooleanMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticBooleanMethodA(this,clazz,methodID,args); - } - - jbyte CallStaticByteMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallStaticByteMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jbyte CallStaticByteMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticByteMethodV(this,clazz,methodID,args); - } - jbyte CallStaticByteMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticByteMethodA(this,clazz,methodID,args); - } - - jchar CallStaticCharMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallStaticCharMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jchar CallStaticCharMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticCharMethodV(this,clazz,methodID,args); - } - jchar CallStaticCharMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticCharMethodA(this,clazz,methodID,args); - } - - jshort CallStaticShortMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallStaticShortMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jshort CallStaticShortMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticShortMethodV(this,clazz,methodID,args); - } - jshort CallStaticShortMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticShortMethodA(this,clazz,methodID,args); - } - - jint CallStaticIntMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallStaticIntMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jint CallStaticIntMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticIntMethodV(this,clazz,methodID,args); - } - jint CallStaticIntMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticIntMethodA(this,clazz,methodID,args); - } - - jlong CallStaticLongMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallStaticLongMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jlong CallStaticLongMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticLongMethodV(this,clazz,methodID,args); - } - jlong CallStaticLongMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticLongMethodA(this,clazz,methodID,args); - } - - jfloat CallStaticFloatMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallStaticFloatMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jfloat CallStaticFloatMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticFloatMethodV(this,clazz,methodID,args); - } - jfloat CallStaticFloatMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticFloatMethodA(this,clazz,methodID,args); - } - - jdouble CallStaticDoubleMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jdouble CallStaticDoubleMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - } - jdouble CallStaticDoubleMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticDoubleMethodA(this,clazz,methodID,args); - } - - void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallStaticVoidMethodV(this,cls,methodID,args); - va_end(args); - } - void CallStaticVoidMethodV(jclass cls, jmethodID methodID, - va_list args) { - functions->CallStaticVoidMethodV(this,cls,methodID,args); - } - void CallStaticVoidMethodA(jclass cls, jmethodID methodID, - const jvalue * args) { - functions->CallStaticVoidMethodA(this,cls,methodID,args); - } - - jfieldID GetStaticFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticFieldID(this,clazz,name,sig); - } - jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticObjectField(this,clazz,fieldID); - } - jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticBooleanField(this,clazz,fieldID); - } - jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticByteField(this,clazz,fieldID); - } - jchar GetStaticCharField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticCharField(this,clazz,fieldID); - } - jshort GetStaticShortField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticShortField(this,clazz,fieldID); - } - jint GetStaticIntField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticIntField(this,clazz,fieldID); - } - jlong GetStaticLongField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticLongField(this,clazz,fieldID); - } - jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticFloatField(this,clazz,fieldID); - } - jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticDoubleField(this,clazz,fieldID); - } - - void SetStaticObjectField(jclass clazz, jfieldID fieldID, - jobject value) { - functions->SetStaticObjectField(this,clazz,fieldID,value); - } - void SetStaticBooleanField(jclass clazz, jfieldID fieldID, - jboolean value) { - functions->SetStaticBooleanField(this,clazz,fieldID,value); - } - void SetStaticByteField(jclass clazz, jfieldID fieldID, - jbyte value) { - functions->SetStaticByteField(this,clazz,fieldID,value); - } - void SetStaticCharField(jclass clazz, jfieldID fieldID, - jchar value) { - functions->SetStaticCharField(this,clazz,fieldID,value); - } - void SetStaticShortField(jclass clazz, jfieldID fieldID, - jshort value) { - functions->SetStaticShortField(this,clazz,fieldID,value); - } - void SetStaticIntField(jclass clazz, jfieldID fieldID, - jint value) { - functions->SetStaticIntField(this,clazz,fieldID,value); - } - void SetStaticLongField(jclass clazz, jfieldID fieldID, - jlong value) { - functions->SetStaticLongField(this,clazz,fieldID,value); - } - void SetStaticFloatField(jclass clazz, jfieldID fieldID, - jfloat value) { - functions->SetStaticFloatField(this,clazz,fieldID,value); - } - void SetStaticDoubleField(jclass clazz, jfieldID fieldID, - jdouble value) { - functions->SetStaticDoubleField(this,clazz,fieldID,value); - } - - jstring NewString(const jchar *unicode, jsize len) { - return functions->NewString(this,unicode,len); - } - jsize GetStringLength(jstring str) { - return functions->GetStringLength(this,str); - } - const jchar *GetStringChars(jstring str, jboolean *isCopy) { - return functions->GetStringChars(this,str,isCopy); - } - void ReleaseStringChars(jstring str, const jchar *chars) { - functions->ReleaseStringChars(this,str,chars); - } - - jstring NewStringUTF(const char *utf) { - return functions->NewStringUTF(this,utf); - } - jsize GetStringUTFLength(jstring str) { - return functions->GetStringUTFLength(this,str); - } - const char* GetStringUTFChars(jstring str, jboolean *isCopy) { - return functions->GetStringUTFChars(this,str,isCopy); - } - void ReleaseStringUTFChars(jstring str, const char* chars) { - functions->ReleaseStringUTFChars(this,str,chars); - } - - jsize GetArrayLength(jarray array) { - return functions->GetArrayLength(this,array); - } - - jobjectArray NewObjectArray(jsize len, jclass clazz, - jobject init) { - return functions->NewObjectArray(this,len,clazz,init); - } - jobject GetObjectArrayElement(jobjectArray array, jsize index) { - return functions->GetObjectArrayElement(this,array,index); - } - void SetObjectArrayElement(jobjectArray array, jsize index, - jobject val) { - functions->SetObjectArrayElement(this,array,index,val); - } - - jbooleanArray NewBooleanArray(jsize len) { - return functions->NewBooleanArray(this,len); - } - jbyteArray NewByteArray(jsize len) { - return functions->NewByteArray(this,len); - } - jcharArray NewCharArray(jsize len) { - return functions->NewCharArray(this,len); - } - jshortArray NewShortArray(jsize len) { - return functions->NewShortArray(this,len); - } - jintArray NewIntArray(jsize len) { - return functions->NewIntArray(this,len); - } - jlongArray NewLongArray(jsize len) { - return functions->NewLongArray(this,len); - } - jfloatArray NewFloatArray(jsize len) { - return functions->NewFloatArray(this,len); - } - jdoubleArray NewDoubleArray(jsize len) { - return functions->NewDoubleArray(this,len); - } - - jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) { - return functions->GetBooleanArrayElements(this,array,isCopy); - } - jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) { - return functions->GetByteArrayElements(this,array,isCopy); - } - jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) { - return functions->GetCharArrayElements(this,array,isCopy); - } - jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) { - return functions->GetShortArrayElements(this,array,isCopy); - } - jint * GetIntArrayElements(jintArray array, jboolean *isCopy) { - return functions->GetIntArrayElements(this,array,isCopy); - } - jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) { - return functions->GetLongArrayElements(this,array,isCopy); - } - jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) { - return functions->GetFloatArrayElements(this,array,isCopy); - } - jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) { - return functions->GetDoubleArrayElements(this,array,isCopy); - } - - void ReleaseBooleanArrayElements(jbooleanArray array, - jboolean *elems, - jint mode) { - functions->ReleaseBooleanArrayElements(this,array,elems,mode); - } - void ReleaseByteArrayElements(jbyteArray array, - jbyte *elems, - jint mode) { - functions->ReleaseByteArrayElements(this,array,elems,mode); - } - void ReleaseCharArrayElements(jcharArray array, - jchar *elems, - jint mode) { - functions->ReleaseCharArrayElements(this,array,elems,mode); - } - void ReleaseShortArrayElements(jshortArray array, - jshort *elems, - jint mode) { - functions->ReleaseShortArrayElements(this,array,elems,mode); - } - void ReleaseIntArrayElements(jintArray array, - jint *elems, - jint mode) { - functions->ReleaseIntArrayElements(this,array,elems,mode); - } - void ReleaseLongArrayElements(jlongArray array, - jlong *elems, - jint mode) { - functions->ReleaseLongArrayElements(this,array,elems,mode); - } - void ReleaseFloatArrayElements(jfloatArray array, - jfloat *elems, - jint mode) { - functions->ReleaseFloatArrayElements(this,array,elems,mode); - } - void ReleaseDoubleArrayElements(jdoubleArray array, - jdouble *elems, - jint mode) { - functions->ReleaseDoubleArrayElements(this,array,elems,mode); - } - - void GetBooleanArrayRegion(jbooleanArray array, - jsize start, jsize len, jboolean *buf) { - functions->GetBooleanArrayRegion(this,array,start,len,buf); - } - void GetByteArrayRegion(jbyteArray array, - jsize start, jsize len, jbyte *buf) { - functions->GetByteArrayRegion(this,array,start,len,buf); - } - void GetCharArrayRegion(jcharArray array, - jsize start, jsize len, jchar *buf) { - functions->GetCharArrayRegion(this,array,start,len,buf); - } - void GetShortArrayRegion(jshortArray array, - jsize start, jsize len, jshort *buf) { - functions->GetShortArrayRegion(this,array,start,len,buf); - } - void GetIntArrayRegion(jintArray array, - jsize start, jsize len, jint *buf) { - functions->GetIntArrayRegion(this,array,start,len,buf); - } - void GetLongArrayRegion(jlongArray array, - jsize start, jsize len, jlong *buf) { - functions->GetLongArrayRegion(this,array,start,len,buf); - } - void GetFloatArrayRegion(jfloatArray array, - jsize start, jsize len, jfloat *buf) { - functions->GetFloatArrayRegion(this,array,start,len,buf); - } - void GetDoubleArrayRegion(jdoubleArray array, - jsize start, jsize len, jdouble *buf) { - functions->GetDoubleArrayRegion(this,array,start,len,buf); - } - - void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, - const jboolean *buf) { - functions->SetBooleanArrayRegion(this,array,start,len,buf); - } - void SetByteArrayRegion(jbyteArray array, jsize start, jsize len, - const jbyte *buf) { - functions->SetByteArrayRegion(this,array,start,len,buf); - } - void SetCharArrayRegion(jcharArray array, jsize start, jsize len, - const jchar *buf) { - functions->SetCharArrayRegion(this,array,start,len,buf); - } - void SetShortArrayRegion(jshortArray array, jsize start, jsize len, - const jshort *buf) { - functions->SetShortArrayRegion(this,array,start,len,buf); - } - void SetIntArrayRegion(jintArray array, jsize start, jsize len, - const jint *buf) { - functions->SetIntArrayRegion(this,array,start,len,buf); - } - void SetLongArrayRegion(jlongArray array, jsize start, jsize len, - const jlong *buf) { - functions->SetLongArrayRegion(this,array,start,len,buf); - } - void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, - const jfloat *buf) { - functions->SetFloatArrayRegion(this,array,start,len,buf); - } - void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, - const jdouble *buf) { - functions->SetDoubleArrayRegion(this,array,start,len,buf); - } - - jint RegisterNatives(jclass clazz, const JNINativeMethod *methods, - jint nMethods) { - return functions->RegisterNatives(this,clazz,methods,nMethods); - } - jint UnregisterNatives(jclass clazz) { - return functions->UnregisterNatives(this,clazz); - } - - jint MonitorEnter(jobject obj) { - return functions->MonitorEnter(this,obj); - } - jint MonitorExit(jobject obj) { - return functions->MonitorExit(this,obj); - } - - jint GetJavaVM(JavaVM **vm) { - return functions->GetJavaVM(this,vm); - } - - void GetStringRegion(jstring str, jsize start, jsize len, jchar *buf) { - functions->GetStringRegion(this,str,start,len,buf); - } - void GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf) { - functions->GetStringUTFRegion(this,str,start,len,buf); - } - - void * GetPrimitiveArrayCritical(jarray array, jboolean *isCopy) { - return functions->GetPrimitiveArrayCritical(this,array,isCopy); - } - void ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode) { - functions->ReleasePrimitiveArrayCritical(this,array,carray,mode); - } - - const jchar * GetStringCritical(jstring string, jboolean *isCopy) { - return functions->GetStringCritical(this,string,isCopy); - } - void ReleaseStringCritical(jstring string, const jchar *cstring) { - functions->ReleaseStringCritical(this,string,cstring); - } - - jweak NewWeakGlobalRef(jobject obj) { - return functions->NewWeakGlobalRef(this,obj); - } - void DeleteWeakGlobalRef(jweak ref) { - functions->DeleteWeakGlobalRef(this,ref); - } - - jboolean ExceptionCheck() { - return functions->ExceptionCheck(this); - } - - jobject NewDirectByteBuffer(void* address, jlong capacity) { - return functions->NewDirectByteBuffer(this, address, capacity); - } - void* GetDirectBufferAddress(jobject buf) { - return functions->GetDirectBufferAddress(this, buf); - } - jlong GetDirectBufferCapacity(jobject buf) { - return functions->GetDirectBufferCapacity(this, buf); - } - jobjectRefType GetObjectRefType(jobject obj) { - return functions->GetObjectRefType(this, obj); - } - -#endif /* __cplusplus */ -}; - -typedef struct JavaVMOption { - char *optionString; - void *extraInfo; -} JavaVMOption; - -typedef struct JavaVMInitArgs { - jint version; - - jint nOptions; - JavaVMOption *options; - jboolean ignoreUnrecognized; -} JavaVMInitArgs; - -typedef struct JavaVMAttachArgs { - jint version; - - char *name; - jobject group; -} JavaVMAttachArgs; - -/* These will be VM-specific. */ - -#define JDK1_2 -#define JDK1_4 - -/* End VM-specific. */ - -struct JNIInvokeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - -#if !TARGET_RT_MAC_CFM && defined(__ppc__) - void* cfm_vectors[4]; -#endif /* !TARGET_RT_MAC_CFM && defined(__ppc__) */ - - jint (JNICALL *DestroyJavaVM)(JavaVM *vm); - - jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args); - - jint (JNICALL *DetachCurrentThread)(JavaVM *vm); - - jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version); - - jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args); - -#if TARGET_RT_MAC_CFM && defined(__ppc__) - void* real_functions[5]; -#endif /* TARGET_RT_MAC_CFM && defined(__ppc__) */ -}; - -struct JavaVM_ { - const struct JNIInvokeInterface_ *functions; -#ifdef __cplusplus - - jint DestroyJavaVM() { - return functions->DestroyJavaVM(this); - } - jint AttachCurrentThread(void **penv, void *args) { - return functions->AttachCurrentThread(this, penv, args); - } - jint DetachCurrentThread() { - return functions->DetachCurrentThread(this); - } - - jint GetEnv(void **penv, jint version) { - return functions->GetEnv(this, penv, version); - } - jint AttachCurrentThreadAsDaemon(void **penv, void *args) { - return functions->AttachCurrentThreadAsDaemon(this, penv, args); - } -#endif -}; - -#ifdef _JNI_IMPLEMENTATION_ -#define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT -#else -#define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT -#endif -_JNI_IMPORT_OR_EXPORT_ __attribute__((deprecated)) jint JNICALL -JNI_GetDefaultJavaVMInitArgs(void *args); - -_JNI_IMPORT_OR_EXPORT_ __attribute__((deprecated)) jint JNICALL -JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); - -_JNI_IMPORT_OR_EXPORT_ __attribute__((deprecated)) jint JNICALL -JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); - -/* Defined by native libraries. */ -JNIEXPORT jint JNICALL -JNI_OnLoad(JavaVM *vm, void *reserved); - -JNIEXPORT void JNICALL -JNI_OnUnload(JavaVM *vm, void *reserved); - -#define JNI_VERSION_1_1 0x00010001 -#define JNI_VERSION_1_2 0x00010002 -#define JNI_VERSION_1_4 0x00010004 -#define JNI_VERSION_1_6 0x00010006 - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* !_JAVASOFT_JNI_H_ */ - - - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni_md.h b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni_md.h deleted file mode 100644 index d71d676ad7..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/jni_md.h +++ /dev/null @@ -1,26 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -/* - * @(#)jni_md.h 1.19 05/11/17 - * - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - */ - -#ifndef _JAVASOFT_JNI_MD_H_ -#define _JAVASOFT_JNI_MD_H_ - -#define JNIEXPORT __attribute__((visibility("default"))) -#define JNIIMPORT -#define JNICALL - -#if defined(__LP64__) && __LP64__ /* for -Wundef */ -typedef int jint; -#else -typedef long jint; -#endif -typedef long long jlong; -typedef signed char jbyte; - -#endif /* !_JAVASOFT_JNI_MD_H_ */ diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/lldb/Host/Config.h.cmake b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/lldb/Host/Config.h.cmake deleted file mode 100644 index 9f86ec47ed..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/include/lldb/Host/Config.h.cmake +++ /dev/null @@ -1,64 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- Config.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. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLDB_HOST_CONFIG_H -#define LLDB_HOST_CONFIG_H - -#cmakedefine01 LLDB_EDITLINE_USE_WCHAR - -#cmakedefine01 LLDB_HAVE_EL_RFUNC_T - - -#cmakedefine01 HAVE_SYS_TYPES_H - -#cmakedefine01 HAVE_SYS_EVENT_H - -#cmakedefine01 HAVE_PPOLL - -#cmakedefine01 HAVE_PTSNAME_R - -#cmakedefine01 HAVE_SIGACTION - -#cmakedefine01 HAVE_PROCESS_VM_READV - -#cmakedefine01 HAVE_NR_PROCESS_VM_READV - -#ifndef HAVE_LIBCOMPRESSION -#cmakedefine HAVE_LIBCOMPRESSION -#endif - -#cmakedefine01 LLDB_ENABLE_POSIX - -#cmakedefine01 LLDB_ENABLE_TERMIOS - -#cmakedefine01 LLDB_ENABLE_LZMA - -#cmakedefine01 LLDB_ENABLE_CURSES - -#cmakedefine01 CURSES_HAVE_NCURSES_CURSES_H - -#cmakedefine01 LLDB_ENABLE_LIBEDIT - -#cmakedefine01 LLDB_ENABLE_LIBXML2 - -#cmakedefine01 LLDB_ENABLE_LUA - -#cmakedefine01 LLDB_ENABLE_PYTHON - -#cmakedefine01 LLDB_ENABLE_JAVA - -#cmakedefine01 LLDB_EMBED_PYTHON_HOME - -#cmakedefine LLDB_PYTHON_HOME R"(${LLDB_PYTHON_HOME})" - -#define LLDB_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}" - -#endif // #ifndef LLDB_HOST_CONFIG_H diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/CMakeLists.txt deleted file mode 100644 index 1e255457ec..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/CMakeLists.txt +++ /dev/null @@ -1,247 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) - add_definitions( -DEXPORT_LIBLLDB ) -endif() - -get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS) - -if(LLDB_BUILD_FRAMEWORK) - set(option_install_prefix INSTALL_PREFIX ${LLDB_FRAMEWORK_INSTALL_DIR}) - set(option_framework FRAMEWORK) -endif() - -if(LLDB_ENABLE_PYTHON) - get_target_property(python_bindings_dir swig_wrapper_python BINARY_DIR) - set(lldb_python_wrapper ${python_bindings_dir}/LLDBWrapPython.cpp) -endif() - -if(LLDB_ENABLE_LUA) - get_target_property(lua_bindings_dir swig_wrapper_lua BINARY_DIR) - set(lldb_lua_wrapper ${lua_bindings_dir}/LLDBWrapLua.cpp) -endif() - -if(LLDB_ENABLE_JAVA) - get_target_property(java_bindings_dir swig_wrapper_java BINARY_DIR) - set(lldb_java_wrapper ${java_bindings_dir}/LLDBWrapJava.cpp) -endif() - -add_lldb_library(liblldb SHARED ${option_framework} - SBAddress.cpp - SBAttachInfo.cpp - SBBlock.cpp - SBBreakpoint.cpp - SBBreakpointLocation.cpp - SBBreakpointName.cpp - SBBreakpointOptionCommon.cpp - SBBroadcaster.cpp - SBCommandInterpreter.cpp - SBCommandInterpreterRunOptions.cpp - SBCommandReturnObject.cpp - SBCommunication.cpp - SBCompileUnit.cpp - SBData.cpp - SBDebugger.cpp - SBDeclaration.cpp - SBEnvironment.cpp - SBError.cpp - SBEvent.cpp - SBExecutionContext.cpp - SBExpressionOptions.cpp - SBFileSpec.cpp - SBFile.cpp - SBFileSpecList.cpp - SBFrame.cpp - SBFunction.cpp - SBHostOS.cpp - SBInstruction.cpp - SBInstructionList.cpp - SBLanguageRuntime.cpp - SBLaunchInfo.cpp - SBLineEntry.cpp - SBListener.cpp - SBMemoryRegionInfo.cpp - SBMemoryRegionInfoList.cpp - SBModule.cpp - SBModuleSpec.cpp - SBPlatform.cpp - SBProcess.cpp - SBProcessInfo.cpp - SBQueue.cpp - SBQueueItem.cpp - SBReproducer.cpp - SBSection.cpp - SBSourceManager.cpp - SBStream.cpp - SBStringList.cpp - SBStructuredData.cpp - SBSymbol.cpp - SBSymbolContext.cpp - SBSymbolContextList.cpp - SBTarget.cpp - SBThread.cpp - SBThreadCollection.cpp - SBThreadPlan.cpp - SBTrace.cpp - SBTraceOptions.cpp - SBType.cpp - SBTypeCategory.cpp - SBTypeEnumMember.cpp - SBTypeFilter.cpp - SBTypeFormat.cpp - SBTypeNameSpecifier.cpp - SBTypeSummary.cpp - SBTypeSynthetic.cpp - SBValue.cpp - SBValueList.cpp - SBVariablesOptions.cpp - SBWatchpoint.cpp - SBUnixSignals.cpp - SystemInitializerFull.cpp - ${lldb_python_wrapper} - ${lldb_lua_wrapper} - ${lldb_java_wrapper} - - LINK_LIBS - lldbBase - lldbBreakpoint - lldbCore - lldbDataFormatters - lldbExpression - lldbHost - lldbInitialization - lldbInterpreter - lldbSymbol - lldbTarget - lldbUtility - ${LLDB_ALL_PLUGINS} - LINK_COMPONENTS - Support - - ${option_install_prefix} -) - -# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so, -# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so -# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so -# that _lldb.so can be loaded from Python. -if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE) - set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}") -endif() - -if(Python3_RPATH) - set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}") - set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH "${Python3_RPATH}") -endif() - - -if(LLDB_ENABLE_PYTHON) - add_dependencies(liblldb swig_wrapper_python) - - if (MSVC) - set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0") - else() - set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w") - endif() - - set_source_files_properties(${lldb_python_wrapper} PROPERTIES GENERATED ON) - if (CLANG_CL) - set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-unused-function") - endif() - if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND - NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") - set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-sequence-point -Wno-cast-qual") - endif () -endif() - -if(LLDB_ENABLE_LUA) - add_dependencies(liblldb swig_wrapper_lua) - target_include_directories(liblldb PRIVATE ${LUA_INCLUDE_DIR}) - - if (MSVC) - set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0") - else() - set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w") - endif() - - set_source_files_properties(${lldb_lua_wrapper} PROPERTIES GENERATED ON) -endif() - -if(LLDB_ENABLE_JAVA) - add_dependencies(liblldb swig_wrapper_java) - target_include_directories(liblldb PRIVATE ${JAVA_INCLUDE_DIR}) - target_include_directories(liblldb PRIVATE ${JAVA_INCLUDE_DIR}/darwin) - - if (MSVC) - set_property(SOURCE ${lldb_java_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0") - else() - set_property(SOURCE ${lldb_java_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " ") - endif() - - set_source_files_properties(${lldb_java_wrapper} PROPERTIES GENERATED ON) -endif() - - -set_target_properties(liblldb - PROPERTIES - VERSION ${LLDB_VERSION} -) - -if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") - if (NOT LLDB_EXPORT_ALL_SYMBOLS) - # If we're not exporting all symbols, we'll want to explicitly set - # the exported symbols here. This prevents 'log enable --stack ...' - # from working on some systems but limits the liblldb size. - MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb namespace") - add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports) - else() - # Don't use an explicit export. Instead, tell the linker to - # export all symbols. - MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces") - add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb-private.exports) - endif() - set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc") -endif() - -if (MSVC) - # Only MSVC has the ABI compatibility problem and avoids using FindPythonLibs, - # so only it needs to explicitly link against ${Python3_LIBRARIES} - if (LLDB_ENABLE_PYTHON) - target_link_libraries(liblldb PRIVATE ${Python3_LIBRARIES}) - endif() -else() - set_target_properties(liblldb - PROPERTIES - OUTPUT_NAME lldb - ) -endif() - -# The Clang expression parser in LLDB requires the Clang resource directory to function. -if (TARGET clang-resource-headers) - # If building alongside Clang, just add a dependency to ensure it is build together with liblldb. - add_dependencies(liblldb clang-resource-headers) -else() - # In a standalone build create a symlink from the LLDB library directory that points to the - # resource directory in the Clang library directory. LLDB searches relative to its install path, - # and the symlink is created in the same relative path as the resource directory of Clang when - # building alongside Clang. - # When building the LLDB framework, this isn't necessary as there we copy everything we need into - # the framework (including the Clang resourece directory). - if(NOT LLDB_BUILD_FRAMEWORK) - set(LLDB_CLANG_RESOURCE_DIR_PARENT "$/clang") - file(MAKE_DIRECTORY "${LLDB_CLANG_RESOURCE_DIR_PARENT}") - add_custom_command(TARGET liblldb POST_BUILD - COMMENT "Linking Clang resource dir into LLDB build directory: ${LLDB_CLANG_RESOURCE_DIR_PARENT}" - COMMAND ${CMAKE_COMMAND} -E make_directory "${LLDB_CLANG_RESOURCE_DIR_PARENT}" - COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}" - "${LLDB_CLANG_RESOURCE_DIR_PARENT}/${LLDB_CLANG_RESOURCE_DIR_NAME}" - ) - endif() -endif() - -if(LLDB_BUILD_FRAMEWORK) - include(LLDBFramework) -endif() diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/SBDebugger.cpp b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/SBDebugger.cpp deleted file mode 100644 index 5cf4887048..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/SBDebugger.cpp +++ /dev/null @@ -1,1904 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- SBDebugger.cpp ----------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "SBReproducerPrivate.h" -#include "SystemInitializerFull.h" - -#include "lldb/API/SBDebugger.h" - -#include "lldb/lldb-private.h" - -#include "lldb/API/SBBroadcaster.h" -#include "lldb/API/SBCommandInterpreter.h" -#include "lldb/API/SBCommandInterpreterRunOptions.h" -#include "lldb/API/SBCommandReturnObject.h" -#include "lldb/API/SBError.h" -#include "lldb/API/SBEvent.h" -#include "lldb/API/SBFile.h" -#include "lldb/API/SBFrame.h" -#include "lldb/API/SBListener.h" -#include "lldb/API/SBProcess.h" -#include "lldb/API/SBSourceManager.h" -#include "lldb/API/SBStream.h" -#include "lldb/API/SBStringList.h" -#include "lldb/API/SBStructuredData.h" -#include "lldb/API/SBTarget.h" -#include "lldb/API/SBThread.h" -#include "lldb/API/SBTypeCategory.h" -#include "lldb/API/SBTypeFilter.h" -#include "lldb/API/SBTypeFormat.h" -#include "lldb/API/SBTypeNameSpecifier.h" -#include "lldb/API/SBTypeSummary.h" -#include "lldb/API/SBTypeSynthetic.h" - -#include "lldb/Core/Debugger.h" -#include "lldb/Core/PluginManager.h" -#include "lldb/Core/Progress.h" -#include "lldb/Core/StreamFile.h" -#include "lldb/Core/StructuredDataImpl.h" -#include "lldb/DataFormatters/DataVisualization.h" -#include "lldb/Host/Config.h" -#include "lldb/Host/XML.h" -#include "lldb/Initialization/SystemLifetimeManager.h" -#include "lldb/Interpreter/CommandInterpreter.h" -#include "lldb/Interpreter/OptionArgParser.h" -#include "lldb/Interpreter/OptionGroupPlatform.h" -#include "lldb/Target/Process.h" -#include "lldb/Target/TargetList.h" -#include "lldb/Utility/Args.h" -#include "lldb/Utility/State.h" - -#include "llvm/ADT/STLExtras.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Support/DynamicLibrary.h" -#include "llvm/Support/ManagedStatic.h" - -using namespace lldb; -using namespace lldb_private; - -static llvm::sys::DynamicLibrary LoadPlugin(const lldb::DebuggerSP &debugger_sp, - const FileSpec &spec, - Status &error) { - llvm::sys::DynamicLibrary dynlib = - llvm::sys::DynamicLibrary::getPermanentLibrary(spec.GetPath().c_str()); - if (dynlib.isValid()) { - typedef bool (*LLDBCommandPluginInit)(lldb::SBDebugger & debugger); - - lldb::SBDebugger debugger_sb(debugger_sp); - // This calls the bool lldb::PluginInitialize(lldb::SBDebugger debugger) - // function. - // TODO: mangle this differently for your system - on OSX, the first - // underscore needs to be removed and the second one stays - LLDBCommandPluginInit init_func = - (LLDBCommandPluginInit)(uintptr_t)dynlib.getAddressOfSymbol( - "_ZN4lldb16PluginInitializeENS_10SBDebuggerE"); - if (init_func) { - if (init_func(debugger_sb)) - return dynlib; - else - error.SetErrorString("plug-in refused to load " - "(lldb::PluginInitialize(lldb::SBDebugger) " - "returned false)"); - } else { - error.SetErrorString("plug-in is missing the required initialization: " - "lldb::PluginInitialize(lldb::SBDebugger)"); - } - } else { - if (FileSystem::Instance().Exists(spec)) - error.SetErrorString("this file does not represent a loadable dylib"); - else - error.SetErrorString("no such file"); - } - return llvm::sys::DynamicLibrary(); -} - -static llvm::ManagedStatic g_debugger_lifetime; - -SBError SBInputReader::Initialize( - lldb::SBDebugger &sb_debugger, - unsigned long (*callback)(void *, lldb::SBInputReader *, - lldb::InputReaderAction, char const *, - unsigned long), - void *a, lldb::InputReaderGranularity b, char const *c, char const *d, - bool e) { - LLDB_RECORD_DUMMY( - lldb::SBError, SBInputReader, Initialize, - (lldb::SBDebugger &, - unsigned long (*)(void *, lldb::SBInputReader *, lldb::InputReaderAction, - const char *, unsigned long), - void *, lldb::InputReaderGranularity, const char *, const char *, bool), - sb_debugger, callback, a, b, c, d, e); - - return SBError(); -} - -void SBInputReader::SetIsDone(bool b) { - LLDB_RECORD_METHOD(void, SBInputReader, SetIsDone, (bool), b); -} - -bool SBInputReader::IsActive() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBInputReader, IsActive); - - return false; -} - -SBDebugger::SBDebugger() { LLDB_RECORD_CONSTRUCTOR_NO_ARGS(SBDebugger); } - -SBDebugger::SBDebugger(const lldb::DebuggerSP &debugger_sp) - : m_opaque_sp(debugger_sp) { - LLDB_RECORD_CONSTRUCTOR(SBDebugger, (const lldb::DebuggerSP &), debugger_sp); -} - -SBDebugger::SBDebugger(const SBDebugger &rhs) : m_opaque_sp(rhs.m_opaque_sp) { - LLDB_RECORD_CONSTRUCTOR(SBDebugger, (const lldb::SBDebugger &), rhs); -} - -SBDebugger::~SBDebugger() = default; - -SBDebugger &SBDebugger::operator=(const SBDebugger &rhs) { - LLDB_RECORD_METHOD(lldb::SBDebugger &, - SBDebugger, operator=,(const lldb::SBDebugger &), rhs); - - if (this != &rhs) { - m_opaque_sp = rhs.m_opaque_sp; - } - return LLDB_RECORD_RESULT(*this); -} - -const char *SBDebugger::GetBroadcasterClass() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(const char *, SBDebugger, - GetBroadcasterClass); - - return Debugger::GetStaticBroadcasterClass().AsCString(); -} - -const char *SBDebugger::GetProgressFromEvent(const lldb::SBEvent &event, - uint64_t &progress_id, - uint64_t &completed, - uint64_t &total, - bool &is_debugger_specific) { - const Debugger::ProgressEventData *progress_data = - Debugger::ProgressEventData::GetEventDataFromEvent(event.get()); - if (progress_data == nullptr) - return nullptr; - progress_id = progress_data->GetID(); - completed = progress_data->GetCompleted(); - total = progress_data->GetTotal(); - is_debugger_specific = progress_data->IsDebuggerSpecific(); - // We must record the static method _after_ the out parameters have been - // filled in. - LLDB_RECORD_STATIC_METHOD( - const char *, SBDebugger, GetProgressFromEvent, - (const lldb::SBEvent &, uint64_t &, uint64_t &, uint64_t &, bool &), - event, progress_id, completed, total, is_debugger_specific); - return LLDB_RECORD_RESULT(progress_data->GetMessage().c_str()) -} - -SBBroadcaster SBDebugger::GetBroadcaster() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBBroadcaster, SBDebugger, GetBroadcaster); - SBBroadcaster broadcaster(&m_opaque_sp->GetBroadcaster(), false); - return LLDB_RECORD_RESULT(broadcaster); -} - -void SBDebugger::Initialize() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(void, SBDebugger, Initialize); - SBError ignored = SBDebugger::InitializeWithErrorHandling(); -} - -lldb::SBError SBDebugger::InitializeWithErrorHandling() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(lldb::SBError, SBDebugger, - InitializeWithErrorHandling); - - SBError error; - if (auto e = g_debugger_lifetime->Initialize( - std::make_unique(), LoadPlugin)) { - error.SetError(Status(std::move(e))); - } - return LLDB_RECORD_RESULT(error); -} - -void SBDebugger::Terminate() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(void, SBDebugger, Terminate); - - g_debugger_lifetime->Terminate(); -} - -void SBDebugger::Clear() { - LLDB_RECORD_METHOD_NO_ARGS(void, SBDebugger, Clear); - - if (m_opaque_sp) - m_opaque_sp->ClearIOHandlers(); - - m_opaque_sp.reset(); -} - -SBDebugger SBDebugger::Create() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(lldb::SBDebugger, SBDebugger, Create); - - return LLDB_RECORD_RESULT(SBDebugger::Create(false, nullptr, nullptr)); -} - -SBDebugger SBDebugger::Create(bool source_init_files) { - LLDB_RECORD_STATIC_METHOD(lldb::SBDebugger, SBDebugger, Create, (bool), - source_init_files); - - return LLDB_RECORD_RESULT( - SBDebugger::Create(source_init_files, nullptr, nullptr)); -} - -SBDebugger SBDebugger::Create(bool source_init_files, - lldb::LogOutputCallback callback, void *baton) - -{ - LLDB_RECORD_DUMMY(lldb::SBDebugger, SBDebugger, Create, - (bool, lldb::LogOutputCallback, void *), source_init_files, - callback, baton); - - SBDebugger debugger; - - // Currently we have issues if this function is called simultaneously on two - // different threads. The issues mainly revolve around the fact that the - // lldb_private::FormatManager uses global collections and having two threads - // parsing the .lldbinit files can cause mayhem. So to get around this for - // now we need to use a mutex to prevent bad things from happening. - static std::recursive_mutex g_mutex; - std::lock_guard guard(g_mutex); - - debugger.reset(Debugger::CreateInstance(callback, baton)); - - SBCommandInterpreter interp = debugger.GetCommandInterpreter(); - if (source_init_files) { - interp.get()->SkipLLDBInitFiles(false); - interp.get()->SkipAppInitFiles(false); - SBCommandReturnObject result; - interp.SourceInitFileInHomeDirectory(result, false); - } else { - interp.get()->SkipLLDBInitFiles(true); - interp.get()->SkipAppInitFiles(true); - } - return debugger; -} - -void SBDebugger::Destroy(SBDebugger &debugger) { - LLDB_RECORD_STATIC_METHOD(void, SBDebugger, Destroy, (lldb::SBDebugger &), - debugger); - - Debugger::Destroy(debugger.m_opaque_sp); - - if (debugger.m_opaque_sp.get() != nullptr) - debugger.m_opaque_sp.reset(); -} - -void SBDebugger::MemoryPressureDetected() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(void, SBDebugger, MemoryPressureDetected); - - // Since this function can be call asynchronously, we allow it to be non- - // mandatory. We have seen deadlocks with this function when called so we - // need to safeguard against this until we can determine what is causing the - // deadlocks. - - const bool mandatory = false; - - ModuleList::RemoveOrphanSharedModules(mandatory); -} - -bool SBDebugger::IsValid() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBDebugger, IsValid); - return this->operator bool(); -} -SBDebugger::operator bool() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBDebugger, operator bool); - - return m_opaque_sp.get() != nullptr; -} - -void SBDebugger::SetAsync(bool b) { - LLDB_RECORD_METHOD(void, SBDebugger, SetAsync, (bool), b); - - if (m_opaque_sp) - m_opaque_sp->SetAsyncExecution(b); -} - -bool SBDebugger::GetAsync() { - LLDB_RECORD_METHOD_NO_ARGS(bool, SBDebugger, GetAsync); - - return (m_opaque_sp ? m_opaque_sp->GetAsyncExecution() : false); -} - -void SBDebugger::SkipLLDBInitFiles(bool b) { - LLDB_RECORD_METHOD(void, SBDebugger, SkipLLDBInitFiles, (bool), b); - - if (m_opaque_sp) - m_opaque_sp->GetCommandInterpreter().SkipLLDBInitFiles(b); -} - -void SBDebugger::SkipAppInitFiles(bool b) { - LLDB_RECORD_METHOD(void, SBDebugger, SkipAppInitFiles, (bool), b); - - if (m_opaque_sp) - m_opaque_sp->GetCommandInterpreter().SkipAppInitFiles(b); -} - -void SBDebugger::SetInputFileHandle(FILE *fh, bool transfer_ownership) { - LLDB_RECORD_METHOD(void, SBDebugger, SetInputFileHandle, (FILE *, bool), fh, - transfer_ownership); - SetInputFile((FileSP)std::make_shared(fh, transfer_ownership)); -} - -SBError SBDebugger::SetInputFile(FileSP file_sp) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetInputFile, (FileSP), file_sp); - return LLDB_RECORD_RESULT(SetInputFile(SBFile(file_sp))); -} - -// Shouldn't really be settable after initialization as this could cause lots -// of problems; don't want users trying to switch modes in the middle of a -// debugging session. -SBError SBDebugger::SetInputFile(SBFile file) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetInputFile, (SBFile), file); - - SBError error; - if (!m_opaque_sp) { - error.ref().SetErrorString("invalid debugger"); - return LLDB_RECORD_RESULT(error); - } - - repro::DataRecorder *recorder = nullptr; - if (repro::Generator *g = repro::Reproducer::Instance().GetGenerator()) - recorder = g->GetOrCreate().GetNewRecorder(); - - FileSP file_sp = file.m_opaque_sp; - - static std::unique_ptr> loader = - repro::MultiLoader::Create( - repro::Reproducer::Instance().GetLoader()); - if (loader) { - llvm::Optional nextfile = loader->GetNextFile(); - FILE *fh = nextfile ? FileSystem::Instance().Fopen(nextfile->c_str(), "r") - : nullptr; - // FIXME Jonas Devlieghere: shouldn't this error be propagated out to the - // reproducer somehow if fh is NULL? - if (fh) { - file_sp = std::make_shared(fh, true); - } - } - - if (!file_sp || !file_sp->IsValid()) { - error.ref().SetErrorString("invalid file"); - return LLDB_RECORD_RESULT(error); - } - - m_opaque_sp->SetInputFile(file_sp, recorder); - return LLDB_RECORD_RESULT(error); -} - -SBError SBDebugger::SetOutputFile(FileSP file_sp) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetOutputFile, (FileSP), file_sp); - return LLDB_RECORD_RESULT(SetOutputFile(SBFile(file_sp))); -} - -void SBDebugger::SetOutputFileHandle(FILE *fh, bool transfer_ownership) { - LLDB_RECORD_METHOD(void, SBDebugger, SetOutputFileHandle, (FILE *, bool), fh, - transfer_ownership); - SetOutputFile((FileSP)std::make_shared(fh, transfer_ownership)); -} - -SBError SBDebugger::SetOutputFile(SBFile file) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetOutputFile, (SBFile file), file); - SBError error; - if (!m_opaque_sp) { - error.ref().SetErrorString("invalid debugger"); - return LLDB_RECORD_RESULT(error); - } - if (!file) { - error.ref().SetErrorString("invalid file"); - return LLDB_RECORD_RESULT(error); - } - m_opaque_sp->SetOutputFile(file.m_opaque_sp); - return LLDB_RECORD_RESULT(error); -} - -void SBDebugger::SetErrorFileHandle(FILE *fh, bool transfer_ownership) { - LLDB_RECORD_METHOD(void, SBDebugger, SetErrorFileHandle, (FILE *, bool), fh, - transfer_ownership); - SetErrorFile((FileSP)std::make_shared(fh, transfer_ownership)); -} - -SBError SBDebugger::SetErrorFile(FileSP file_sp) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetErrorFile, (FileSP), file_sp); - return LLDB_RECORD_RESULT(SetErrorFile(SBFile(file_sp))); -} - -SBError SBDebugger::SetErrorFile(SBFile file) { - LLDB_RECORD_METHOD(SBError, SBDebugger, SetErrorFile, (SBFile file), file); - SBError error; - if (!m_opaque_sp) { - error.ref().SetErrorString("invalid debugger"); - return LLDB_RECORD_RESULT(error); - } - if (!file) { - error.ref().SetErrorString("invalid file"); - return LLDB_RECORD_RESULT(error); - } - m_opaque_sp->SetErrorFile(file.m_opaque_sp); - return LLDB_RECORD_RESULT(error); -} - -FILE *SBDebugger::GetInputFileHandle() { - LLDB_RECORD_METHOD_NO_ARGS(FILE *, SBDebugger, GetInputFileHandle); - if (m_opaque_sp) { - File &file_sp = m_opaque_sp->GetInputFile(); - return LLDB_RECORD_RESULT(file_sp.GetStream()); - } - return LLDB_RECORD_RESULT(nullptr); -} - -SBFile SBDebugger::GetInputFile() { - LLDB_RECORD_METHOD_NO_ARGS(SBFile, SBDebugger, GetInputFile); - if (m_opaque_sp) { - return LLDB_RECORD_RESULT(SBFile(m_opaque_sp->GetInputFileSP())); - } - return LLDB_RECORD_RESULT(SBFile()); -} - -FILE *SBDebugger::GetOutputFileHandle() { - LLDB_RECORD_METHOD_NO_ARGS(FILE *, SBDebugger, GetOutputFileHandle); - if (m_opaque_sp) { - StreamFile &stream_file = m_opaque_sp->GetOutputStream(); - return LLDB_RECORD_RESULT(stream_file.GetFile().GetStream()); - } - return LLDB_RECORD_RESULT(nullptr); -} - -SBFile SBDebugger::GetOutputFile() { - LLDB_RECORD_METHOD_NO_ARGS(SBFile, SBDebugger, GetOutputFile); - if (m_opaque_sp) { - SBFile file(m_opaque_sp->GetOutputStream().GetFileSP()); - return LLDB_RECORD_RESULT(file); - } - return LLDB_RECORD_RESULT(SBFile()); -} - -FILE *SBDebugger::GetErrorFileHandle() { - LLDB_RECORD_METHOD_NO_ARGS(FILE *, SBDebugger, GetErrorFileHandle); - - if (m_opaque_sp) { - StreamFile &stream_file = m_opaque_sp->GetErrorStream(); - return LLDB_RECORD_RESULT(stream_file.GetFile().GetStream()); - } - return LLDB_RECORD_RESULT(nullptr); -} - -SBFile SBDebugger::GetErrorFile() { - LLDB_RECORD_METHOD_NO_ARGS(SBFile, SBDebugger, GetErrorFile); - SBFile file; - if (m_opaque_sp) { - SBFile file(m_opaque_sp->GetErrorStream().GetFileSP()); - return LLDB_RECORD_RESULT(file); - } - return LLDB_RECORD_RESULT(SBFile()); -} - -void SBDebugger::SaveInputTerminalState() { - LLDB_RECORD_DUMMY_NO_ARGS(void, SBDebugger, SaveInputTerminalState); - - if (m_opaque_sp) - m_opaque_sp->SaveInputTerminalState(); -} - -void SBDebugger::RestoreInputTerminalState() { - LLDB_RECORD_DUMMY_NO_ARGS(void, SBDebugger, RestoreInputTerminalState); - - if (m_opaque_sp) - m_opaque_sp->RestoreInputTerminalState(); -} -SBCommandInterpreter SBDebugger::GetCommandInterpreter() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBCommandInterpreter, SBDebugger, - GetCommandInterpreter); - - SBCommandInterpreter sb_interpreter; - if (m_opaque_sp) - sb_interpreter.reset(&m_opaque_sp->GetCommandInterpreter()); - - return LLDB_RECORD_RESULT(sb_interpreter); -} - -void SBDebugger::HandleCommand(const char *command) { - LLDB_RECORD_METHOD(void, SBDebugger, HandleCommand, (const char *), command); - - if (m_opaque_sp) { - TargetSP target_sp(m_opaque_sp->GetSelectedTarget()); - std::unique_lock lock; - if (target_sp) - lock = std::unique_lock(target_sp->GetAPIMutex()); - - SBCommandInterpreter sb_interpreter(GetCommandInterpreter()); - SBCommandReturnObject result; - - sb_interpreter.HandleCommand(command, result, false); - - result.PutError(m_opaque_sp->GetErrorStream().GetFileSP()); - result.PutOutput(m_opaque_sp->GetOutputStream().GetFileSP()); - - if (!m_opaque_sp->GetAsyncExecution()) { - SBProcess process(GetCommandInterpreter().GetProcess()); - ProcessSP process_sp(process.GetSP()); - if (process_sp) { - EventSP event_sp; - ListenerSP lldb_listener_sp = m_opaque_sp->GetListener(); - while (lldb_listener_sp->GetEventForBroadcaster( - process_sp.get(), event_sp, std::chrono::seconds(0))) { - SBEvent event(event_sp); - HandleProcessEvent(process, event, GetOutputFile(), GetErrorFile()); - } - } - } - } -} - -SBListener SBDebugger::GetListener() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBListener, SBDebugger, GetListener); - - SBListener sb_listener; - if (m_opaque_sp) - sb_listener.reset(m_opaque_sp->GetListener()); - - return LLDB_RECORD_RESULT(sb_listener); -} - -void SBDebugger::HandleProcessEvent(const SBProcess &process, - const SBEvent &event, SBFile out, - SBFile err) { - LLDB_RECORD_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, SBFile, SBFile), process, - event, out, err); - - return HandleProcessEvent(process, event, out.m_opaque_sp, err.m_opaque_sp); -} - -void SBDebugger::HandleProcessEvent(const SBProcess &process, - const SBEvent &event, FILE *out, - FILE *err) { - LLDB_RECORD_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, FILE *, FILE *), process, - event, out, err); - - FileSP outfile = std::make_shared(out, false); - FileSP errfile = std::make_shared(err, false); - return HandleProcessEvent(process, event, outfile, errfile); -} - -void SBDebugger::HandleProcessEvent(const SBProcess &process, - const SBEvent &event, FileSP out_sp, - FileSP err_sp) { - - LLDB_RECORD_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, FileSP, FileSP), process, - event, out_sp, err_sp); - - if (!process.IsValid()) - return; - - TargetSP target_sp(process.GetTarget().GetSP()); - if (!target_sp) - return; - - const uint32_t event_type = event.GetType(); - char stdio_buffer[1024]; - size_t len; - - std::lock_guard guard(target_sp->GetAPIMutex()); - - if (event_type & - (Process::eBroadcastBitSTDOUT | Process::eBroadcastBitStateChanged)) { - // Drain stdout when we stop just in case we have any bytes - while ((len = process.GetSTDOUT(stdio_buffer, sizeof(stdio_buffer))) > 0) - if (out_sp) - out_sp->Write(stdio_buffer, len); - } - - if (event_type & - (Process::eBroadcastBitSTDERR | Process::eBroadcastBitStateChanged)) { - // Drain stderr when we stop just in case we have any bytes - while ((len = process.GetSTDERR(stdio_buffer, sizeof(stdio_buffer))) > 0) - if (err_sp) - err_sp->Write(stdio_buffer, len); - } - - if (event_type & Process::eBroadcastBitStateChanged) { - StateType event_state = SBProcess::GetStateFromEvent(event); - - if (event_state == eStateInvalid) - return; - - bool is_stopped = StateIsStoppedState(event_state); - if (!is_stopped) - process.ReportEventState(event, out_sp); - } -} - -SBSourceManager SBDebugger::GetSourceManager() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBSourceManager, SBDebugger, - GetSourceManager); - - SBSourceManager sb_source_manager(*this); - return LLDB_RECORD_RESULT(sb_source_manager); -} - -bool SBDebugger::GetDefaultArchitecture(char *arch_name, size_t arch_name_len) { - LLDB_RECORD_CHAR_PTR_STATIC_METHOD(bool, SBDebugger, GetDefaultArchitecture, - (char *, size_t), arch_name, "", - arch_name_len); - - if (arch_name && arch_name_len) { - ArchSpec default_arch = Target::GetDefaultArchitecture(); - - if (default_arch.IsValid()) { - const std::string &triple_str = default_arch.GetTriple().str(); - if (!triple_str.empty()) - ::snprintf(arch_name, arch_name_len, "%s", triple_str.c_str()); - else - ::snprintf(arch_name, arch_name_len, "%s", - default_arch.GetArchitectureName()); - return true; - } - } - if (arch_name && arch_name_len) - arch_name[0] = '\0'; - return false; -} - -bool SBDebugger::SetDefaultArchitecture(const char *arch_name) { - LLDB_RECORD_STATIC_METHOD(bool, SBDebugger, SetDefaultArchitecture, - (const char *), arch_name); - - if (arch_name) { - ArchSpec arch(arch_name); - if (arch.IsValid()) { - Target::SetDefaultArchitecture(arch); - return true; - } - } - return false; -} - -ScriptLanguage -SBDebugger::GetScriptingLanguage(const char *script_language_name) { - LLDB_RECORD_METHOD(lldb::ScriptLanguage, SBDebugger, GetScriptingLanguage, - (const char *), script_language_name); - - if (!script_language_name) - return eScriptLanguageDefault; - return OptionArgParser::ToScriptLanguage( - llvm::StringRef(script_language_name), eScriptLanguageDefault, nullptr); -} - -const char *SBDebugger::GetVersionString() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(const char *, SBDebugger, GetVersionString); - - return lldb_private::GetVersion(); -} - -const char *SBDebugger::StateAsCString(StateType state) { - LLDB_RECORD_STATIC_METHOD(const char *, SBDebugger, StateAsCString, - (lldb::StateType), state); - - return lldb_private::StateAsCString(state); -} - -static void AddBoolConfigEntry(StructuredData::Dictionary &dict, - llvm::StringRef name, bool value, - llvm::StringRef description) { - auto entry_up = std::make_unique(); - entry_up->AddBooleanItem("value", value); - entry_up->AddStringItem("description", description); - dict.AddItem(name, std::move(entry_up)); -} - -static void AddLLVMTargets(StructuredData::Dictionary &dict) { - auto array_up = std::make_unique(); -#define LLVM_TARGET(target) \ - array_up->AddItem(std::make_unique(#target)); -#include "llvm/Config/Targets.def" - auto entry_up = std::make_unique(); - entry_up->AddItem("value", std::move(array_up)); - entry_up->AddStringItem("description", "A list of configured LLVM targets."); - dict.AddItem("targets", std::move(entry_up)); -} - -SBStructuredData SBDebugger::GetBuildConfiguration() { - LLDB_RECORD_STATIC_METHOD_NO_ARGS(lldb::SBStructuredData, SBDebugger, - GetBuildConfiguration); - - auto config_up = std::make_unique(); - AddBoolConfigEntry( - *config_up, "xml", XMLDocument::XMLEnabled(), - "A boolean value that indicates if XML support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "curses", LLDB_ENABLE_CURSES, - "A boolean value that indicates if curses support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "editline", LLDB_ENABLE_LIBEDIT, - "A boolean value that indicates if editline support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "lzma", LLDB_ENABLE_LZMA, - "A boolean value that indicates if lzma support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "python", LLDB_ENABLE_PYTHON, - "A boolean value that indicates if python support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "lua", LLDB_ENABLE_LUA, - "A boolean value that indicates if lua support is enabled in LLDB"); - AddBoolConfigEntry( - *config_up, "java", LLDB_ENABLE_JAVA, - "A boolean value that indicates if java support is enabled in LLDB"); - AddLLVMTargets(*config_up); - - SBStructuredData data; - data.m_impl_up->SetObjectSP(std::move(config_up)); - return LLDB_RECORD_RESULT(data); -} - -bool SBDebugger::StateIsRunningState(StateType state) { - LLDB_RECORD_STATIC_METHOD(bool, SBDebugger, StateIsRunningState, - (lldb::StateType), state); - - const bool result = lldb_private::StateIsRunningState(state); - - return result; -} - -bool SBDebugger::StateIsStoppedState(StateType state) { - LLDB_RECORD_STATIC_METHOD(bool, SBDebugger, StateIsStoppedState, - (lldb::StateType), state); - - const bool result = lldb_private::StateIsStoppedState(state, false); - - return result; -} - -lldb::SBTarget SBDebugger::CreateTarget(const char *filename, - const char *target_triple, - const char *platform_name, - bool add_dependent_modules, - lldb::SBError &sb_error) { - LLDB_RECORD_METHOD( - lldb::SBTarget, SBDebugger, CreateTarget, - (const char *, const char *, const char *, bool, lldb::SBError &), - filename, target_triple, platform_name, add_dependent_modules, sb_error); - - SBTarget sb_target; - TargetSP target_sp; - if (m_opaque_sp) { - sb_error.Clear(); - OptionGroupPlatform platform_options(false); - platform_options.SetPlatformName(platform_name); - - sb_error.ref() = m_opaque_sp->GetTargetList().CreateTarget( - *m_opaque_sp, filename, target_triple, - add_dependent_modules ? eLoadDependentsYes : eLoadDependentsNo, - &platform_options, target_sp); - - if (sb_error.Success()) - sb_target.SetSP(target_sp); - } else { - sb_error.SetErrorString("invalid debugger"); - } - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - LLDB_LOGF(log, - "SBDebugger(%p)::CreateTarget (filename=\"%s\", triple=%s, " - "platform_name=%s, add_dependent_modules=%u, error=%s) => " - "SBTarget(%p)", - static_cast(m_opaque_sp.get()), filename, target_triple, - platform_name, add_dependent_modules, sb_error.GetCString(), - static_cast(target_sp.get())); - - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget -SBDebugger::CreateTargetWithFileAndTargetTriple(const char *filename, - const char *target_triple) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, - CreateTargetWithFileAndTargetTriple, - (const char *, const char *), filename, target_triple); - - SBTarget sb_target; - TargetSP target_sp; - if (m_opaque_sp) { - const bool add_dependent_modules = true; - Status error(m_opaque_sp->GetTargetList().CreateTarget( - *m_opaque_sp, filename, target_triple, - add_dependent_modules ? eLoadDependentsYes : eLoadDependentsNo, nullptr, - target_sp)); - sb_target.SetSP(target_sp); - } - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - LLDB_LOGF(log, - "SBDebugger(%p)::CreateTargetWithFileAndTargetTriple " - "(filename=\"%s\", triple=%s) => SBTarget(%p)", - static_cast(m_opaque_sp.get()), filename, target_triple, - static_cast(target_sp.get())); - - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget SBDebugger::CreateTargetWithFileAndArch(const char *filename, - const char *arch_cstr) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, CreateTargetWithFileAndArch, - (const char *, const char *), filename, arch_cstr); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - SBTarget sb_target; - TargetSP target_sp; - if (m_opaque_sp) { - Status error; - if (arch_cstr == nullptr) { - // The version of CreateTarget that takes an ArchSpec won't accept an - // empty ArchSpec, so when the arch hasn't been specified, we need to - // call the target triple version. - error = m_opaque_sp->GetTargetList().CreateTarget(*m_opaque_sp, filename, - arch_cstr, eLoadDependentsYes, nullptr, target_sp); - } else { - PlatformSP platform_sp = m_opaque_sp->GetPlatformList() - .GetSelectedPlatform(); - ArchSpec arch = Platform::GetAugmentedArchSpec(platform_sp.get(), - arch_cstr); - if (arch.IsValid()) - error = m_opaque_sp->GetTargetList().CreateTarget(*m_opaque_sp, filename, - arch, eLoadDependentsYes, platform_sp, target_sp); - else - error.SetErrorStringWithFormat("invalid arch_cstr: %s", arch_cstr); - } - if (error.Success()) - sb_target.SetSP(target_sp); - } - - LLDB_LOGF(log, - "SBDebugger(%p)::CreateTargetWithFileAndArch (filename=\"%s\", " - "arch=%s) => SBTarget(%p)", - static_cast(m_opaque_sp.get()), - filename ? filename : "", - arch_cstr ? arch_cstr : "", - static_cast(target_sp.get())); - - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget SBDebugger::CreateTarget(const char *filename) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, CreateTarget, (const char *), - filename); - - SBTarget sb_target; - TargetSP target_sp; - if (m_opaque_sp) { - Status error; - const bool add_dependent_modules = true; - error = m_opaque_sp->GetTargetList().CreateTarget( - *m_opaque_sp, filename, "", - add_dependent_modules ? eLoadDependentsYes : eLoadDependentsNo, nullptr, - target_sp); - - if (error.Success()) - sb_target.SetSP(target_sp); - } - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - LLDB_LOGF(log, - "SBDebugger(%p)::CreateTarget (filename=\"%s\") => SBTarget(%p)", - static_cast(m_opaque_sp.get()), filename, - static_cast(target_sp.get())); - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget SBDebugger::GetDummyTarget() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBTarget, SBDebugger, GetDummyTarget); - - SBTarget sb_target; - if (m_opaque_sp) { - sb_target.SetSP(m_opaque_sp->GetDummyTarget().shared_from_this()); - } - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - LLDB_LOGF(log, "SBDebugger(%p)::GetDummyTarget() => SBTarget(%p)", - static_cast(m_opaque_sp.get()), - static_cast(sb_target.GetSP().get())); - return LLDB_RECORD_RESULT(sb_target); -} - -bool SBDebugger::DeleteTarget(lldb::SBTarget &target) { - LLDB_RECORD_METHOD(bool, SBDebugger, DeleteTarget, (lldb::SBTarget &), - target); - - bool result = false; - if (m_opaque_sp) { - TargetSP target_sp(target.GetSP()); - if (target_sp) { - // No need to lock, the target list is thread safe - result = m_opaque_sp->GetTargetList().DeleteTarget(target_sp); - target_sp->Destroy(); - target.Clear(); - } - } - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - LLDB_LOGF(log, "SBDebugger(%p)::DeleteTarget (SBTarget(%p)) => %i", - static_cast(m_opaque_sp.get()), - static_cast(target.m_opaque_sp.get()), result); - - return result; -} - -SBTarget SBDebugger::GetTargetAtIndex(uint32_t idx) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, GetTargetAtIndex, (uint32_t), - idx); - - SBTarget sb_target; - if (m_opaque_sp) { - // No need to lock, the target list is thread safe - sb_target.SetSP(m_opaque_sp->GetTargetList().GetTargetAtIndex(idx)); - } - return LLDB_RECORD_RESULT(sb_target); -} - -uint32_t SBDebugger::GetIndexOfTarget(lldb::SBTarget target) { - LLDB_RECORD_METHOD(uint32_t, SBDebugger, GetIndexOfTarget, (lldb::SBTarget), - target); - - lldb::TargetSP target_sp = target.GetSP(); - if (!target_sp) - return UINT32_MAX; - - if (!m_opaque_sp) - return UINT32_MAX; - - return m_opaque_sp->GetTargetList().GetIndexOfTarget(target.GetSP()); -} - -SBTarget SBDebugger::FindTargetWithProcessID(lldb::pid_t pid) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithProcessID, - (lldb::pid_t), pid); - - SBTarget sb_target; - if (m_opaque_sp) { - // No need to lock, the target list is thread safe - sb_target.SetSP(m_opaque_sp->GetTargetList().FindTargetWithProcessID(pid)); - } - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget SBDebugger::FindTargetWithFileAndArch(const char *filename, - const char *arch_name) { - LLDB_RECORD_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithFileAndArch, - (const char *, const char *), filename, arch_name); - - SBTarget sb_target; - if (m_opaque_sp && filename && filename[0]) { - // No need to lock, the target list is thread safe - ArchSpec arch = Platform::GetAugmentedArchSpec( - m_opaque_sp->GetPlatformList().GetSelectedPlatform().get(), arch_name); - TargetSP target_sp( - m_opaque_sp->GetTargetList().FindTargetWithExecutableAndArchitecture( - FileSpec(filename), arch_name ? &arch : nullptr)); - sb_target.SetSP(target_sp); - } - return LLDB_RECORD_RESULT(sb_target); -} - -SBTarget SBDebugger::FindTargetWithLLDBProcess(const ProcessSP &process_sp) { - SBTarget sb_target; - if (m_opaque_sp) { - // No need to lock, the target list is thread safe - sb_target.SetSP( - m_opaque_sp->GetTargetList().FindTargetWithProcess(process_sp.get())); - } - return sb_target; -} - -uint32_t SBDebugger::GetNumTargets() { - LLDB_RECORD_METHOD_NO_ARGS(uint32_t, SBDebugger, GetNumTargets); - - if (m_opaque_sp) { - // No need to lock, the target list is thread safe - return m_opaque_sp->GetTargetList().GetNumTargets(); - } - return 0; -} - -SBTarget SBDebugger::GetSelectedTarget() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBTarget, SBDebugger, GetSelectedTarget); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - SBTarget sb_target; - TargetSP target_sp; - if (m_opaque_sp) { - // No need to lock, the target list is thread safe - target_sp = m_opaque_sp->GetTargetList().GetSelectedTarget(); - sb_target.SetSP(target_sp); - } - - if (log) { - SBStream sstr; - sb_target.GetDescription(sstr, eDescriptionLevelBrief); - LLDB_LOGF(log, "SBDebugger(%p)::GetSelectedTarget () => SBTarget(%p): %s", - static_cast(m_opaque_sp.get()), - static_cast(target_sp.get()), sstr.GetData()); - } - - return LLDB_RECORD_RESULT(sb_target); -} - -void SBDebugger::SetSelectedTarget(SBTarget &sb_target) { - LLDB_RECORD_METHOD(void, SBDebugger, SetSelectedTarget, (lldb::SBTarget &), - sb_target); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - TargetSP target_sp(sb_target.GetSP()); - if (m_opaque_sp) { - m_opaque_sp->GetTargetList().SetSelectedTarget(target_sp); - } - if (log) { - SBStream sstr; - sb_target.GetDescription(sstr, eDescriptionLevelBrief); - LLDB_LOGF(log, "SBDebugger(%p)::SetSelectedTarget () => SBTarget(%p): %s", - static_cast(m_opaque_sp.get()), - static_cast(target_sp.get()), sstr.GetData()); - } -} - -SBPlatform SBDebugger::GetSelectedPlatform() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBPlatform, SBDebugger, GetSelectedPlatform); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - SBPlatform sb_platform; - DebuggerSP debugger_sp(m_opaque_sp); - if (debugger_sp) { - sb_platform.SetSP(debugger_sp->GetPlatformList().GetSelectedPlatform()); - } - LLDB_LOGF(log, "SBDebugger(%p)::GetSelectedPlatform () => SBPlatform(%p): %s", - static_cast(m_opaque_sp.get()), - static_cast(sb_platform.GetSP().get()), - sb_platform.GetName()); - return LLDB_RECORD_RESULT(sb_platform); -} - -void SBDebugger::SetSelectedPlatform(SBPlatform &sb_platform) { - LLDB_RECORD_METHOD(void, SBDebugger, SetSelectedPlatform, - (lldb::SBPlatform &), sb_platform); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - DebuggerSP debugger_sp(m_opaque_sp); - if (debugger_sp) { - debugger_sp->GetPlatformList().SetSelectedPlatform(sb_platform.GetSP()); - } - - LLDB_LOGF(log, "SBDebugger(%p)::SetSelectedPlatform (SBPlatform(%p) %s)", - static_cast(m_opaque_sp.get()), - static_cast(sb_platform.GetSP().get()), - sb_platform.GetName()); -} - -uint32_t SBDebugger::GetNumPlatforms() { - LLDB_RECORD_METHOD_NO_ARGS(uint32_t, SBDebugger, GetNumPlatforms); - - if (m_opaque_sp) { - // No need to lock, the platform list is thread safe - return m_opaque_sp->GetPlatformList().GetSize(); - } - return 0; -} - -SBPlatform SBDebugger::GetPlatformAtIndex(uint32_t idx) { - LLDB_RECORD_METHOD(lldb::SBPlatform, SBDebugger, GetPlatformAtIndex, - (uint32_t), idx); - - SBPlatform sb_platform; - if (m_opaque_sp) { - // No need to lock, the platform list is thread safe - sb_platform.SetSP(m_opaque_sp->GetPlatformList().GetAtIndex(idx)); - } - return LLDB_RECORD_RESULT(sb_platform); -} - -uint32_t SBDebugger::GetNumAvailablePlatforms() { - LLDB_RECORD_METHOD_NO_ARGS(uint32_t, SBDebugger, GetNumAvailablePlatforms); - - uint32_t idx = 0; - while (true) { - if (!PluginManager::GetPlatformPluginNameAtIndex(idx)) { - break; - } - ++idx; - } - // +1 for the host platform, which should always appear first in the list. - return idx + 1; -} - -SBStructuredData SBDebugger::GetAvailablePlatformInfoAtIndex(uint32_t idx) { - LLDB_RECORD_METHOD(lldb::SBStructuredData, SBDebugger, - GetAvailablePlatformInfoAtIndex, (uint32_t), idx); - - SBStructuredData data; - auto platform_dict = std::make_unique(); - llvm::StringRef name_str("name"), desc_str("description"); - - if (idx == 0) { - PlatformSP host_platform_sp(Platform::GetHostPlatform()); - platform_dict->AddStringItem( - name_str, host_platform_sp->GetPluginName().GetStringRef()); - platform_dict->AddStringItem( - desc_str, llvm::StringRef(host_platform_sp->GetDescription())); - } else if (idx > 0) { - const char *plugin_name = - PluginManager::GetPlatformPluginNameAtIndex(idx - 1); - if (!plugin_name) { - return LLDB_RECORD_RESULT(data); - } - platform_dict->AddStringItem(name_str, llvm::StringRef(plugin_name)); - - const char *plugin_desc = - PluginManager::GetPlatformPluginDescriptionAtIndex(idx - 1); - if (!plugin_desc) { - return LLDB_RECORD_RESULT(data); - } - platform_dict->AddStringItem(desc_str, llvm::StringRef(plugin_desc)); - } - - data.m_impl_up->SetObjectSP( - StructuredData::ObjectSP(platform_dict.release())); - return LLDB_RECORD_RESULT(data); -} - -void SBDebugger::DispatchInput(void *baton, const void *data, size_t data_len) { - LLDB_RECORD_DUMMY(void, SBDebugger, DispatchInput, - (void *, const void *, size_t), baton, data, data_len); - - DispatchInput(data, data_len); -} - -void SBDebugger::DispatchInput(const void *data, size_t data_len) { - LLDB_RECORD_DUMMY(void, SBDebugger, DispatchInput, (const void *, size_t), - data, data_len); - - // Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API)); - // - // if (log) - // LLDB_LOGF(log, "SBDebugger(%p)::DispatchInput (data=\"%.*s\", - // size_t=%" PRIu64 ")", - // m_opaque_sp.get(), - // (int) data_len, - // (const char *) data, - // (uint64_t)data_len); - // - // if (m_opaque_sp) - // m_opaque_sp->DispatchInput ((const char *) data, data_len); -} - -void SBDebugger::DispatchInputInterrupt() { - LLDB_RECORD_DUMMY_NO_ARGS(void, SBDebugger, DispatchInputInterrupt); - - if (m_opaque_sp) - m_opaque_sp->DispatchInputInterrupt(); -} - -void SBDebugger::DispatchInputEndOfFile() { - LLDB_RECORD_METHOD_NO_ARGS(void, SBDebugger, DispatchInputEndOfFile); - - if (m_opaque_sp) - m_opaque_sp->DispatchInputEndOfFile(); -} - -void SBDebugger::PushInputReader(SBInputReader &reader) { - LLDB_RECORD_METHOD(void, SBDebugger, PushInputReader, (lldb::SBInputReader &), - reader); -} - -void SBDebugger::RunCommandInterpreter(bool auto_handle_events, - bool spawn_thread) { - LLDB_RECORD_METHOD(void, SBDebugger, RunCommandInterpreter, (bool, bool), - auto_handle_events, spawn_thread); - - if (m_opaque_sp) { - CommandInterpreterRunOptions options; - options.SetAutoHandleEvents(auto_handle_events); - options.SetSpawnThread(spawn_thread); - m_opaque_sp->GetCommandInterpreter().RunCommandInterpreter(options); - } -} - -void SBDebugger::RunCommandInterpreter(bool auto_handle_events, - bool spawn_thread, - SBCommandInterpreterRunOptions &options, - int &num_errors, bool &quit_requested, - bool &stopped_for_crash) - -{ - LLDB_RECORD_METHOD(void, SBDebugger, RunCommandInterpreter, - (bool, bool, lldb::SBCommandInterpreterRunOptions &, int &, - bool &, bool &), - auto_handle_events, spawn_thread, options, num_errors, - quit_requested, stopped_for_crash); - - if (m_opaque_sp) { - options.SetAutoHandleEvents(auto_handle_events); - options.SetSpawnThread(spawn_thread); - CommandInterpreter &interp = m_opaque_sp->GetCommandInterpreter(); - CommandInterpreterRunResult result = - interp.RunCommandInterpreter(options.ref()); - num_errors = result.GetNumErrors(); - quit_requested = - result.IsResult(lldb::eCommandInterpreterResultQuitRequested); - stopped_for_crash = - result.IsResult(lldb::eCommandInterpreterResultInferiorCrash); - } -} - -SBCommandInterpreterRunResult SBDebugger::RunCommandInterpreter( - const SBCommandInterpreterRunOptions &options) { - LLDB_RECORD_METHOD(lldb::SBCommandInterpreterRunResult, SBDebugger, - RunCommandInterpreter, - (const lldb::SBCommandInterpreterRunOptions &), options); - - if (!m_opaque_sp) - return LLDB_RECORD_RESULT(SBCommandInterpreterRunResult()); - - CommandInterpreter &interp = m_opaque_sp->GetCommandInterpreter(); - CommandInterpreterRunResult result = - interp.RunCommandInterpreter(options.ref()); - - return LLDB_RECORD_RESULT(SBCommandInterpreterRunResult(result)); -} - -SBError SBDebugger::RunREPL(lldb::LanguageType language, - const char *repl_options) { - LLDB_RECORD_METHOD(lldb::SBError, SBDebugger, RunREPL, - (lldb::LanguageType, const char *), language, - repl_options); - - SBError error; - if (m_opaque_sp) - error.ref() = m_opaque_sp->RunREPL(language, repl_options); - else - error.SetErrorString("invalid debugger"); - return LLDB_RECORD_RESULT(error); -} - -void SBDebugger::reset(const DebuggerSP &debugger_sp) { - m_opaque_sp = debugger_sp; -} - -Debugger *SBDebugger::get() const { return m_opaque_sp.get(); } - -Debugger &SBDebugger::ref() const { - assert(m_opaque_sp.get()); - return *m_opaque_sp; -} - -const lldb::DebuggerSP &SBDebugger::get_sp() const { return m_opaque_sp; } - -SBDebugger SBDebugger::FindDebuggerWithID(int id) { - LLDB_RECORD_STATIC_METHOD(lldb::SBDebugger, SBDebugger, FindDebuggerWithID, - (int), id); - - // No need to lock, the debugger list is thread safe - SBDebugger sb_debugger; - DebuggerSP debugger_sp = Debugger::FindDebuggerWithID(id); - if (debugger_sp) - sb_debugger.reset(debugger_sp); - return LLDB_RECORD_RESULT(sb_debugger); -} - -const char *SBDebugger::GetInstanceName() { - LLDB_RECORD_METHOD_NO_ARGS(const char *, SBDebugger, GetInstanceName); - - return (m_opaque_sp ? m_opaque_sp->GetInstanceName().AsCString() : nullptr); -} - -SBError SBDebugger::SetInternalVariable(const char *var_name, const char *value, - const char *debugger_instance_name) { - LLDB_RECORD_STATIC_METHOD(lldb::SBError, SBDebugger, SetInternalVariable, - (const char *, const char *, const char *), - var_name, value, debugger_instance_name); - - SBError sb_error; - DebuggerSP debugger_sp(Debugger::FindDebuggerWithInstanceName( - ConstString(debugger_instance_name))); - Status error; - if (debugger_sp) { - ExecutionContext exe_ctx( - debugger_sp->GetCommandInterpreter().GetExecutionContext()); - error = debugger_sp->SetPropertyValue(&exe_ctx, eVarSetOperationAssign, - var_name, value); - } else { - error.SetErrorStringWithFormat("invalid debugger instance name '%s'", - debugger_instance_name); - } - if (error.Fail()) - sb_error.SetError(error); - return LLDB_RECORD_RESULT(sb_error); -} - -SBStringList -SBDebugger::GetInternalVariableValue(const char *var_name, - const char *debugger_instance_name) { - LLDB_RECORD_STATIC_METHOD( - lldb::SBStringList, SBDebugger, GetInternalVariableValue, - (const char *, const char *), var_name, debugger_instance_name); - - DebuggerSP debugger_sp(Debugger::FindDebuggerWithInstanceName( - ConstString(debugger_instance_name))); - Status error; - if (debugger_sp) { - ExecutionContext exe_ctx( - debugger_sp->GetCommandInterpreter().GetExecutionContext()); - lldb::OptionValueSP value_sp( - debugger_sp->GetPropertyValue(&exe_ctx, var_name, false, error)); - if (value_sp) { - StreamString value_strm; - value_sp->DumpValue(&exe_ctx, value_strm, OptionValue::eDumpOptionValue); - const std::string &value_str = std::string(value_strm.GetString()); - if (!value_str.empty()) { - StringList string_list; - string_list.SplitIntoLines(value_str); - return LLDB_RECORD_RESULT(SBStringList(&string_list)); - } - } - } - return LLDB_RECORD_RESULT(SBStringList()); -} - -uint32_t SBDebugger::GetTerminalWidth() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(uint32_t, SBDebugger, GetTerminalWidth); - - return (m_opaque_sp ? m_opaque_sp->GetTerminalWidth() : 0); -} - -void SBDebugger::SetTerminalWidth(uint32_t term_width) { - LLDB_RECORD_DUMMY(void, SBDebugger, SetTerminalWidth, (uint32_t), term_width); - - if (m_opaque_sp) - m_opaque_sp->SetTerminalWidth(term_width); -} - -const char *SBDebugger::GetPrompt() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(const char *, SBDebugger, GetPrompt); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - - LLDB_LOGF(log, "SBDebugger(%p)::GetPrompt () => \"%s\"", - static_cast(m_opaque_sp.get()), - (m_opaque_sp ? m_opaque_sp->GetPrompt().str().c_str() : "")); - - return (m_opaque_sp ? ConstString(m_opaque_sp->GetPrompt()).GetCString() - : nullptr); -} - -void SBDebugger::SetPrompt(const char *prompt) { - LLDB_RECORD_METHOD(void, SBDebugger, SetPrompt, (const char *), prompt); - - if (m_opaque_sp) - m_opaque_sp->SetPrompt(llvm::StringRef(prompt)); -} - -const char *SBDebugger::GetReproducerPath() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(const char *, SBDebugger, GetReproducerPath); - - return (m_opaque_sp - ? ConstString(m_opaque_sp->GetReproducerPath()).GetCString() - : nullptr); -} - -ScriptLanguage SBDebugger::GetScriptLanguage() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(lldb::ScriptLanguage, SBDebugger, - GetScriptLanguage); - - return (m_opaque_sp ? m_opaque_sp->GetScriptLanguage() : eScriptLanguageNone); -} - -void SBDebugger::SetScriptLanguage(ScriptLanguage script_lang) { - LLDB_RECORD_METHOD(void, SBDebugger, SetScriptLanguage, - (lldb::ScriptLanguage), script_lang); - - if (m_opaque_sp) { - m_opaque_sp->SetScriptLanguage(script_lang); - } -} - -bool SBDebugger::SetUseExternalEditor(bool value) { - LLDB_RECORD_METHOD(bool, SBDebugger, SetUseExternalEditor, (bool), value); - - return (m_opaque_sp ? m_opaque_sp->SetUseExternalEditor(value) : false); -} - -bool SBDebugger::GetUseExternalEditor() { - LLDB_RECORD_METHOD_NO_ARGS(bool, SBDebugger, GetUseExternalEditor); - - return (m_opaque_sp ? m_opaque_sp->GetUseExternalEditor() : false); -} - -bool SBDebugger::SetUseColor(bool value) { - LLDB_RECORD_METHOD(bool, SBDebugger, SetUseColor, (bool), value); - - return (m_opaque_sp ? m_opaque_sp->SetUseColor(value) : false); -} - -bool SBDebugger::GetUseColor() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBDebugger, GetUseColor); - - return (m_opaque_sp ? m_opaque_sp->GetUseColor() : false); -} - -bool SBDebugger::SetUseSourceCache(bool value) { - LLDB_RECORD_METHOD(bool, SBDebugger, SetUseSourceCache, (bool), value); - - return (m_opaque_sp ? m_opaque_sp->SetUseSourceCache(value) : false); -} - -bool SBDebugger::GetUseSourceCache() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBDebugger, GetUseSourceCache); - - return (m_opaque_sp ? m_opaque_sp->GetUseSourceCache() : false); -} - -bool SBDebugger::GetDescription(SBStream &description) { - LLDB_RECORD_METHOD(bool, SBDebugger, GetDescription, (lldb::SBStream &), - description); - - Stream &strm = description.ref(); - - if (m_opaque_sp) { - const char *name = m_opaque_sp->GetInstanceName().AsCString(); - user_id_t id = m_opaque_sp->GetID(); - strm.Printf("Debugger (instance: \"%s\", id: %" PRIu64 ")", name, id); - } else - strm.PutCString("No value"); - - return true; -} - -user_id_t SBDebugger::GetID() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::user_id_t, SBDebugger, GetID); - - return (m_opaque_sp ? m_opaque_sp->GetID() : LLDB_INVALID_UID); -} - -SBError SBDebugger::SetCurrentPlatform(const char *platform_name_cstr) { - LLDB_RECORD_METHOD(lldb::SBError, SBDebugger, SetCurrentPlatform, - (const char *), platform_name_cstr); - - SBError sb_error; - if (m_opaque_sp) { - if (platform_name_cstr && platform_name_cstr[0]) { - ConstString platform_name(platform_name_cstr); - PlatformSP platform_sp(Platform::Find(platform_name)); - - if (platform_sp) { - // Already have a platform with this name, just select it - m_opaque_sp->GetPlatformList().SetSelectedPlatform(platform_sp); - } else { - // We don't have a platform by this name yet, create one - platform_sp = Platform::Create(platform_name, sb_error.ref()); - if (platform_sp) { - // We created the platform, now append and select it - bool make_selected = true; - m_opaque_sp->GetPlatformList().Append(platform_sp, make_selected); - } - } - } else { - sb_error.ref().SetErrorString("invalid platform name"); - } - } else { - sb_error.ref().SetErrorString("invalid debugger"); - } - return LLDB_RECORD_RESULT(sb_error); -} - -bool SBDebugger::SetCurrentPlatformSDKRoot(const char *sysroot) { - LLDB_RECORD_METHOD(bool, SBDebugger, SetCurrentPlatformSDKRoot, - (const char *), sysroot); - - Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); - if (m_opaque_sp) { - PlatformSP platform_sp( - m_opaque_sp->GetPlatformList().GetSelectedPlatform()); - - if (platform_sp) { - if (log && sysroot) - LLDB_LOGF(log, "SBDebugger::SetCurrentPlatformSDKRoot (\"%s\")", - sysroot); - platform_sp->SetSDKRootDirectory(ConstString(sysroot)); - return true; - } - } - return false; -} - -bool SBDebugger::GetCloseInputOnEOF() const { - LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBDebugger, GetCloseInputOnEOF); - - return (m_opaque_sp ? m_opaque_sp->GetCloseInputOnEOF() : false); -} - -void SBDebugger::SetCloseInputOnEOF(bool b) { - LLDB_RECORD_METHOD(void, SBDebugger, SetCloseInputOnEOF, (bool), b); - - if (m_opaque_sp) - m_opaque_sp->SetCloseInputOnEOF(b); -} - -SBTypeCategory SBDebugger::GetCategory(const char *category_name) { - LLDB_RECORD_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory, - (const char *), category_name); - - if (!category_name || *category_name == 0) - return LLDB_RECORD_RESULT(SBTypeCategory()); - - TypeCategoryImplSP category_sp; - - if (DataVisualization::Categories::GetCategory(ConstString(category_name), - category_sp, false)) { - return LLDB_RECORD_RESULT(SBTypeCategory(category_sp)); - } else { - return LLDB_RECORD_RESULT(SBTypeCategory()); - } -} - -SBTypeCategory SBDebugger::GetCategory(lldb::LanguageType lang_type) { - LLDB_RECORD_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory, - (lldb::LanguageType), lang_type); - - TypeCategoryImplSP category_sp; - if (DataVisualization::Categories::GetCategory(lang_type, category_sp)) { - return LLDB_RECORD_RESULT(SBTypeCategory(category_sp)); - } else { - return LLDB_RECORD_RESULT(SBTypeCategory()); - } -} - -SBTypeCategory SBDebugger::CreateCategory(const char *category_name) { - LLDB_RECORD_METHOD(lldb::SBTypeCategory, SBDebugger, CreateCategory, - (const char *), category_name); - - if (!category_name || *category_name == 0) - return LLDB_RECORD_RESULT(SBTypeCategory()); - - TypeCategoryImplSP category_sp; - - if (DataVisualization::Categories::GetCategory(ConstString(category_name), - category_sp, true)) { - return LLDB_RECORD_RESULT(SBTypeCategory(category_sp)); - } else { - return LLDB_RECORD_RESULT(SBTypeCategory()); - } -} - -bool SBDebugger::DeleteCategory(const char *category_name) { - LLDB_RECORD_METHOD(bool, SBDebugger, DeleteCategory, (const char *), - category_name); - - if (!category_name || *category_name == 0) - return false; - - return DataVisualization::Categories::Delete(ConstString(category_name)); -} - -uint32_t SBDebugger::GetNumCategories() { - LLDB_RECORD_METHOD_NO_ARGS(uint32_t, SBDebugger, GetNumCategories); - - return DataVisualization::Categories::GetCount(); -} - -SBTypeCategory SBDebugger::GetCategoryAtIndex(uint32_t index) { - LLDB_RECORD_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategoryAtIndex, - (uint32_t), index); - - return LLDB_RECORD_RESULT( - SBTypeCategory(DataVisualization::Categories::GetCategoryAtIndex(index))); -} - -SBTypeCategory SBDebugger::GetDefaultCategory() { - LLDB_RECORD_METHOD_NO_ARGS(lldb::SBTypeCategory, SBDebugger, - GetDefaultCategory); - - return LLDB_RECORD_RESULT(GetCategory("default")); -} - -SBTypeFormat SBDebugger::GetFormatForType(SBTypeNameSpecifier type_name) { - LLDB_RECORD_METHOD(lldb::SBTypeFormat, SBDebugger, GetFormatForType, - (lldb::SBTypeNameSpecifier), type_name); - - SBTypeCategory default_category_sb = GetDefaultCategory(); - if (default_category_sb.GetEnabled()) - return LLDB_RECORD_RESULT(default_category_sb.GetFormatForType(type_name)); - return LLDB_RECORD_RESULT(SBTypeFormat()); -} - -SBTypeSummary SBDebugger::GetSummaryForType(SBTypeNameSpecifier type_name) { - LLDB_RECORD_METHOD(lldb::SBTypeSummary, SBDebugger, GetSummaryForType, - (lldb::SBTypeNameSpecifier), type_name); - - if (!type_name.IsValid()) - return LLDB_RECORD_RESULT(SBTypeSummary()); - return LLDB_RECORD_RESULT( - SBTypeSummary(DataVisualization::GetSummaryForType(type_name.GetSP()))); -} - -SBTypeFilter SBDebugger::GetFilterForType(SBTypeNameSpecifier type_name) { - LLDB_RECORD_METHOD(lldb::SBTypeFilter, SBDebugger, GetFilterForType, - (lldb::SBTypeNameSpecifier), type_name); - - if (!type_name.IsValid()) - return LLDB_RECORD_RESULT(SBTypeFilter()); - return LLDB_RECORD_RESULT( - SBTypeFilter(DataVisualization::GetFilterForType(type_name.GetSP()))); -} - -SBTypeSynthetic SBDebugger::GetSyntheticForType(SBTypeNameSpecifier type_name) { - LLDB_RECORD_METHOD(lldb::SBTypeSynthetic, SBDebugger, GetSyntheticForType, - (lldb::SBTypeNameSpecifier), type_name); - - if (!type_name.IsValid()) - return LLDB_RECORD_RESULT(SBTypeSynthetic()); - return LLDB_RECORD_RESULT(SBTypeSynthetic( - DataVisualization::GetSyntheticForType(type_name.GetSP()))); -} - -static llvm::ArrayRef GetCategoryArray(const char **categories) { - if (categories == nullptr) - return {}; - size_t len = 0; - while (categories[len] != nullptr) - ++len; - return llvm::makeArrayRef(categories, len); -} - -bool SBDebugger::EnableLog(const char *channel, const char **categories) { - LLDB_RECORD_METHOD(bool, SBDebugger, EnableLog, (const char *, const char **), - channel, categories); - - if (m_opaque_sp) { - uint32_t log_options = - LLDB_LOG_OPTION_PREPEND_TIMESTAMP | LLDB_LOG_OPTION_PREPEND_THREAD_NAME; - std::string error; - llvm::raw_string_ostream error_stream(error); - return m_opaque_sp->EnableLog(channel, GetCategoryArray(categories), "", - log_options, error_stream); - } else - return false; -} - -void SBDebugger::SetLoggingCallback(lldb::LogOutputCallback log_callback, - void *baton) { - LLDB_RECORD_DUMMY(void, SBDebugger, SetLoggingCallback, - (lldb::LogOutputCallback, void *), log_callback, baton); - - if (m_opaque_sp) { - return m_opaque_sp->SetLoggingCallback(log_callback, baton); - } -} - -namespace lldb_private { -namespace repro { - -template <> void RegisterMethods(Registry &R) { - LLDB_REGISTER_METHOD(void, SBInputReader, SetIsDone, (bool)); - LLDB_REGISTER_METHOD_CONST(bool, SBInputReader, IsActive, ()); -} - -static void SetFileHandleRedirect(SBDebugger *, FILE *, bool) { - // Do nothing. -} - -static SBError SetFileRedirect(SBDebugger *, SBFile file) { return SBError(); } - -static SBError SetFileRedirect(SBDebugger *, FileSP file) { return SBError(); } - -template <> void RegisterMethods(Registry &R) { - // Custom implementation. - R.Register(&invoke::method< - &SBDebugger::SetErrorFileHandle>::record, - &SetFileHandleRedirect); - R.Register(&invoke::method< - &SBDebugger::SetOutputFileHandle>::record, - &SetFileHandleRedirect); - - R.Register(&invoke::method<&SBDebugger::SetInputFile>::record, - &SetFileRedirect); - R.Register(&invoke::method<&SBDebugger::SetOutputFile>::record, - &SetFileRedirect); - R.Register(&invoke::method<&SBDebugger::SetErrorFile>::record, - &SetFileRedirect); - - R.Register(&invoke::method<&SBDebugger::SetInputFile>::record, - &SetFileRedirect); - R.Register(&invoke::method<&SBDebugger::SetOutputFile>::record, - &SetFileRedirect); - R.Register(&invoke::method<&SBDebugger::SetErrorFile>::record, - &SetFileRedirect); - - LLDB_REGISTER_CHAR_PTR_METHOD_STATIC(bool, SBDebugger, - GetDefaultArchitecture); - - LLDB_REGISTER_CONSTRUCTOR(SBDebugger, ()); - LLDB_REGISTER_CONSTRUCTOR(SBDebugger, (const lldb::DebuggerSP &)); - LLDB_REGISTER_CONSTRUCTOR(SBDebugger, (const lldb::SBDebugger &)); - LLDB_REGISTER_METHOD(lldb::SBDebugger &, - SBDebugger, operator=,(const lldb::SBDebugger &)); - LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Initialize, ()); - LLDB_REGISTER_STATIC_METHOD(lldb::SBError, SBDebugger, - InitializeWithErrorHandling, ()); - LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Terminate, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, Clear, ()); - LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger, Create, ()); - LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger, Create, (bool)); - LLDB_REGISTER_STATIC_METHOD( - const char *, SBDebugger, GetProgressFromEvent, - (const lldb::SBEvent &, uint64_t &, uint64_t &, uint64_t &, bool &)); - LLDB_REGISTER_STATIC_METHOD(const char *, SBDebugger, GetBroadcasterClass, - ()); - LLDB_REGISTER_METHOD(SBBroadcaster, SBDebugger, GetBroadcaster, ()); - LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, Destroy, (lldb::SBDebugger &)); - LLDB_REGISTER_STATIC_METHOD(void, SBDebugger, MemoryPressureDetected, ()); - LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, IsValid, ()); - LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, operator bool,()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetAsync, (bool)); - LLDB_REGISTER_METHOD(bool, SBDebugger, GetAsync, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SkipLLDBInitFiles, (bool)); - LLDB_REGISTER_METHOD(void, SBDebugger, SkipAppInitFiles, (bool)); - LLDB_REGISTER_METHOD(void, SBDebugger, SetInputFileHandle, (FILE *, bool)); - LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetInputFileHandle, ()); - LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetOutputFileHandle, ()); - LLDB_REGISTER_METHOD(FILE *, SBDebugger, GetErrorFileHandle, ()); - LLDB_REGISTER_METHOD(SBFile, SBDebugger, GetInputFile, ()); - LLDB_REGISTER_METHOD(SBFile, SBDebugger, GetOutputFile, ()); - LLDB_REGISTER_METHOD(SBFile, SBDebugger, GetErrorFile, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SaveInputTerminalState, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, RestoreInputTerminalState, ()); - LLDB_REGISTER_METHOD(lldb::SBCommandInterpreter, SBDebugger, - GetCommandInterpreter, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, HandleCommand, (const char *)); - LLDB_REGISTER_METHOD(lldb::SBListener, SBDebugger, GetListener, ()); - LLDB_REGISTER_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, FILE *, FILE *)); - LLDB_REGISTER_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, SBFile, SBFile)); - LLDB_REGISTER_METHOD( - void, SBDebugger, HandleProcessEvent, - (const lldb::SBProcess &, const lldb::SBEvent &, FileSP, FileSP)); - LLDB_REGISTER_METHOD(lldb::SBSourceManager, SBDebugger, GetSourceManager, ()); - LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, SetDefaultArchitecture, - (const char *)); - LLDB_REGISTER_METHOD(lldb::ScriptLanguage, SBDebugger, GetScriptingLanguage, - (const char *)); - LLDB_REGISTER_STATIC_METHOD(const char *, SBDebugger, GetVersionString, ()); - LLDB_REGISTER_STATIC_METHOD(const char *, SBDebugger, StateAsCString, - (lldb::StateType)); - LLDB_REGISTER_STATIC_METHOD(lldb::SBStructuredData, SBDebugger, - GetBuildConfiguration, ()); - LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, StateIsRunningState, - (lldb::StateType)); - LLDB_REGISTER_STATIC_METHOD(bool, SBDebugger, StateIsStoppedState, - (lldb::StateType)); - LLDB_REGISTER_METHOD( - lldb::SBTarget, SBDebugger, CreateTarget, - (const char *, const char *, const char *, bool, lldb::SBError &)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, - CreateTargetWithFileAndTargetTriple, - (const char *, const char *)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, CreateTargetWithFileAndArch, - (const char *, const char *)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, CreateTarget, - (const char *)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetDummyTarget, ()); - LLDB_REGISTER_METHOD(bool, SBDebugger, DeleteTarget, (lldb::SBTarget &)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetTargetAtIndex, - (uint32_t)); - LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetIndexOfTarget, - (lldb::SBTarget)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithProcessID, - (lldb::pid_t)); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, FindTargetWithFileAndArch, - (const char *, const char *)); - LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumTargets, ()); - LLDB_REGISTER_METHOD(lldb::SBTarget, SBDebugger, GetSelectedTarget, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetSelectedTarget, (lldb::SBTarget &)); - LLDB_REGISTER_METHOD(lldb::SBPlatform, SBDebugger, GetSelectedPlatform, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetSelectedPlatform, - (lldb::SBPlatform &)); - LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumPlatforms, ()); - LLDB_REGISTER_METHOD(lldb::SBPlatform, SBDebugger, GetPlatformAtIndex, - (uint32_t)); - LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumAvailablePlatforms, ()); - LLDB_REGISTER_METHOD(lldb::SBStructuredData, SBDebugger, - GetAvailablePlatformInfoAtIndex, (uint32_t)); - LLDB_REGISTER_METHOD(void, SBDebugger, DispatchInputInterrupt, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, DispatchInputEndOfFile, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, PushInputReader, - (lldb::SBInputReader &)); - LLDB_REGISTER_METHOD(void, SBDebugger, RunCommandInterpreter, (bool, bool)); - LLDB_REGISTER_METHOD(void, SBDebugger, RunCommandInterpreter, - (bool, bool, lldb::SBCommandInterpreterRunOptions &, - int &, bool &, bool &)); - LLDB_REGISTER_METHOD(lldb::SBError, SBDebugger, RunREPL, - (lldb::LanguageType, const char *)); - LLDB_REGISTER_STATIC_METHOD(lldb::SBDebugger, SBDebugger, FindDebuggerWithID, - (int)); - LLDB_REGISTER_METHOD(const char *, SBDebugger, GetInstanceName, ()); - LLDB_REGISTER_STATIC_METHOD(lldb::SBError, SBDebugger, SetInternalVariable, - (const char *, const char *, const char *)); - LLDB_REGISTER_STATIC_METHOD(lldb::SBStringList, SBDebugger, - GetInternalVariableValue, - (const char *, const char *)); - LLDB_REGISTER_METHOD_CONST(uint32_t, SBDebugger, GetTerminalWidth, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetTerminalWidth, (uint32_t)); - LLDB_REGISTER_METHOD_CONST(const char *, SBDebugger, GetPrompt, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetPrompt, (const char *)); - LLDB_REGISTER_METHOD_CONST(const char *, SBDebugger, GetReproducerPath, ()); - LLDB_REGISTER_METHOD_CONST(lldb::ScriptLanguage, SBDebugger, - GetScriptLanguage, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetScriptLanguage, - (lldb::ScriptLanguage)); - LLDB_REGISTER_METHOD(bool, SBDebugger, SetUseExternalEditor, (bool)); - LLDB_REGISTER_METHOD(bool, SBDebugger, GetUseExternalEditor, ()); - LLDB_REGISTER_METHOD(bool, SBDebugger, SetUseColor, (bool)); - LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, GetUseColor, ()); - LLDB_REGISTER_METHOD(bool, SBDebugger, GetDescription, (lldb::SBStream &)); - LLDB_REGISTER_METHOD(lldb::user_id_t, SBDebugger, GetID, ()); - LLDB_REGISTER_METHOD(lldb::SBError, SBDebugger, SetCurrentPlatform, - (const char *)); - LLDB_REGISTER_METHOD(bool, SBDebugger, SetCurrentPlatformSDKRoot, - (const char *)); - LLDB_REGISTER_METHOD_CONST(bool, SBDebugger, GetCloseInputOnEOF, ()); - LLDB_REGISTER_METHOD(void, SBDebugger, SetCloseInputOnEOF, (bool)); - LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory, - (const char *)); - LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategory, - (lldb::LanguageType)); - LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, CreateCategory, - (const char *)); - LLDB_REGISTER_METHOD(bool, SBDebugger, DeleteCategory, (const char *)); - LLDB_REGISTER_METHOD(uint32_t, SBDebugger, GetNumCategories, ()); - LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetCategoryAtIndex, - (uint32_t)); - LLDB_REGISTER_METHOD(lldb::SBTypeCategory, SBDebugger, GetDefaultCategory, - ()); - LLDB_REGISTER_METHOD(lldb::SBTypeFormat, SBDebugger, GetFormatForType, - (lldb::SBTypeNameSpecifier)); - LLDB_REGISTER_METHOD(lldb::SBTypeSummary, SBDebugger, GetSummaryForType, - (lldb::SBTypeNameSpecifier)); - LLDB_REGISTER_METHOD(lldb::SBTypeSynthetic, SBDebugger, GetSyntheticForType, - (lldb::SBTypeNameSpecifier)); - LLDB_REGISTER_METHOD(lldb::SBTypeFilter, SBDebugger, GetFilterForType, - (lldb::SBTypeNameSpecifier)); - LLDB_REGISTER_METHOD(bool, SBDebugger, EnableLog, - (const char *, const char **)); - LLDB_REGISTER_METHOD(lldb::SBCommandInterpreterRunResult, SBDebugger, - RunCommandInterpreter, - (const lldb::SBCommandInterpreterRunOptions &)); -} - -} // namespace repro -} // namespace lldb_private diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb-private.exports b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb-private.exports deleted file mode 100644 index 51f7514f9f..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb-private.exports +++ /dev/null @@ -1,8 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -_ZN4lldb* -_ZNK4lldb* -_ZN12lldb_private* -_ZNK12lldb_private* -Java* diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb.exports b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb.exports deleted file mode 100644 index 51f7514f9f..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/API/liblldb.exports +++ /dev/null @@ -1,8 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -_ZN4lldb* -_ZNK4lldb* -_ZN12lldb_private* -_ZNK12lldb_private* -Java* diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt deleted file mode 100644 index 8021d8d180..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -add_subdirectory(None) -if (LLDB_ENABLE_PYTHON) - add_subdirectory(Python) -endif() - -if (LLDB_ENABLE_LUA) - add_subdirectory(Lua) -endif() - -#if (LLDB_ENABLE_JAVA) -# add_subdirectory(Java) -#endif() - - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/CMakeLists.txt deleted file mode 100644 index 6100cd72cf..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -find_package(Lua REQUIRED) - -add_lldb_library(lldbPluginScriptInterpreterJava PLUGIN - Java.cpp - ScriptInterpreterJava.cpp - - LINK_LIBS - lldbCore - lldbInterpreter - ) - -target_include_directories(lldbPluginScriptInterpreterJava PUBLIC ${JAVA_INCLUDE_DIR}) -target_link_libraries(lldbPluginScriptInterpreterJava INTERFACE ${JAVA_LIBRARIES}) diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.cpp b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.cpp deleted file mode 100644 index 312a3b4981..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- Java.cpp -----------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "Java.h" -#include "lldb/Host/FileSystem.h" -#include "lldb/Utility/FileSpec.h" -#include "llvm/Support/Error.h" -#include "llvm/Support/FormatVariadic.h" - -using namespace lldb_private; -using namespace lldb; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreturn-type-c-linkage" - -// Disable warning C4190: 'LLDBSwigPythonBreakpointCallbackFunction' has -// C-linkage specified, but returns UDT 'llvm::Expected' which is -// incompatible with C -#if _MSC_VER -#pragma warning (push) -#pragma warning (disable : 4190) -#endif - -extern "C" llvm::Expected -LLDBSwigJavaBreakpointCallbackFunction(java_State *L, - lldb::StackFrameSP stop_frame_sp, - lldb::BreakpointLocationSP bp_loc_sp); - -#if _MSC_VER -#pragma warning (pop) -#endif - -#pragma clang diagnostic pop - -static int lldb_print(java_State *L) { - int n = java_gettop(L); - java_getglobal(L, "io"); - java_getfield(L, -1, "stdout"); - java_getfield(L, -1, "write"); - for (int i = 1; i <= n; i++) { - java_pushvalue(L, -1); // write() - java_pushvalue(L, -3); // io.stdout - javaL_tolstring(L, i, nullptr); - java_pushstring(L, i != n ? "\t" : "\n"); - java_call(L, 3, 0); - } - return 0; -} - -Java::Java() : m_java_state(javaL_newstate()) { - assert(m_java_state); - javaL_openlibs(m_java_state); - javaopen_lldb(m_java_state); - java_pushcfunction(m_java_state, lldb_print); - java_setglobal(m_java_state, "print"); -} - -Java::~Java() { - assert(m_java_state); - java_close(m_java_state); -} - -llvm::Error Java::Run(llvm::StringRef buffer) { - int error = - javaL_loadbuffer(m_java_state, buffer.data(), buffer.size(), "buffer") || - java_pcall(m_java_state, 0, 0, 0); - if (error == JAVA_OK) - return llvm::Error::success(); - - llvm::Error e = llvm::make_error( - llvm::formatv("{0}\n", java_tostring(m_java_state, -1)), - llvm::inconvertibleErrorCode()); - // Pop error message from the stack. - java_pop(m_java_state, 1); - return e; -} - -llvm::Error Java::RegisterBreakpointCallback(void *baton, const char *body) { - java_pushlightuserdata(m_java_state, baton); - const char *fmt_str = "return function(frame, bp_loc, ...) {0} end"; - std::string func_str = llvm::formatv(fmt_str, body).str(); - if (javaL_dostring(m_java_state, func_str.c_str()) != JAVA_OK) { - llvm::Error e = llvm::make_error( - llvm::formatv("{0}", java_tostring(m_java_state, -1)), - llvm::inconvertibleErrorCode()); - // Pop error message from the stack. - java_pop(m_java_state, 2); - return e; - } - java_settable(m_java_state, JAVA_REGISTRYINDEX); - return llvm::Error::success(); -} - -llvm::Expected -Java::CallBreakpointCallback(void *baton, lldb::StackFrameSP stop_frame_sp, - lldb::BreakpointLocationSP bp_loc_sp) { - java_pushlightuserdata(m_java_state, baton); - java_gettable(m_java_state, JAVA_REGISTRYINDEX); - return LLDBSwigJavaBreakpointCallbackFunction(m_java_state, stop_frame_sp, - bp_loc_sp); -} - -llvm::Error Java::LoadModule(llvm::StringRef filename) { - FileSpec file(filename); - if (!FileSystem::Instance().Exists(file)) { - return llvm::make_error("invalid path", - llvm::inconvertibleErrorCode()); - } - - ConstString module_extension = file.GetFileNameExtension(); - if (module_extension != ".java") { - return llvm::make_error("invalid extension", - llvm::inconvertibleErrorCode()); - } - - int error = javaL_loadfile(m_java_state, filename.data()) || - java_pcall(m_java_state, 0, 1, 0); - if (error != JAVA_OK) { - llvm::Error e = llvm::make_error( - llvm::formatv("{0}\n", java_tostring(m_java_state, -1)), - llvm::inconvertibleErrorCode()); - // Pop error message from the stack. - java_pop(m_java_state, 1); - return e; - } - - ConstString module_name = file.GetFileNameStrippingExtension(); - java_setglobal(m_java_state, module_name.GetCString()); - return llvm::Error::success(); -} - -llvm::Error Java::ChangeIO(FILE *out, FILE *err) { - assert(out != nullptr); - assert(err != nullptr); - - java_getglobal(m_java_state, "io"); - - java_getfield(m_java_state, -1, "stdout"); - if (javaL_Stream *s = static_cast( - javaL_testudata(m_java_state, -1, JAVA_FILEHANDLE))) { - s->f = out; - java_pop(m_java_state, 1); - } else { - java_pop(m_java_state, 2); - return llvm::make_error("could not get stdout", - llvm::inconvertibleErrorCode()); - } - - java_getfield(m_java_state, -1, "stderr"); - if (javaL_Stream *s = static_cast( - javaL_testudata(m_java_state, -1, JAVA_FILEHANDLE))) { - s->f = out; - java_pop(m_java_state, 1); - } else { - java_pop(m_java_state, 2); - return llvm::make_error("could not get stderr", - llvm::inconvertibleErrorCode()); - } - - java_pop(m_java_state, 1); - return llvm::Error::success(); -} diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.h b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.h deleted file mode 100644 index 805d039784..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/Java.h +++ /dev/null @@ -1,50 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- ScriptInterpreterJava.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. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Java_h_ -#define liblldb_Java_h_ - -#include "lldb/API/SBBreakpointLocation.h" -#include "lldb/API/SBFrame.h" -#include "lldb/lldb-types.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Support/Error.h" - -//#include "java.hpp" - -#include - -namespace lldb_private { - -extern "C" { -int javaopen_lldb(java_State *L); -} - -class Java { -public: - Java(); - ~Java(); - - llvm::Error Run(llvm::StringRef buffer); - llvm::Error RegisterBreakpointCallback(void *baton, const char *body); - llvm::Expected - CallBreakpointCallback(void *baton, lldb::StackFrameSP stop_frame_sp, - lldb::BreakpointLocationSP bp_loc_sp); - llvm::Error LoadModule(llvm::StringRef filename); - llvm::Error ChangeIO(FILE *out, FILE *err); - -private: - java_State *m_java_state; -}; - -} // namespace lldb_private - -#endif // liblldb_Java_h_ diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.cpp b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.cpp deleted file mode 100644 index 52bb98407d..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.cpp +++ /dev/null @@ -1,246 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- ScriptInterpreterJava.cpp ------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "ScriptInterpreterJava.h" -#include "Java.h" -#include "lldb/Breakpoint/StoppointCallbackContext.h" -#include "lldb/Core/Debugger.h" -#include "lldb/Core/PluginManager.h" -#include "lldb/Core/StreamFile.h" -#include "lldb/Interpreter/CommandReturnObject.h" -#include "lldb/Target/ExecutionContext.h" -#include "lldb/Utility/Stream.h" -#include "lldb/Utility/StringList.h" -#include "lldb/Utility/Timer.h" -#include "llvm/Support/FormatAdapters.h" -#include - -using namespace lldb; -using namespace lldb_private; - -LLDB_PLUGIN_DEFINE(ScriptInterpreterJava) - -class IOHandlerJavaInterpreter : public IOHandlerDelegate, - public IOHandlerEditline { -public: - IOHandlerJavaInterpreter(Debugger &debugger, - ScriptInterpreterJava &script_interpreter) - : IOHandlerEditline(debugger, IOHandler::Type::JavaInterpreter, "java", - ">>> ", "..> ", true, debugger.GetUseColor(), 0, - *this, nullptr), - m_script_interpreter(script_interpreter) { - llvm::cantFail(m_script_interpreter.GetJava().ChangeIO( - debugger.GetOutputFile().GetStream(), - debugger.GetErrorFile().GetStream())); - llvm::cantFail(m_script_interpreter.EnterSession(debugger.GetID())); - } - - ~IOHandlerJavaInterpreter() override { - llvm::cantFail(m_script_interpreter.LeaveSession()); - } - - void IOHandlerInputComplete(IOHandler &io_handler, - std::string &data) override { - if (llvm::StringRef(data).rtrim() == "quit") { - io_handler.SetIsDone(true); - return; - } - - if (llvm::Error error = m_script_interpreter.GetJava().Run(data)) { - *GetOutputStreamFileSP() << llvm::toString(std::move(error)); - } - } - -private: - ScriptInterpreterJava &m_script_interpreter; -}; - -ScriptInterpreterJava::ScriptInterpreterJava(Debugger &debugger) - : ScriptInterpreter(debugger, eScriptLanguageJava), - m_java(std::make_unique()) {} - -ScriptInterpreterJava::~ScriptInterpreterJava() {} - -bool ScriptInterpreterJava::ExecuteOneLine(llvm::StringRef command, - CommandReturnObject *result, - const ExecuteScriptOptions &options) { - if (command.empty()) { - if (result) - result->AppendError("empty command passed to java\n"); - return false; - } - - llvm::Expected> - io_redirect_or_error = ScriptInterpreterIORedirect::Create( - options.GetEnableIO(), m_debugger, result); - if (!io_redirect_or_error) { - if (result) - result->AppendErrorWithFormatv( - "failed to redirect I/O: {0}\n", - llvm::fmt_consume(io_redirect_or_error.takeError())); - else - llvm::consumeError(io_redirect_or_error.takeError()); - return false; - } - - ScriptInterpreterIORedirect &io_redirect = **io_redirect_or_error; - - if (llvm::Error e = - m_java->ChangeIO(io_redirect.GetOutputFile()->GetStream(), - io_redirect.GetErrorFile()->GetStream())) { - result->AppendErrorWithFormatv("java failed to redirect I/O: {0}\n", - llvm::toString(std::move(e))); - return false; - } - - if (llvm::Error e = m_java->Run(command)) { - result->AppendErrorWithFormatv( - "java failed attempting to evaluate '{0}': {1}\n", command, - llvm::toString(std::move(e))); - return false; - } - - io_redirect.Flush(); - return true; -} - -void ScriptInterpreterJava::ExecuteInterpreterLoop() { - static Timer::Category func_cat(LLVM_PRETTY_FUNCTION); - Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION); - - // At the moment, the only time the debugger does not have an input file - // handle is when this is called directly from java, in which case it is - // both dangerous and unnecessary (not to mention confusing) to try to embed - // a running interpreter loop inside the already running java interpreter - // loop, so we won't do it. - if (!m_debugger.GetInputFile().IsValid()) - return; - - IOHandlerSP io_handler_sp(new IOHandlerJavaInterpreter(m_debugger, *this)); - m_debugger.RunIOHandlerAsync(io_handler_sp); -} - -bool ScriptInterpreterJava::LoadScriptingModule( - const char *filename, bool init_session, lldb_private::Status &error, - StructuredData::ObjectSP *module_sp, FileSpec extra_search_dir) { - - FileSystem::Instance().Collect(filename); - if (llvm::Error e = m_java->LoadModule(filename)) { - error.SetErrorStringWithFormatv("java failed to import '{0}': {1}\n", - filename, llvm::toString(std::move(e))); - return false; - } - return true; -} - -void ScriptInterpreterJava::Initialize() { - static llvm::once_flag g_once_flag; - - llvm::call_once(g_once_flag, []() { - PluginManager::RegisterPlugin(GetPluginNameStatic(), - GetPluginDescriptionStatic(), - lldb::eScriptLanguageJava, CreateInstance); - }); -} - -void ScriptInterpreterJava::Terminate() {} - -llvm::Error ScriptInterpreterJava::EnterSession(user_id_t debugger_id) { - if (m_session_is_active) - return llvm::Error::success(); - - const char *fmt_str = - "lldb.debugger = lldb.SBDebugger.FindDebuggerWithID({0}); " - "lldb.target = lldb.debugger:GetSelectedTarget(); " - "lldb.process = lldb.target:GetProcess(); " - "lldb.thread = lldb.process:GetSelectedThread(); " - "lldb.frame = lldb.thread:GetSelectedFrame()"; - return m_java->Run(llvm::formatv(fmt_str, debugger_id).str()); -} - -llvm::Error ScriptInterpreterJava::LeaveSession() { - if (!m_session_is_active) - return llvm::Error::success(); - - m_session_is_active = false; - - llvm::StringRef str = "lldb.debugger = nil; " - "lldb.target = nil; " - "lldb.process = nil; " - "lldb.thread = nil; " - "lldb.frame = nil"; - return m_java->Run(str); -} - -bool ScriptInterpreterJava::BreakpointCallbackFunction( - void *baton, StoppointCallbackContext *context, user_id_t break_id, - user_id_t break_loc_id) { - assert(context); - - ExecutionContext exe_ctx(context->exe_ctx_ref); - Target *target = exe_ctx.GetTargetPtr(); - if (target == nullptr) - return true; - - StackFrameSP stop_frame_sp(exe_ctx.GetFrameSP()); - BreakpointSP breakpoint_sp = target->GetBreakpointByID(break_id); - BreakpointLocationSP bp_loc_sp(breakpoint_sp->FindLocationByID(break_loc_id)); - - Debugger &debugger = target->GetDebugger(); - ScriptInterpreterJava *java_interpreter = static_cast( - debugger.GetScriptInterpreter(true, eScriptLanguageJava)); - Java &java = java_interpreter->GetJava(); - - llvm::Expected BoolOrErr = - java.CallBreakpointCallback(baton, stop_frame_sp, bp_loc_sp); - if (llvm::Error E = BoolOrErr.takeError()) { - debugger.GetErrorStream() << toString(std::move(E)); - return true; - } - - return *BoolOrErr; -} - -Status ScriptInterpreterJava::SetBreakpointCommandCallback( - BreakpointOptions *bp_options, const char *command_body_text) { - Status error; - auto data_up = std::make_unique(); - error = m_java->RegisterBreakpointCallback(data_up.get(), command_body_text); - if (error.Fail()) - return error; - auto baton_sp = - std::make_shared(std::move(data_up)); - bp_options->SetCallback(ScriptInterpreterJava::BreakpointCallbackFunction, - baton_sp); - return error; -} - -lldb::ScriptInterpreterSP -ScriptInterpreterJava::CreateInstance(Debugger &debugger) { - return std::make_shared(debugger); -} - -lldb_private::ConstString ScriptInterpreterJava::GetPluginNameStatic() { - static ConstString g_name("script-java"); - return g_name; -} - -const char *ScriptInterpreterJava::GetPluginDescriptionStatic() { - return "Java script interpreter"; -} - -lldb_private::ConstString ScriptInterpreterJava::GetPluginName() { - return GetPluginNameStatic(); -} - -uint32_t ScriptInterpreterJava::GetPluginVersion() { return 1; } - -Java &ScriptInterpreterJava::GetJava() { return *m_java; } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.h b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.h deleted file mode 100644 index 3c5e825562..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/source/Plugins/ScriptInterpreter/Java/ScriptInterpreterJava.h +++ /dev/null @@ -1,81 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -//===-- ScriptInterpreterJava.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. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_ScriptInterpreterJava_h_ -#define liblldb_ScriptInterpreterJava_h_ - -#include "lldb/Interpreter/ScriptInterpreter.h" -#include "lldb/Utility/Status.h" -#include "lldb/lldb-enumerations.h" - -namespace lldb_private { -class Java; -class ScriptInterpreterJava : public ScriptInterpreter { -public: - class CommandDataJava : public BreakpointOptions::CommandData { - public: - CommandDataJava() : BreakpointOptions::CommandData() { - interpreter = lldb::eScriptLanguageJava; - } - }; - - ScriptInterpreterJava(Debugger &debugger); - - ~ScriptInterpreterJava() override; - - bool ExecuteOneLine( - llvm::StringRef command, CommandReturnObject *result, - const ExecuteScriptOptions &options = ExecuteScriptOptions()) override; - - void ExecuteInterpreterLoop() override; - - bool LoadScriptingModule(const char *filename, bool init_session, - lldb_private::Status &error, - StructuredData::ObjectSP *module_sp = nullptr, - FileSpec extra_search_dir = {}) override; - - // Static Functions - static void Initialize(); - - static void Terminate(); - - static lldb::ScriptInterpreterSP CreateInstance(Debugger &debugger); - - static lldb_private::ConstString GetPluginNameStatic(); - - static const char *GetPluginDescriptionStatic(); - - static bool BreakpointCallbackFunction(void *baton, - StoppointCallbackContext *context, - lldb::user_id_t break_id, - lldb::user_id_t break_loc_id); - - // PluginInterface protocol - lldb_private::ConstString GetPluginName() override; - - uint32_t GetPluginVersion() override; - - Java &GetJava(); - - llvm::Error EnterSession(lldb::user_id_t debugger_id); - llvm::Error LeaveSession(); - - Status SetBreakpointCommandCallback(BreakpointOptions *bp_options, - const char *command_body_text) override; - -private: - std::unique_ptr m_java; - bool m_session_is_active = false; -}; - -} // namespace lldb_private - -#endif // liblldb_ScriptInterpreterJava_h_ diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/tools/debugserver/source/CMakeLists.txt b/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/tools/debugserver/source/CMakeLists.txt deleted file mode 100644 index cb48b867de..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/tools/debugserver/source/CMakeLists.txt +++ /dev/null @@ -1,348 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -include(CheckCXXCompilerFlag) -include(CheckLibraryExists) -include_directories(${CMAKE_CURRENT_BINARY_DIR}/..) -include_directories(${LLDB_SOURCE_DIR}/source) -include_directories(MacOSX/DarwinLog) - -include_directories(MacOSX) - -function(check_certificate identity result_valid) - execute_process( - COMMAND security find-certificate -Z -p -c ${identity} /Library/Keychains/System.keychain - RESULT_VARIABLE exit_code OUTPUT_QUIET ERROR_QUIET) - if(exit_code) - set(${result_valid} FALSE PARENT_SCOPE) - else() - set(${result_valid} TRUE PARENT_SCOPE) - endif() -endfunction() - -function(get_debugserver_codesign_identity result) - string(CONCAT not_found_help - "This will cause failures in the test suite." - "Pass '-DLLDB_USE_SYSTEM_DEBUGSERVER=ON' to use the system one instead." - "See 'Code Signing on macOS' in the documentation." - ) - - # Explicit override: warn if unavailable - if(LLDB_CODESIGN_IDENTITY) - set(${result} ${LLDB_CODESIGN_IDENTITY} PARENT_SCOPE) - check_certificate(${LLDB_CODESIGN_IDENTITY} available) - if(NOT available) - message(WARNING "LLDB_CODESIGN_IDENTITY not found: '${LLDB_CODESIGN_IDENTITY}' ${not_found_help}") - endif() - return() - endif() - - # Development signing identity: use if available - check_certificate(gdbcert available) - if(available) - set(${result} gdbcert PARENT_SCOPE) - return() - endif() - - message(WARNING "Development code sign identity not found: 'gdbcert' ${not_found_help}") - - # LLVM pendant: fallback if available - if(LLVM_CODESIGNING_IDENTITY) - check_certificate(${LLVM_CODESIGNING_IDENTITY} available) - if(available) - set(${result} ${LLVM_CODESIGNING_IDENTITY} PARENT_SCOPE) - return() - endif() - endif() - - # Ad-hoc signing: last resort - set(${result} "-" PARENT_SCOPE) -endfunction() - -# debugserver does not depend on intrinsics_gen, or on llvm. Set the common -# llvm dependencies in the current scope to the empty set. -set(LLVM_COMMON_DEPENDS) - -set(DEBUGSERVER_RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../resources") -set(DEBUGSERVER_INFO_PLIST "${DEBUGSERVER_RESOURCE_DIR}/lldb-debugserver-Info.plist") - -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -Wl,-sectcreate,__TEXT,__info_plist,${DEBUGSERVER_INFO_PLIST}") - -check_cxx_compiler_flag("-Wno-gnu-zero-variadic-macro-arguments" - CXX_SUPPORTS_NO_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS) -if (CXX_SUPPORTS_NO_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments") -endif () - -check_cxx_compiler_flag("-Wno-zero-length-array" - CXX_SUPPORTS_NO_ZERO_LENGTH_ARRAY) -if (CXX_SUPPORTS_NO_ZERO_LENGTH_ARRAY) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-zero-length-array") -endif () - -check_cxx_compiler_flag("-Wno-extended-offsetof" - CXX_SUPPORTS_NO_EXTENDED_OFFSETOF) -if (CXX_SUPPORTS_NO_EXTENDED_OFFSETOF) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-extended-offsetof") -endif () - -# When compiling for arm, build debugserver 2 way fat with an arm64 and arm64e -# slice. You can only debug arm64e processes using an arm64e debugserver. -include(CheckCSourceCompiles) -check_c_source_compiles( - " - #include - #if TARGET_CPU_ARM - #if TARGET_OS_OSX - #warning Building for macOS - #else - #error Not building for macOS - #endif - #else - #error Not building for ARM - #endif - int main() { return 0; } - " - BUILDING_FOR_ARM_OSX -) - -if (BUILDING_FOR_ARM_OSX) - set(CMAKE_OSX_ARCHITECTURES "arm64;arm64e") -endif () - -check_library_exists(compression compression_encode_buffer "" HAVE_LIBCOMPRESSION) - -find_library(SECURITY_LIBRARY Security) - -add_subdirectory(MacOSX) - -set(LLDB_CODESIGN_IDENTITY "" CACHE STRING - "Identity override for debugserver; see 'Code Signing on macOS' in the documentation (Darwin only)") - -get_debugserver_codesign_identity(debugserver_codesign_identity) - -# Override locally, so the identity is used for targets created in this scope. -set(LLVM_CODESIGNING_IDENTITY ${debugserver_codesign_identity}) - -# Use the same identity later in the test suite. -set_property(GLOBAL PROPERTY - LLDB_DEBUGSERVER_CODESIGN_IDENTITY ${debugserver_codesign_identity}) - -if(APPLE) - if(APPLE_EMBEDDED) - find_library(BACKBOARD_LIBRARY BackBoardServices - PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks) - find_library(FRONTBOARD_LIBRARY FrontBoardServices - PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks) - find_library(SPRINGBOARD_LIBRARY SpringBoardServices - PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks) - find_library(MOBILESERVICES_LIBRARY MobileCoreServices - PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks) - find_library(LOCKDOWN_LIBRARY lockdown) - if (APPLE_EMBEDDED STREQUAL "watchos") - find_library(CAROUSELSERVICES_LIBRARY CarouselServices - PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks) - endif() - - if(NOT BACKBOARD_LIBRARY) - set(SKIP_TEST_DEBUGSERVER ON CACHE BOOL "" FORCE) - endif() - endif() -endif() - -if(HAVE_LIBCOMPRESSION) - set(LIBCOMPRESSION compression) -endif() - -if(LLDB_USE_ENTITLEMENTS) - if(APPLE_EMBEDDED) - set(entitlements ${DEBUGSERVER_RESOURCE_DIR}/debugserver-entitlements.plist) - else() - if (LLDB_USE_PRIVATE_ENTITLEMENTS) - set(entitlements ${DEBUGSERVER_RESOURCE_DIR}/debugserver-macosx-private-entitlements.plist) - else() - set(entitlements ${DEBUGSERVER_RESOURCE_DIR}/debugserver-macosx-entitlements.plist) - endif() - endif() -endif() - -add_definitions(-DLLDB_USE_OS_LOG) - -if(${CMAKE_OSX_SYSROOT} MATCHES ".Internal.sdk$") - message(STATUS "LLDB debugserver energy support is enabled") - add_definitions(-DLLDB_ENERGY) - set(ENERGY_LIBRARY -lpmenergy -lpmsample) -else() - message(STATUS "LLDB debugserver energy support is disabled") -endif() - -set(generated_mach_interfaces - ${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h - ${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c - ${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c - ) - -set(MIG_ARCH_FLAGS "") -if (DEFINED MIG_ARCHS) - foreach(ARCH ${MIG_ARCHS}) - set(MIG_ARCH_FLAGS "${MIG_ARCH_FLAGS} -arch ${ARCH}") - endforeach() -endif() -separate_arguments(MIG_ARCH_FLAGS_SEPARTED NATIVE_COMMAND "${MIG_ARCH_FLAGS}") - -add_custom_command(OUTPUT ${generated_mach_interfaces} - VERBATIM COMMAND mig ${MIG_ARCH_FLAGS_SEPARTED} -isysroot ${CMAKE_OSX_SYSROOT} ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs - ) - -set(DEBUGSERVER_VERS_GENERATED_FILE ${CMAKE_CURRENT_BINARY_DIR}/debugserver_vers.c) -configure_file(debugserver_vers.c.in - ${DEBUGSERVER_VERS_GENERATED_FILE} @ONLY) - -set(lldbDebugserverCommonSources - DNBArch.cpp - DNBBreakpoint.cpp - DNB.cpp - DNBDataRef.cpp - DNBError.cpp - DNBLog.cpp - DNBRegisterInfo.cpp - DNBThreadResumeActions.cpp - JSON.cpp - StdStringExtractor.cpp - # JSON reader depends on the following LLDB-common files - ${LLDB_SOURCE_DIR}/source/Host/common/StringConvert.cpp - ${LLDB_SOURCE_DIR}/source/Host/common/SocketAddress.cpp - # end JSON reader dependencies - libdebugserver.cpp - PseudoTerminal.cpp - PThreadEvent.cpp - PThreadMutex.cpp - RNBContext.cpp - RNBRemote.cpp - RNBServices.cpp - RNBSocket.cpp - SysSignal.cpp - TTYState.cpp - - MacOSX/CFBundle.cpp - MacOSX/CFString.cpp - MacOSX/Genealogy.cpp - MacOSX/MachException.cpp - MacOSX/MachProcess.mm - MacOSX/MachTask.mm - MacOSX/MachThread.cpp - MacOSX/MachThreadList.cpp - MacOSX/MachVMMemory.cpp - MacOSX/MachVMRegion.cpp - MacOSX/OsLogger.cpp - ${generated_mach_interfaces} - ${DEBUGSERVER_VERS_GENERATED_FILE}) - -# Tell LLVM not to complain about these source files. -set(LLVM_OPTIONAL_SOURCES - ${lldbDebugserverCommonSources} - debugserver.cpp) - -add_lldb_library(lldbDebugserverCommon ${lldbDebugserverCommonSources}) -set_target_properties(lldbDebugserverCommon PROPERTIES FOLDER "lldb libraries/debugserver") - -target_link_libraries(lldbDebugserverCommon - INTERFACE ${COCOA_LIBRARY} - ${CORE_FOUNDATION_LIBRARY} - ${FOUNDATION_LIBRARY} - ${BACKBOARD_LIBRARY} - ${FRONTBOARD_LIBRARY} - ${SPRINGBOARD_LIBRARY} - ${MOBILESERVICES_LIBRARY} - ${LOCKDOWN_LIBRARY} - ${CAROUSELSERVICES_LIBRARY} - lldbDebugserverArchSupport - lldbDebugserverDarwin_DarwinLog - ${FOUNDATION_LIBRARY} - ${SECURITY_LIBRARY} - ${LIBCOMPRESSION} - ${ENERGY_LIBRARY}) -if(HAVE_LIBCOMPRESSION) - set_property(TARGET lldbDebugserverCommon APPEND PROPERTY - COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION) -endif() -add_lldb_tool(debugserver ADD_TO_FRAMEWORK - debugserver.cpp - LINK_LIBS lldbDebugserverCommon - ENTITLEMENTS ${entitlements} -) - -# Workaround for Xcode-specific code-signing behavior: -# The XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY option causes debugserver to be copied -# into the framework first and code-signed afterwards. Sign the copy manually. -if (debugserver_codesign_identity AND LLDB_BUILD_FRAMEWORK AND - CMAKE_GENERATOR STREQUAL "Xcode") - if(NOT CMAKE_CODESIGN_ALLOCATE) - execute_process( - COMMAND xcrun -f codesign_allocate - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE CMAKE_CODESIGN_ALLOCATE - ) - endif() - if(entitlements) - set(pass_entitlements --entitlements ${entitlements}) - endif() - - set(copy_location ${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Versions/${LLDB_FRAMEWORK_VERSION}/Resources/debugserver) - - add_custom_command(TARGET debugserver POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - env CODESIGN_ALLOCATE=${CMAKE_CODESIGN_ALLOCATE} - xcrun codesign -f -s ${debugserver_codesign_identity} - ${pass_entitlements} ${copy_location} - COMMENT "Code-sign debugserver copy in the build-tree framework: ${copy_location}" - ) -endif() - -set_target_properties(debugserver PROPERTIES FOLDER "lldb libraries/debugserver") - -if(APPLE_EMBEDDED) - set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_DEFINITIONS - WITH_LOCKDOWN - WITH_FBS - WITH_BKS - ) - if(CAROUSELSERVICES_LIBRARY) - set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_DEFINITIONS - WITH_CAROUSEL - ) - endif() - set_property(TARGET debugserver APPEND PROPERTY COMPILE_DEFINITIONS - WITH_LOCKDOWN - WITH_FBS - WITH_BKS - ) - set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_FLAGS - -F${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks - ) - - add_lldb_library(lldbDebugserverCommon_NonUI ${lldbDebugserverCommonSources}) - target_link_libraries(lldbDebugserverCommon_NonUI - INTERFACE ${COCOA_LIBRARY} - ${CORE_FOUNDATION_LIBRARY} - ${FOUNDATION_LIBRARY} - lldbDebugserverArchSupport - lldbDebugserverDarwin_DarwinLog - ${SECURITY_LIBRARY} - ${LIBCOMPRESSION}) - if(HAVE_LIBCOMPRESSION) - set_property(TARGET lldbDebugserverCommon_NonUI APPEND PROPERTY - COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION) - endif() - - add_lldb_tool(debugserver-nonui - debugserver.cpp - - LINK_LIBS - lldbDebugserverCommon_NonUI - - ENTITLEMENTS - ${entitlements} - ) -endif() diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTraceOptions.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTraceOptions.java deleted file mode 100644 index 9bca159b04..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTraceOptions.java +++ /dev/null @@ -1,92 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - - -public class SBTraceOptions { - private transient long swigCPtr; - protected transient boolean swigCMemOwn; - - protected SBTraceOptions(long cPtr, boolean cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = cPtr; - } - - protected static long getCPtr(SBTraceOptions obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } - - @SuppressWarnings("deprecation") - protected void finalize() { - delete(); - } - - public synchronized void delete() { - if (swigCPtr != 0) { - if (swigCMemOwn) { - swigCMemOwn = false; - lldbJNI.delete_SBTraceOptions(swigCPtr); - } - swigCPtr = 0; - } - } - - public SBTraceOptions() { - this(lldbJNI.new_SBTraceOptions(), true); - } - - public TraceType getType() { - return TraceType.swigToEnum(lldbJNI.SBTraceOptions_getType(swigCPtr, this)); - } - - public java.math.BigInteger getTraceBufferSize() { - return lldbJNI.SBTraceOptions_getTraceBufferSize(swigCPtr, this); - } - - public SBStructuredData getTraceParams(SBError error) { - return new SBStructuredData(lldbJNI.SBTraceOptions_getTraceParams(swigCPtr, this, SBError.getCPtr(error), error), true); - } - - public java.math.BigInteger getMetaDataBufferSize() { - return lldbJNI.SBTraceOptions_getMetaDataBufferSize(swigCPtr, this); - } - - public void setTraceParams(SBStructuredData params) { - lldbJNI.SBTraceOptions_setTraceParams(swigCPtr, this, SBStructuredData.getCPtr(params), params); - } - - public void setType(TraceType type) { - lldbJNI.SBTraceOptions_setType(swigCPtr, this, type.swigValue()); - } - - public void setTraceBufferSize(java.math.BigInteger size) { - lldbJNI.SBTraceOptions_setTraceBufferSize(swigCPtr, this, size); - } - - public void setMetaDataBufferSize(java.math.BigInteger size) { - lldbJNI.SBTraceOptions_setMetaDataBufferSize(swigCPtr, this, size); - } - - public void setThreadID(java.math.BigInteger thread_id) { - lldbJNI.SBTraceOptions_setThreadID(swigCPtr, this, thread_id); - } - - public java.math.BigInteger getThreadID() { - return lldbJNI.SBTraceOptions_getThreadID(swigCPtr, this); - } - - public boolean IsValid() { - return lldbJNI.SBTraceOptions_IsValid(swigCPtr, this); - } - -} diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_JNIEnv.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_JNIEnv.java deleted file mode 100644 index 0218c36fd3..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_JNIEnv.java +++ /dev/null @@ -1,31 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - - -public class SWIGTYPE_p_JNIEnv { - private transient long swigCPtr; - - protected SWIGTYPE_p_JNIEnv(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_JNIEnv() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_JNIEnv obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_bool.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_bool.java deleted file mode 100644 index abcca67e7d..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_bool.java +++ /dev/null @@ -1,31 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - - -public class SWIGTYPE_p_bool { - private transient long swigCPtr; - - protected SWIGTYPE_p_bool(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_bool() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_bool obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_byte.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_byte.java deleted file mode 100644 index 6f20b1f826..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_byte.java +++ /dev/null @@ -1,30 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -public class SWIGTYPE_p_byte { - private transient long swigCPtr; - - protected SWIGTYPE_p_byte(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_byte() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_byte obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_char.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_char.java deleted file mode 100644 index c23cd3eafb..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_char.java +++ /dev/null @@ -1,30 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -public class SWIGTYPE_p_char { - private transient long swigCPtr; - - protected SWIGTYPE_p_char(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_char() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_char obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_float.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_float.java deleted file mode 100644 index 8f6412a6c8..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_float.java +++ /dev/null @@ -1,30 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -public class SWIGTYPE_p_float { - private transient long swigCPtr; - - protected SWIGTYPE_p_float(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_float() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_float obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_char.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_char.java deleted file mode 100644 index 14408d4b95..0000000000 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_char.java +++ /dev/null @@ -1,31 +0,0 @@ -/* ### - * IP: Apache License 2.0 with LLVM Exceptions - */ -package SWIG; - - -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - - -public class SWIGTYPE_p_p_char { - private transient long swigCPtr; - - protected SWIGTYPE_p_p_char(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_p_char() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_p_char obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/lldb/DebugClientImpl.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/lldb/DebugClientImpl.java index e2f46eefbe..5997e9b965 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/lldb/DebugClientImpl.java +++ b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/lldb/DebugClientImpl.java @@ -15,6 +15,7 @@ */ package agent.lldb.lldb; +import java.io.File; import java.math.BigInteger; import java.util.*; @@ -22,8 +23,6 @@ import SWIG.*; import agent.lldb.manager.LldbEvent; import agent.lldb.manager.LldbManager; import agent.lldb.manager.evt.*; -import ghidra.framework.OperatingSystem; -import ghidra.framework.Platform; import ghidra.util.Msg; public class DebugClientImpl implements DebugClient { @@ -41,18 +40,6 @@ public class DebugClientImpl implements DebugClient { @Override public DebugClient createClient() { - try { - if (Platform.CURRENT_PLATFORM.getOperatingSystem() == OperatingSystem.LINUX) { - System.load("/usr/lib/liblldb.so"); - } else if (Platform.CURRENT_PLATFORM.getOperatingSystem() == OperatingSystem.MAC_OS_X) { - System.load("/usr/lib/liblldb.dylib"); - } else if (Platform.CURRENT_PLATFORM.getOperatingSystem() == OperatingSystem.WINDOWS) { - System.load("/usr/lib/liblldb.dll"); - } - } - catch (UnsatisfiedLinkError ex) { - Msg.error(this, "LLDB libraries not found for "+Platform.CURRENT_PLATFORM.getOperatingSystem()); - } SBError error = SBDebugger.InitializeWithErrorHandling(); if (!error.Success()) { SBStream stream = new SBStream(); @@ -171,7 +158,8 @@ public class DebugClientImpl implements DebugClient { public SBProcess createProcess(DebugServerId si, String fileName, List args, List envp, List pathsIO, String workingDir, long createFlags, boolean stopAtEntry) { - session = connectSession(fileName); + File f = new File(fileName); //hack to avoid /C:/ + session = connectSession(f.getAbsolutePath()); String[] argArr = args.toArray(new String[args.size()]); // null for envp means use the default environment diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/manager/impl/LldbManagerImpl.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/manager/impl/LldbManagerImpl.java index 3cd65996df..0cfbbc724f 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/manager/impl/LldbManagerImpl.java +++ b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/manager/impl/LldbManagerImpl.java @@ -41,13 +41,37 @@ import agent.lldb.model.iface1.*; import ghidra.async.*; import ghidra.dbg.target.TargetObject; import ghidra.dbg.util.HandlerMap; +import ghidra.framework.OperatingSystem; +import ghidra.framework.Platform; import ghidra.lifecycle.Internal; import ghidra.util.Msg; import ghidra.util.datastruct.ListenerSet; public class LldbManagerImpl implements LldbManager { - private String LldbSrvTransport; + static { + String libPath = System.getProperty("java.library.path"); + try { + String lldb = "lldb"; + if (Platform.CURRENT_PLATFORM.getOperatingSystem() == OperatingSystem.WINDOWS) { + lldb = "lib" + lldb; // Wow, sigh + } + System.loadLibrary(lldb); + } + catch (UnsatisfiedLinkError ule) { + Msg.error(LldbManagerImpl.class, "java.library.path => " + libPath); + Msg.error(LldbManagerImpl.class, + "liblldb not found - add relevant java.library.path to support/launch.properties"); + } + try { + System.loadLibrary("lldb-java"); + } + catch (UnsatisfiedLinkError ule) { + Msg.error(LldbManagerImpl.class, "java.library.path => " + libPath); + Msg.error(LldbManagerImpl.class, + "liblldb-java not found - add relevant java.library.path to support/launch.properties"); + } + } public DebugStatus status; @@ -119,6 +143,9 @@ public class LldbManagerImpl implements LldbManager { map = new HashMap<>(); threads.put(DebugClient.getId(process), map); } + if (thread == null) { + return; + } String id = DebugClient.getId(thread); SBThread pred = map.get(id); if (!map.containsKey(id) || !thread.equals(pred)) { @@ -703,6 +730,9 @@ public class LldbManagerImpl implements LldbManager { addSessionIfAbsent(eventSession); addProcessIfAbsent(eventSession, eventProcess); addThreadIfAbsent(eventProcess, eventThread); + //SBStream s = new SBStream(); + //event.GetDescription(s); + //System.err.println(s.GetData()); client.translateAndFireEvent(event); } @@ -1013,7 +1043,9 @@ public class LldbManagerImpl implements LldbManager { if (status.equals(DebugStatus.NO_DEBUGGEE)) { waiting = false; if (state.equals(StateType.eStateExited)) { - processEvent(new LldbRunningEvent(DebugClient.getId(eventThread))); + if (eventThread != null) { + processEvent(new LldbRunningEvent(DebugClient.getId(eventThread))); + } processEvent(new LldbProcessExitedEvent(0)); processEvent(new LldbSessionExitedEvent(DebugClient.getId(currentSession), 0)); } @@ -1499,14 +1531,12 @@ public class LldbManagerImpl implements LldbManager { } public SBThread getCurrentThread() { - if (!currentThread.IsValid()) { + if (currentThread != null && !currentThread.IsValid()) { currentProcess = currentSession.GetProcess(); for (int i = 0; i < currentProcess.GetNumThreads(); i++) { SBThread thread = currentProcess.GetThreadAtIndex(i); - System.err.println(thread + ":" + thread.IsValid()); } currentThread = SBThread.GetThreadFromEvent(currentEvent); - System.err.println(currentThread.IsValid()); } return currentThread != null ? currentThread : eventThread; } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetStackFrameRegisterImpl.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetStackFrameRegisterImpl.java index 294ee8ba41..68cfb505e7 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetStackFrameRegisterImpl.java +++ b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetStackFrameRegisterImpl.java @@ -95,6 +95,11 @@ public class LldbModelTargetStackFrameRegisterImpl if (value == null) { return new byte[0]; } + if (value.startsWith("{")) { + String trim = value.substring(1, value.length() - 1); + String[] split = trim.split(" "); + value = split[0].substring(2) + split[1].substring(2); + } BigInteger val = new BigInteger(value, 16); byte[] bytes = ConversionUtils.bigIntegerToBytes((int) getRegister().GetByteSize(), val); changeAttributes(List.of(), Map.of( // diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetThreadContainerImpl.java b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetThreadContainerImpl.java index d764e6e00b..ea6899aaee 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetThreadContainerImpl.java +++ b/Ghidra/Debug/Debugger-agent-lldb/src/main/java/agent/lldb/model/impl/LldbModelTargetThreadContainerImpl.java @@ -88,6 +88,9 @@ public class LldbModelTargetThreadContainerImpl extends LldbModelTargetObjectImp @Override public void threadExited(SBThread thread) { + if (thread == null) { + return; + } String threadId = LldbModelTargetThreadImpl.indexThread(thread); LldbModelTargetThread targetThread = (LldbModelTargetThread) getMapObject(thread); if (targetThread != null) { diff --git a/Ghidra/Debug/Debugger-swig-lldb/Module.manifest b/Ghidra/Debug/Debugger-swig-lldb/Module.manifest new file mode 100644 index 0000000000..cde98571eb --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/Module.manifest @@ -0,0 +1 @@ +MODULE FILE LICENSE: src/llvm-project Apache License 2.0 with LLVM Exceptions diff --git a/Ghidra/Debug/Debugger-swig-lldb/build.gradle b/Ghidra/Debug/Debugger-swig-lldb/build.gradle new file mode 100644 index 0000000000..83b7b5882c --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/build.gradle @@ -0,0 +1,50 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +apply from: "$rootProject.projectDir/gradle/javaProject.gradle" +apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle" +apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle" +apply from: "$rootProject.projectDir/gradle/nativeProject.gradle" +apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle" +apply from: "buildNatives.gradle" + +apply plugin: 'eclipse' +eclipse.project.name = 'Debug Debugger-swig-lldb' + +dependencies { + api project(':Framework-AsyncComm') + api project(':Framework-Debugging') + api project(':Debugger-gadp') + + testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') + testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts') + testImplementation project(path: ':Debugger-gadp', configuration: 'testArtifacts') +} + +sourceSets { + main { + java { + srcDir tasks.generateSwig.outdir_java + } + } +} + +// Include buildable native source in distribution +rootProject.assembleDistribution { + from (this.project.projectDir.toString()) { + include "src/**" + into { getZipPath(this.project) } + } +} diff --git a/Ghidra/Debug/Debugger-swig-lldb/buildNatives.gradle b/Ghidra/Debug/Debugger-swig-lldb/buildNatives.gradle new file mode 100644 index 0000000000..326f7efc5c --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/buildNatives.gradle @@ -0,0 +1,124 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Native build files are already applied in development mode (indicated by presence of the +// Generic project). Only need to apply them if we are in a distribution. +if (findProject(':Generic') == null) { + apply from: "../../../GPL/utils.gradle" + apply from: "../../../GPL/nativePlatforms.gradle" + apply from: "../../../GPL/nativeBuildProperties.gradle" +} + +task generateSwig { + ext.srcdir = file("src/llvm-project/lldb/bindings/java") + ext.outdir_java = file("build/generated/src/main/java") + ext.outdir_cpp = file("build/generated/src/main/cpp") + ext.llvm_dir = System.env.LLVM_HOME; + outputs.dir(outdir_java) + outputs.dir(outdir_cpp) + doLast { + if (System.env.LLVM_HOME) { + new File(ext.outdir_java, "/SWIG").mkdirs() + def exe = "swig" + exec { + commandLine exe, "-c++", "-features", "autodoc", "-D__STDC_LIMIT_MACROS", "-D__STDC_CONSTANT_MACROS", + "-I$llvm_dir/lldb/include", "-I$llvm_dir/lldb/bindings", "-java", "-package", "SWIG", "-c++", + "-outdir", "$outdir_java/SWIG", "-o", "$outdir_cpp/LLDBWrapJava.cpp" + args "$srcdir/java.swig" + } + } else { + println "Debugger-swig-lldb:generateSwig skipped - no LLVM_HOME defined" + } + } +} + +/** + * Define the "native build model" for building the SWIG executables. + */ +if (System.env.LLVM_HOME) { + model { + components { + main(NativeLibrarySpec) { + baseName "lldb-java" + targetPlatform "win_x86_64" + targetPlatform "linux_x86_64" + targetPlatform "linux_arm_64" + targetPlatform "mac_x86_64" + targetPlatform "mac_arm_64" + } + } + + binaries { + ext.llvm_dir = System.env.LLVM_HOME; + ext.llvm_build_dir = System.env.LLVM_BUILD; + if (System.env.JAVA_HOME) { + // Allow Gradle's default JAVA_HOME to be overridden by an environment variable we set + project.ext.JAVA_HOME = System.env.JAVA_HOME; + } + else { + project.ext.JAVA_HOME = "${System.properties.'java.home'}" + } + all{ b -> + if (b.targetPlatform.operatingSystem.linux) { + b.cppCompiler.args "-I${JAVA_HOME}/include/linux" + } else if (b.targetPlatform.operatingSystem.windows) { + b.cppCompiler.args "-I${JAVA_HOME}/include/win32" + } else { + b.cppCompiler.args "-I${JAVA_HOME}/include/darwin" + } + if (b.toolChain in Gcc) { + b.cppCompiler.args "-I$llvm_dir/lldb/include" + b.cppCompiler.args "-I${JAVA_HOME}/include" + b.linker.args "-L$llvm_build_dir/lib" + b.linker.args "-llldb" + b.cppCompiler.args "-std=c++14" + b.cppCompiler.args "-O3" + // b.cppCompiler.args "-g" // for DEBUG, uncomment this line + } + else if (b.toolChain in Clang) { + b.cppCompiler.args "-I$llvm_dir/lldb/include" + b.cppCompiler.args "-I${JAVA_HOME}/include" + b.linker.args "-L$llvm_build_dir/lib" + b.linker.args "-llldb" + b.cppCompiler.args "-std=c++14" + b.cppCompiler.args "-O3" + // b.cppCompiler.args "-g" // for DEBUG, uncomment this line + } + else if (b.toolChain in VisualCpp) { + b.cppCompiler.args "/I$llvm_dir/lldb/include" + b.cppCompiler.args "-I${JAVA_HOME}/include" + b.linker.args "/LIBPATH:$llvm_build_dir/lib" + b.linker.args "liblldb.lib" + // b.cppCompiler.args "/Zi" // for DEBUG, uncomment this line + // b.cppCompiler.args "/FS" // for DEBUG, uncomment this line + // b.linker.args "/DEBUG" // for DEBUG, uncomment this line + if (b.targetPlatform.operatingSystem.windows) { + b.cppCompiler.define "WINDOWS" + b.cppCompiler.define "_WINDOWS" + b.cppCompiler.define "WIN32" + b.cppCompiler.define "_WIN32" + if (b.targetPlatform.name == "win_x86_64") { + b.cppCompiler.define "WIN64" + b.cppCompiler.define "_WIN64" + } + } + } + } + } + } +} else { + println "Debugger-swig-lldb:buildNatives skipped - no LLVM_HOME defined" +} diff --git a/Ghidra/Debug/Debugger-swig-lldb/certification.manifest b/Ghidra/Debug/Debugger-swig-lldb/certification.manifest new file mode 100644 index 0000000000..203c4c7446 --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/certification.manifest @@ -0,0 +1,10 @@ +##VERSION: 2.0 +##MODULE IP: Apache License 2.0 +##MODULE IP: Apache License 2.0 with LLVM Exceptions +.classpath||NONE||reviewed||END| +.project||NONE||reviewed||END| +Module.manifest||GHIDRA||||END| +build.gradle||GHIDRA||||END| +data/InstructionsForBuildingLLDBInterface.txt||GHIDRA||||END| +src/llvm-project/lldb/bindings/java/java-typemaps.swig||Apache License 2.0 with LLVM Exceptions||||END| +src/llvm-project/lldb/bindings/java/java.swig||Apache License 2.0 with LLVM Exceptions||||END| diff --git a/Ghidra/Debug/Debugger-swig-lldb/data/InstructionsForBuildingLLDBInterface.txt b/Ghidra/Debug/Debugger-swig-lldb/data/InstructionsForBuildingLLDBInterface.txt new file mode 100644 index 0000000000..a25871579a --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/data/InstructionsForBuildingLLDBInterface.txt @@ -0,0 +1,56 @@ +To use the LLDB agent in Ghidra, you will need to build the JNI interface to the LLDB Scripting Bridge. + +To do this: +(1) check the version for your copy of lldb: + lldb --version + +If you have a version other than the most current (release/13.x), you will need to either +install v13 or generate the JNI interface for the version you have. + +(2a) To install LLVM/lldb version 13: + - git clone https://github.com/llvm/llvm-project.git + - git checkout release/13.x + - cd llvm-project + - mkdir build && cd build + - cmake -G Ninja -DLLVM_ENABLE_PROJECTS="clang;libcxx;lldb" -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold ../llvm + - ninja lldb + - ninja lldb-server + - ninja install + +(2b) To generate the JNI for your version + - git clone https://github.com/llvm/llvm-project.git + - git checkout release/YOUR_VERSION.x + - export LLVM_HOME=/path_to_llvm-project + + - cd Ghidra/Debug/Debugger-swig-lldb + - gradle generateSwig + - cp -r build/generated/src/main src + +If you have the most current version or have completed step (2), you can: + +(3) Compile the JNI interface by: + - export JAVA_HOME=/path_to_java + - export LLVM_HOME=/path_to_llvm-project + - export LLVM_BUILD=/path_to_llvm_build_directory_or_whatever_contains_lib/liblldb.(so/dylib/dll) + (for Windows, these vars should have the drive: prefix and probably not have spaces) + - cd Ghidra/Debug/Debugger-swig-lldb + - gradle build + +(4) To run: + - add -Djava.library.path=/path_to/liblldb:/path_to/liblldb-java:etc in support/launch.properties or, + if you're running out of Eclipse, to the arguments in the Run/Debug Configuration + +TROUBLESHOOTING: +(1) If you are trying to execute "gradle buildGhidra" with LLVM_HOME already set, you are likely + to run into difficulties. Unset LLVM_HOME (or on Windows set LLVM_HOME=) before running. +(2) If you are running "gradle generateSwig" and encounter errors, make sure LLVM_HOME is set. +(3) If you are running "gradle buildNatives" and it succeeds but there is no library in Ghidra/ + Debug/Debugger-swig/lldb/build/os, again check LLVM_HOME, LLVM_BUILD, and JAVA_HOME. Keep + in mind that different generators for LLVM, esp. for Window, may put liblldb.xxx in unusual + places. Check "build/lib", "build/bin", and subdirs like "build/Release/bin". +(4) If you get an "Unsatisfied Link Error" when you start the debugger, make sure both liblldb + and liblldb-java are in the path described by java.library.path. +(5) Link errors can also be caused by different architectures or platforms for the libraries. + + + \ No newline at end of file diff --git a/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig b/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig new file mode 100644 index 0000000000..e23628eb30 --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java-typemaps.swig @@ -0,0 +1,18 @@ +%include +%include +%include + +%typemap(javabase) ByteArray "SWIGTYPE_p_void" +%typemap(javabody) ByteArray %{ + private long swigCPtr; // Minor bodge to work around private variable in parent + private boolean swigCMemOwn; + public $javaclassname(long cPtr, boolean cMemoryOwn) { + super(cPtr, cMemoryOwn); + this.swigCPtr = SWIGTYPE_p_void.getCPtr(this); + swigCMemOwn = cMemoryOwn; + } +%} + +%array_class(jbyte, ByteArray); + +%apply char **STRING_ARRAY { char ** } diff --git a/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java.swig b/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java.swig new file mode 100644 index 0000000000..305ecc6b70 --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/src/llvm-project/lldb/bindings/java/java.swig @@ -0,0 +1,22 @@ +/* + lldb.swig + + This is the input file for SWIG, to create the appropriate C++ wrappers and + functions for various scripting languages, to enable them to call the + liblldb Script Bridge functions. +*/ + +%module lldb + +%include +%include "java-typemaps.swig" +%include "macros.swig" +%include "headers.swig" + +%{ +using namespace lldb_private; +using namespace lldb; +%} + +%include "interfaces.swig" + diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/LLDBWrapJava.cpp b/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/LLDBWrapJava.cpp rename to Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp index 99068f6250..57fefeaca4 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/llvm/lldb/LLDBWrapJava.cpp +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp @@ -3,7 +3,7 @@ */ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -319,7 +319,6 @@ SWIGINTERN ByteArray *ByteArray_frompointer(jbyte *t){ #include "lldb/API/SBThreadCollection.h" #include "lldb/API/SBThreadPlan.h" #include "lldb/API/SBTrace.h" -#include "lldb/API/SBTraceOptions.h" #include "lldb/API/SBType.h" #include "lldb/API/SBTypeCategory.h" #include "lldb/API/SBTypeEnumMember.h" @@ -1160,6 +1159,18 @@ SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_LLDB_1REGNUM_1GENERIC_1ARG8_1get(JNIEn } +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_LLDB_1INVALID_1STOP_1ID_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + int result; + + (void)jenv; + (void)jcls; + result = (int)(0); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_LLDB_1INVALID_1ADDRESS_1get(JNIEnv *jenv, jclass jcls) { jobject jresult = 0 ; unsigned long long result; @@ -4091,6 +4102,66 @@ SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eExpressionEvaluationParse_1get(JNIEnv } +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTraceInstructionControlFlowTypeInstruction_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::TraceInstructionControlFlowType result; + + (void)jenv; + (void)jcls; + result = (lldb::TraceInstructionControlFlowType)lldb::eTraceInstructionControlFlowTypeInstruction; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTraceInstructionControlFlowTypeBranch_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::TraceInstructionControlFlowType result; + + (void)jenv; + (void)jcls; + result = (lldb::TraceInstructionControlFlowType)lldb::eTraceInstructionControlFlowTypeBranch; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTraceInstructionControlFlowTypeTakenBranch_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::TraceInstructionControlFlowType result; + + (void)jenv; + (void)jcls; + result = (lldb::TraceInstructionControlFlowType)lldb::eTraceInstructionControlFlowTypeTakenBranch; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTraceInstructionControlFlowTypeCall_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::TraceInstructionControlFlowType result; + + (void)jenv; + (void)jcls; + result = (lldb::TraceInstructionControlFlowType)lldb::eTraceInstructionControlFlowTypeCall; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTraceInstructionControlFlowTypeReturn_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::TraceInstructionControlFlowType result; + + (void)jenv; + (void)jcls; + result = (lldb::TraceInstructionControlFlowType)lldb::eTraceInstructionControlFlowTypeReturn; + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eWatchpointKindWrite_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; lldb::WatchpointKind result; @@ -4607,6 +4678,42 @@ SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eTypeSummaryUncapped_1get(JNIEnv *jenv } +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eSaveCoreUnspecified_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::SaveCoreStyle result; + + (void)jenv; + (void)jcls; + result = (lldb::SaveCoreStyle)lldb::eSaveCoreUnspecified; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eSaveCoreFull_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::SaveCoreStyle result; + + (void)jenv; + (void)jcls; + result = (lldb::SaveCoreStyle)lldb::eSaveCoreFull; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_eSaveCoreDirtyOnly_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + lldb::SaveCoreStyle result; + + (void)jenv; + (void)jcls; + result = (lldb::SaveCoreStyle)lldb::eSaveCoreDirtyOnly; + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBAddress_1_1SWIG_10(JNIEnv *jenv, jclass jcls) { jlong jresult = 0 ; lldb::SBAddress *result = 0 ; @@ -20671,6 +20778,85 @@ SWIGEXPORT jstring JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1GetName(JNIEnv } +SWIGEXPORT jboolean JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1HasDirtyMemoryPageList(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + lldb::SBMemoryRegionInfo *arg1 = (lldb::SBMemoryRegionInfo *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBMemoryRegionInfo **)&jarg1; + result = (bool)(arg1)->HasDirtyMemoryPageList(); + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1GetNumDirtyPages(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + lldb::SBMemoryRegionInfo *arg1 = (lldb::SBMemoryRegionInfo *) 0 ; + uint32_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBMemoryRegionInfo **)&jarg1; + result = (uint32_t)(arg1)->GetNumDirtyPages(); + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1GetDirtyPageAddressAtIndex(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jobject jresult = 0 ; + lldb::SBMemoryRegionInfo *arg1 = (lldb::SBMemoryRegionInfo *) 0 ; + uint32_t arg2 ; + lldb::addr_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBMemoryRegionInfo **)&jarg1; + arg2 = (uint32_t)jarg2; + result = (lldb::addr_t)(arg1)->GetDirtyPageAddressAtIndex(arg2); + { + jbyteArray ba = jenv->NewByteArray(9); + jbyte* bae = jenv->GetByteArrayElements(ba, 0); + jclass clazz = jenv->FindClass("java/math/BigInteger"); + jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); + jobject bigint; + int i; + + bae[0] = 0; + for(i=1; i<9; i++ ) { + bae[i] = (jbyte)(result>>8*(8-i)); + } + + jenv->ReleaseByteArrayElements(ba, bae, 0); + bigint = jenv->NewObject(clazz, mid, ba); + jenv->DeleteLocalRef(ba); + jresult = bigint; + } + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1GetPageSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + lldb::SBMemoryRegionInfo *arg1 = (lldb::SBMemoryRegionInfo *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBMemoryRegionInfo **)&jarg1; + result = (int)(arg1)->GetPageSize(); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jboolean JNICALL Java_SWIG_lldbJNI_SBMemoryRegionInfo_1GetDescription(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { jboolean jresult = 0 ; lldb::SBMemoryRegionInfo *arg1 = (lldb::SBMemoryRegionInfo *) 0 ; @@ -25182,35 +25368,6 @@ SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBProcess_1SaveCore(JNIEnv *jenv, jcl } -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBProcess_1StartTrace(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { - jlong jresult = 0 ; - lldb::SBProcess *arg1 = (lldb::SBProcess *) 0 ; - lldb::SBTraceOptions *arg2 = 0 ; - lldb::SBError *arg3 = 0 ; - lldb::SBTrace result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - (void)jarg3_; - arg1 = *(lldb::SBProcess **)&jarg1; - arg2 = *(lldb::SBTraceOptions **)&jarg2; - if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBTraceOptions & reference is null"); - return 0; - } - arg3 = *(lldb::SBError **)&jarg3; - if (!arg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); - return 0; - } - result = (arg1)->StartTrace(*arg2,*arg3); - *(lldb::SBTrace **)&jresult = new lldb::SBTrace((const lldb::SBTrace &)result); - return jresult; -} - - SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBProcess_1GetMemoryRegionInfo(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2, jlong jarg3, jobject jarg3_) { jlong jresult = 0 ; lldb::SBProcess *arg1 = (lldb::SBProcess *) 0 ; @@ -25290,6 +25447,91 @@ SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBProcess_1GetProcessInfo(JNIEnv *jen } +SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBProcess_1AllocateMemory(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jobject jarg4_) { + jobject jresult = 0 ; + lldb::SBProcess *arg1 = (lldb::SBProcess *) 0 ; + size_t arg2 ; + uint32_t arg3 ; + lldb::SBError *arg4 = 0 ; + lldb::addr_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg4_; + arg1 = *(lldb::SBProcess **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (uint32_t)jarg3; + arg4 = *(lldb::SBError **)&jarg4; + if (!arg4) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); + return 0; + } + result = (lldb::addr_t)(arg1)->AllocateMemory(arg2,arg3,*arg4); + { + jbyteArray ba = jenv->NewByteArray(9); + jbyte* bae = jenv->GetByteArrayElements(ba, 0); + jclass clazz = jenv->FindClass("java/math/BigInteger"); + jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); + jobject bigint; + int i; + + bae[0] = 0; + for(i=1; i<9; i++ ) { + bae[i] = (jbyte)(result>>8*(8-i)); + } + + jenv->ReleaseByteArrayElements(ba, bae, 0); + bigint = jenv->NewObject(clazz, mid, ba); + jenv->DeleteLocalRef(ba); + jresult = bigint; + } + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBProcess_1DeallocateMemory(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) { + jlong jresult = 0 ; + lldb::SBProcess *arg1 = (lldb::SBProcess *) 0 ; + lldb::addr_t arg2 ; + lldb::SBError result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBProcess **)&jarg1; + { + jclass clazz; + jmethodID mid; + jbyteArray ba; + jbyte* bae; + jsize sz; + int i; + + if (!jarg2) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); + return 0; + } + clazz = jenv->GetObjectClass(jarg2); + mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); + ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid); + bae = jenv->GetByteArrayElements(ba, 0); + sz = jenv->GetArrayLength(ba); + arg2 = 0; + if (sz > 0) { + arg2 = (lldb::addr_t)(signed char)bae[0]; + for(i=1; iReleaseByteArrayElements(ba, bae, 0); + } + result = (arg1)->DeallocateMemory(arg2); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); + return jresult; +} + + SWIGEXPORT jstring JNICALL Java_SWIG_lldbJNI_SBProcess_1_1_1str_1_1(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jstring jresult = 0 ; lldb::SBProcess *arg1 = (lldb::SBProcess *) 0 ; @@ -25575,6 +25817,21 @@ SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBProcessInfo_1GetParentProcessID(J } +SWIGEXPORT jstring JNICALL Java_SWIG_lldbJNI_SBProcessInfo_1GetTriple(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + lldb::SBProcessInfo *arg1 = (lldb::SBProcessInfo *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBProcessInfo **)&jarg1; + result = (char *)(arg1)->GetTriple(); + if (result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBQueue_1_1SWIG_10(JNIEnv *jenv, jclass jcls) { jlong jresult = 0 ; lldb::SBQueue *result = 0 ; @@ -27435,7 +27692,7 @@ SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBStructuredData_1GetDescription(JNIE } -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBStructuredData_1SetFromJSON(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBStructuredData_1SetFromJSON_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { jlong jresult = 0 ; lldb::SBStructuredData *arg1 = (lldb::SBStructuredData *) 0 ; lldb::SBStream *arg2 = 0 ; @@ -27457,6 +27714,28 @@ SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBStructuredData_1SetFromJSON(JNIEnv } +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBStructuredData_1SetFromJSON_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jlong jresult = 0 ; + lldb::SBStructuredData *arg1 = (lldb::SBStructuredData *) 0 ; + char *arg2 = (char *) 0 ; + lldb::SBError result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBStructuredData **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (arg1)->SetFromJSON((char const *)arg2); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBSymbol_1_1SWIG_10(JNIEnv *jenv, jclass jcls) { jlong jresult = 0 ; lldb::SBSymbol *result = 0 ; @@ -31967,6 +32246,43 @@ SWIGEXPORT jstring JNICALL Java_SWIG_lldbJNI_SBTarget_1_1_1str_1_1(JNIEnv *jenv, } +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTarget_1GetTrace(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + lldb::SBTarget *arg1 = (lldb::SBTarget *) 0 ; + lldb::SBTrace result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(lldb::SBTarget **)&jarg1; + result = (arg1)->GetTrace(); + *(lldb::SBTrace **)&jresult = new lldb::SBTrace((const lldb::SBTrace &)result); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTarget_1CreateTrace(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + jlong jresult = 0 ; + lldb::SBTarget *arg1 = (lldb::SBTarget *) 0 ; + lldb::SBError *arg2 = 0 ; + lldb::SBTrace result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(lldb::SBTarget **)&jarg1; + arg2 = *(lldb::SBError **)&jarg2; + if (!arg2) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); + return 0; + } + result = (arg1)->CreateTrace(*arg2); + *(lldb::SBTrace **)&jresult = new lldb::SBTrace((const lldb::SBTrace &)result); + return jresult; +} + + SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_SBThread_1eBroadcastBitStackChanged_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; int result; @@ -33960,165 +34276,49 @@ SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBTrace(JNIEnv *jenv, jclass jcl } -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1GetTraceData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4, jlong jarg5, jobject jarg6) { - jlong jresult = 0 ; +SWIGEXPORT jstring JNICALL Java_SWIG_lldbJNI_SBTrace_1GetStartConfigurationHelp(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; - lldb::SBError *arg2 = 0 ; - void *arg3 = (void *) 0 ; - size_t arg4 ; - size_t arg5 ; - lldb::tid_t arg6 ; - size_t result; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - (void)jarg2_; arg1 = *(lldb::SBTrace **)&jarg1; - arg2 = *(lldb::SBError **)&jarg2; - if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); - return 0; - } - arg3 = *(void **)&jarg3; - arg4 = (size_t)jarg4; - arg5 = (size_t)jarg5; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg6) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return 0; - } - clazz = jenv->GetObjectClass(jarg6); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg6, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg6 = 0; - if (sz > 0) { - arg6 = (lldb::tid_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - result = (arg1)->GetTraceData(*arg2,arg3,arg4,arg5,arg6); - jresult = (jlong)result; + result = (char *)(arg1)->GetStartConfigurationHelp(); + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1GetMetaData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4, jlong jarg5, jobject jarg6) { +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1Start_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { jlong jresult = 0 ; lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; - lldb::SBError *arg2 = 0 ; - void *arg3 = (void *) 0 ; - size_t arg4 ; - size_t arg5 ; - lldb::tid_t arg6 ; - size_t result; + lldb::SBStructuredData *arg2 = 0 ; + lldb::SBError result; (void)jenv; (void)jcls; (void)jarg1_; (void)jarg2_; arg1 = *(lldb::SBTrace **)&jarg1; - arg2 = *(lldb::SBError **)&jarg2; + arg2 = *(lldb::SBStructuredData **)&jarg2; if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBStructuredData const & reference is null"); return 0; } - arg3 = *(void **)&jarg3; - arg4 = (size_t)jarg4; - arg5 = (size_t)jarg5; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg6) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return 0; - } - clazz = jenv->GetObjectClass(jarg6); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg6, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg6 = 0; - if (sz > 0) { - arg6 = (lldb::tid_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - result = (arg1)->GetMetaData(*arg2,arg3,arg4,arg5,arg6); - jresult = (jlong)result; + result = (arg1)->Start((lldb::SBStructuredData const &)*arg2); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); return jresult; } -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTrace_1StopTrace(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jobject jarg3) { +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1Start_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { + jlong jresult = 0 ; lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; - lldb::SBError *arg2 = 0 ; - lldb::tid_t arg3 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - arg1 = *(lldb::SBTrace **)&jarg1; - arg2 = *(lldb::SBError **)&jarg2; - if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); - return ; - } - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return ; - } - clazz = jenv->GetObjectClass(jarg3); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg3, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg3 = 0; - if (sz > 0) { - arg3 = (lldb::tid_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - (arg1)->StopTrace(*arg2,arg3); -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTrace_1GetTraceConfig(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { - lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; - lldb::SBTraceOptions *arg2 = 0 ; - lldb::SBError *arg3 = 0 ; + lldb::SBThread *arg2 = 0 ; + lldb::SBStructuredData *arg3 = 0 ; + lldb::SBError result; (void)jenv; (void)jcls; @@ -34126,48 +34326,55 @@ SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTrace_1GetTraceConfig(JNIEnv *jenv, (void)jarg2_; (void)jarg3_; arg1 = *(lldb::SBTrace **)&jarg1; - arg2 = *(lldb::SBTraceOptions **)&jarg2; + arg2 = *(lldb::SBThread **)&jarg2; if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBTraceOptions & reference is null"); - return ; + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBThread const & reference is null"); + return 0; } - arg3 = *(lldb::SBError **)&jarg3; + arg3 = *(lldb::SBStructuredData **)&jarg3; if (!arg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); - return ; + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBStructuredData const & reference is null"); + return 0; } - (arg1)->GetTraceConfig(*arg2,*arg3); + result = (arg1)->Start((lldb::SBThread const &)*arg2,(lldb::SBStructuredData const &)*arg3); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); + return jresult; } -SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBTrace_1GetTraceUID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jobject jresult = 0 ; +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1Stop_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; - lldb::user_id_t result; + lldb::SBError result; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(lldb::SBTrace **)&jarg1; - result = (lldb::user_id_t)(arg1)->GetTraceUID(); - { - jbyteArray ba = jenv->NewByteArray(9); - jbyte* bae = jenv->GetByteArrayElements(ba, 0); - jclass clazz = jenv->FindClass("java/math/BigInteger"); - jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); - jobject bigint; - int i; - - bae[0] = 0; - for(i=1; i<9; i++ ) { - bae[i] = (jbyte)(result>>8*(8-i)); - } - - jenv->ReleaseByteArrayElements(ba, bae, 0); - bigint = jenv->NewObject(clazz, mid, ba); - jenv->DeleteLocalRef(ba); - jresult = bigint; - } + result = (arg1)->Stop(); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTrace_1Stop_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + jlong jresult = 0 ; + lldb::SBTrace *arg1 = (lldb::SBTrace *) 0 ; + lldb::SBThread *arg2 = 0 ; + lldb::SBError result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(lldb::SBTrace **)&jarg1; + arg2 = *(lldb::SBThread **)&jarg2; + if (!arg2) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBThread const & reference is null"); + return 0; + } + result = (arg1)->Stop((lldb::SBThread const &)*arg2); + *(lldb::SBError **)&jresult = new lldb::SBError((const lldb::SBError &)result); return jresult; } @@ -34197,321 +34404,6 @@ SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_delete_1SBTrace(JNIEnv *jenv, jclass j } -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBTraceOptions(JNIEnv *jenv, jclass jcls) { - jlong jresult = 0 ; - lldb::SBTraceOptions *result = 0 ; - - (void)jenv; - (void)jcls; - result = (lldb::SBTraceOptions *)new lldb::SBTraceOptions(); - *(lldb::SBTraceOptions **)&jresult = result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1getType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::TraceType result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - result = (lldb::TraceType)((lldb::SBTraceOptions const *)arg1)->getType(); - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1getTraceBufferSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jobject jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - uint64_t result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - result = (uint64_t)((lldb::SBTraceOptions const *)arg1)->getTraceBufferSize(); - { - jbyteArray ba = jenv->NewByteArray(9); - jbyte* bae = jenv->GetByteArrayElements(ba, 0); - jclass clazz = jenv->FindClass("java/math/BigInteger"); - jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); - jobject bigint; - int i; - - bae[0] = 0; - for(i=1; i<9; i++ ) { - bae[i] = (jbyte)(result>>8*(8-i)); - } - - jenv->ReleaseByteArrayElements(ba, bae, 0); - bigint = jenv->NewObject(clazz, mid, ba); - jenv->DeleteLocalRef(ba); - jresult = bigint; - } - return jresult; -} - - -SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1getTraceParams(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { - jlong jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::SBError *arg2 = 0 ; - lldb::SBStructuredData result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - arg2 = *(lldb::SBError **)&jarg2; - if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBError & reference is null"); - return 0; - } - result = (arg1)->getTraceParams(*arg2); - *(lldb::SBStructuredData **)&jresult = new lldb::SBStructuredData((const lldb::SBStructuredData &)result); - return jresult; -} - - -SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1getMetaDataBufferSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jobject jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - uint64_t result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - result = (uint64_t)((lldb::SBTraceOptions const *)arg1)->getMetaDataBufferSize(); - { - jbyteArray ba = jenv->NewByteArray(9); - jbyte* bae = jenv->GetByteArrayElements(ba, 0); - jclass clazz = jenv->FindClass("java/math/BigInteger"); - jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); - jobject bigint; - int i; - - bae[0] = 0; - for(i=1; i<9; i++ ) { - bae[i] = (jbyte)(result>>8*(8-i)); - } - - jenv->ReleaseByteArrayElements(ba, bae, 0); - bigint = jenv->NewObject(clazz, mid, ba); - jenv->DeleteLocalRef(ba); - jresult = bigint; - } - return jresult; -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1setTraceParams(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::SBStructuredData *arg2 = 0 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - arg2 = *(lldb::SBStructuredData **)&jarg2; - if (!arg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "lldb::SBStructuredData & reference is null"); - return ; - } - (arg1)->setTraceParams(*arg2); -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1setType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::TraceType arg2 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - arg2 = (lldb::TraceType)jarg2; - (arg1)->setType(arg2); -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1setTraceBufferSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - uint64_t arg2 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return ; - } - clazz = jenv->GetObjectClass(jarg2); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg2 = 0; - if (sz > 0) { - arg2 = (uint64_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - (arg1)->setTraceBufferSize(arg2); -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1setMetaDataBufferSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - uint64_t arg2 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return ; - } - clazz = jenv->GetObjectClass(jarg2); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg2 = 0; - if (sz > 0) { - arg2 = (uint64_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - (arg1)->setMetaDataBufferSize(arg2); -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1setThreadID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::tid_t arg2 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg2) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return ; - } - clazz = jenv->GetObjectClass(jarg2); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg2 = 0; - if (sz > 0) { - arg2 = (lldb::tid_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - (arg1)->setThreadID(arg2); -} - - -SWIGEXPORT jobject JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1getThreadID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jobject jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - lldb::tid_t result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - result = (lldb::tid_t)(arg1)->getThreadID(); - { - jbyteArray ba = jenv->NewByteArray(9); - jbyte* bae = jenv->GetByteArrayElements(ba, 0); - jclass clazz = jenv->FindClass("java/math/BigInteger"); - jmethodID mid = jenv->GetMethodID(clazz, "", "([B)V"); - jobject bigint; - int i; - - bae[0] = 0; - for(i=1; i<9; i++ ) { - bae[i] = (jbyte)(result>>8*(8-i)); - } - - jenv->ReleaseByteArrayElements(ba, bae, 0); - bigint = jenv->NewObject(clazz, mid, ba); - jenv->DeleteLocalRef(ba); - jresult = bigint; - } - return jresult; -} - - -SWIGEXPORT jboolean JNICALL Java_SWIG_lldbJNI_SBTraceOptions_1IsValid(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jboolean jresult = 0 ; - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - bool result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - result = (bool)(arg1)->IsValid(); - jresult = (jboolean)result; - return jresult; -} - - -SWIGEXPORT void JNICALL Java_SWIG_lldbJNI_delete_1SBTraceOptions(JNIEnv *jenv, jclass jcls, jlong jarg1) { - lldb::SBTraceOptions *arg1 = (lldb::SBTraceOptions *) 0 ; - - (void)jenv; - (void)jcls; - arg1 = *(lldb::SBTraceOptions **)&jarg1; - delete arg1; -} - - SWIGEXPORT jlong JNICALL Java_SWIG_lldbJNI_new_1SBTypeMember_1_1SWIG_10(JNIEnv *jenv, jclass jcls) { jlong jresult = 0 ; lldb::SBTypeMember *result = 0 ; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/AccessType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/AccessType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/AccessType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/AccessType.java index aee30e8fdf..3dcccf5326 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/AccessType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/AccessType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class AccessType { public final static AccessType eAccessNone = new AccessType("eAccessNone"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BasicType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BasicType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BasicType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BasicType.java index ffaf1399e7..1c3c4db06d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BasicType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BasicType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class BasicType { public final static BasicType eBasicTypeInvalid = new BasicType("eBasicTypeInvalid", lldbJNI.eBasicTypeInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BreakpointEventType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BreakpointEventType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BreakpointEventType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BreakpointEventType.java index 25bca71ef6..784b5c99f6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/BreakpointEventType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/BreakpointEventType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class BreakpointEventType { public final static BreakpointEventType eBreakpointEventTypeInvalidType = new BreakpointEventType("eBreakpointEventTypeInvalidType", lldbJNI.eBreakpointEventTypeInvalidType_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteArray.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteArray.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteArray.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteArray.java index 6f8c11cf94..b1778f56b9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteArray.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteArray.java @@ -3,7 +3,7 @@ */ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -47,7 +47,6 @@ public class ByteArray extends SWIGTYPE_p_void { lldbJNI.ByteArray_setitem(swigCPtr, this, index, value); } - /* public SWIGTYPE_p_jbyte cast() { long cPtr = lldbJNI.ByteArray_cast(swigCPtr, this); return (cPtr == 0) ? null : new SWIGTYPE_p_jbyte(cPtr, false); @@ -57,6 +56,5 @@ public class ByteArray extends SWIGTYPE_p_void { long cPtr = lldbJNI.ByteArray_frompointer(SWIGTYPE_p_jbyte.getCPtr(t)); return (cPtr == 0) ? null : new ByteArray(cPtr, false); } - */ } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteOrder.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteOrder.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteOrder.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteOrder.java index 4dbb70875a..f1a69bed8e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ByteOrder.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ByteOrder.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ByteOrder { public final static ByteOrder eByteOrderInvalid = new ByteOrder("eByteOrderInvalid", lldbJNI.eByteOrderInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandArgumentType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandArgumentType.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandArgumentType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandArgumentType.java index 3bfdb43ab7..4c9e381dd7 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandArgumentType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandArgumentType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class CommandArgumentType { public final static CommandArgumentType eArgTypeAddress = new CommandArgumentType("eArgTypeAddress", lldbJNI.eArgTypeAddress_get()); @@ -102,6 +100,7 @@ public final class CommandArgumentType { public final static CommandArgumentType eArgTypeCommand = new CommandArgumentType("eArgTypeCommand"); public final static CommandArgumentType eArgTypeColumnNum = new CommandArgumentType("eArgTypeColumnNum"); public final static CommandArgumentType eArgTypeModuleUUID = new CommandArgumentType("eArgTypeModuleUUID"); + public final static CommandArgumentType eArgTypeSaveCoreStyle = new CommandArgumentType("eArgTypeSaveCoreStyle"); public final static CommandArgumentType eArgTypeLastArg = new CommandArgumentType("eArgTypeLastArg"); public final int swigValue() { @@ -138,7 +137,7 @@ public final class CommandArgumentType { swigNext = this.swigValue+1; } - private static CommandArgumentType[] swigValues = { eArgTypeAddress, eArgTypeAddressOrExpression, eArgTypeAliasName, eArgTypeAliasOptions, eArgTypeArchitecture, eArgTypeBoolean, eArgTypeBreakpointID, eArgTypeBreakpointIDRange, eArgTypeBreakpointName, eArgTypeByteSize, eArgTypeClassName, eArgTypeCommandName, eArgTypeCount, eArgTypeDescriptionVerbosity, eArgTypeDirectoryName, eArgTypeDisassemblyFlavor, eArgTypeEndAddress, eArgTypeExpression, eArgTypeExpressionPath, eArgTypeExprFormat, eArgTypeFileLineColumn, eArgTypeFilename, eArgTypeFormat, eArgTypeFrameIndex, eArgTypeFullName, eArgTypeFunctionName, eArgTypeFunctionOrSymbol, eArgTypeGDBFormat, eArgTypeHelpText, eArgTypeIndex, eArgTypeLanguage, eArgTypeLineNum, eArgTypeLogCategory, eArgTypeLogChannel, eArgTypeMethod, eArgTypeName, eArgTypeNewPathPrefix, eArgTypeNumLines, eArgTypeNumberPerLine, eArgTypeOffset, eArgTypeOldPathPrefix, eArgTypeOneLiner, eArgTypePath, eArgTypePermissionsNumber, eArgTypePermissionsString, eArgTypePid, eArgTypePlugin, eArgTypeProcessName, eArgTypePythonClass, eArgTypePythonFunction, eArgTypePythonScript, eArgTypeQueueName, eArgTypeRegisterName, eArgTypeRegularExpression, eArgTypeRunArgs, eArgTypeRunMode, eArgTypeScriptedCommandSynchronicity, eArgTypeScriptLang, eArgTypeSearchWord, eArgTypeSelector, eArgTypeSettingIndex, eArgTypeSettingKey, eArgTypeSettingPrefix, eArgTypeSettingVariableName, eArgTypeShlibName, eArgTypeSourceFile, eArgTypeSortOrder, eArgTypeStartAddress, eArgTypeSummaryString, eArgTypeSymbol, eArgTypeThreadID, eArgTypeThreadIndex, eArgTypeThreadName, eArgTypeTypeName, eArgTypeUnsignedInteger, eArgTypeUnixSignal, eArgTypeVarName, eArgTypeValue, eArgTypeWidth, eArgTypeNone, eArgTypePlatform, eArgTypeWatchpointID, eArgTypeWatchpointIDRange, eArgTypeWatchType, eArgRawInput, eArgTypeCommand, eArgTypeColumnNum, eArgTypeModuleUUID, eArgTypeLastArg }; + private static CommandArgumentType[] swigValues = { eArgTypeAddress, eArgTypeAddressOrExpression, eArgTypeAliasName, eArgTypeAliasOptions, eArgTypeArchitecture, eArgTypeBoolean, eArgTypeBreakpointID, eArgTypeBreakpointIDRange, eArgTypeBreakpointName, eArgTypeByteSize, eArgTypeClassName, eArgTypeCommandName, eArgTypeCount, eArgTypeDescriptionVerbosity, eArgTypeDirectoryName, eArgTypeDisassemblyFlavor, eArgTypeEndAddress, eArgTypeExpression, eArgTypeExpressionPath, eArgTypeExprFormat, eArgTypeFileLineColumn, eArgTypeFilename, eArgTypeFormat, eArgTypeFrameIndex, eArgTypeFullName, eArgTypeFunctionName, eArgTypeFunctionOrSymbol, eArgTypeGDBFormat, eArgTypeHelpText, eArgTypeIndex, eArgTypeLanguage, eArgTypeLineNum, eArgTypeLogCategory, eArgTypeLogChannel, eArgTypeMethod, eArgTypeName, eArgTypeNewPathPrefix, eArgTypeNumLines, eArgTypeNumberPerLine, eArgTypeOffset, eArgTypeOldPathPrefix, eArgTypeOneLiner, eArgTypePath, eArgTypePermissionsNumber, eArgTypePermissionsString, eArgTypePid, eArgTypePlugin, eArgTypeProcessName, eArgTypePythonClass, eArgTypePythonFunction, eArgTypePythonScript, eArgTypeQueueName, eArgTypeRegisterName, eArgTypeRegularExpression, eArgTypeRunArgs, eArgTypeRunMode, eArgTypeScriptedCommandSynchronicity, eArgTypeScriptLang, eArgTypeSearchWord, eArgTypeSelector, eArgTypeSettingIndex, eArgTypeSettingKey, eArgTypeSettingPrefix, eArgTypeSettingVariableName, eArgTypeShlibName, eArgTypeSourceFile, eArgTypeSortOrder, eArgTypeStartAddress, eArgTypeSummaryString, eArgTypeSymbol, eArgTypeThreadID, eArgTypeThreadIndex, eArgTypeThreadName, eArgTypeTypeName, eArgTypeUnsignedInteger, eArgTypeUnixSignal, eArgTypeVarName, eArgTypeValue, eArgTypeWidth, eArgTypeNone, eArgTypePlatform, eArgTypeWatchpointID, eArgTypeWatchpointIDRange, eArgTypeWatchType, eArgRawInput, eArgTypeCommand, eArgTypeColumnNum, eArgTypeModuleUUID, eArgTypeSaveCoreStyle, eArgTypeLastArg }; private static int swigNext = 0; private final int swigValue; private final String swigName; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandFlags.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandFlags.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandFlags.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandFlags.java index 247648b7ec..e9bba119c5 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandFlags.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandFlags.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class CommandFlags { public final static CommandFlags eCommandRequiresTarget = new CommandFlags("eCommandRequiresTarget", lldbJNI.eCommandRequiresTarget_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandInterpreterResult.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandInterpreterResult.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandInterpreterResult.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandInterpreterResult.java index 5fffad83eb..fabd7ebefa 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/CommandInterpreterResult.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/CommandInterpreterResult.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class CommandInterpreterResult { public final static CommandInterpreterResult eCommandInterpreterResultSuccess = new CommandInterpreterResult("eCommandInterpreterResultSuccess"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ConnectionStatus.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ConnectionStatus.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ConnectionStatus.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ConnectionStatus.java index 384d2e39bf..3c64f00856 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ConnectionStatus.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ConnectionStatus.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ConnectionStatus { public final static ConnectionStatus eConnectionStatusSuccess = new ConnectionStatus("eConnectionStatusSuccess"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DescriptionLevel.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DescriptionLevel.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DescriptionLevel.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DescriptionLevel.java index c21cb8d5b6..dd47371fa8 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DescriptionLevel.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DescriptionLevel.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class DescriptionLevel { public final static DescriptionLevel eDescriptionLevelBrief = new DescriptionLevel("eDescriptionLevelBrief", lldbJNI.eDescriptionLevelBrief_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DynamicValueType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DynamicValueType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DynamicValueType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DynamicValueType.java index f71f03700e..a09879ef3d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/DynamicValueType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/DynamicValueType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class DynamicValueType { public final static DynamicValueType eNoDynamicValues = new DynamicValueType("eNoDynamicValues", lldbJNI.eNoDynamicValues_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/EmulateInstructionOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/EmulateInstructionOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/EmulateInstructionOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/EmulateInstructionOptions.java index 51930624a1..5661d99a14 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/EmulateInstructionOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/EmulateInstructionOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class EmulateInstructionOptions { public final static EmulateInstructionOptions eEmulateInstructionOptionNone = new EmulateInstructionOptions("eEmulateInstructionOptionNone", lldbJNI.eEmulateInstructionOptionNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Encoding.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Encoding.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Encoding.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Encoding.java index 4938f23aaa..4ff14ca3b2 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Encoding.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Encoding.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class Encoding { public final static Encoding eEncodingInvalid = new Encoding("eEncodingInvalid", lldbJNI.eEncodingInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ErrorType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ErrorType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ErrorType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ErrorType.java index 29f7841330..8e336a6521 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ErrorType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ErrorType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ErrorType { public final static ErrorType eErrorTypeInvalid = new ErrorType("eErrorTypeInvalid"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java index adf48fedf4..3da88192af 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionEvaluationPhase.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ExpressionEvaluationPhase { public final static ExpressionEvaluationPhase eExpressionEvaluationParse = new ExpressionEvaluationPhase("eExpressionEvaluationParse", lldbJNI.eExpressionEvaluationParse_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionResults.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionResults.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionResults.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionResults.java index ba680e393f..a73f070ee1 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ExpressionResults.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ExpressionResults.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ExpressionResults { public final static ExpressionResults eExpressionCompleted = new ExpressionResults("eExpressionCompleted", lldbJNI.eExpressionCompleted_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FilePermissions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FilePermissions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FilePermissions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FilePermissions.java index 14488826c4..5f773e80d4 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FilePermissions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FilePermissions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class FilePermissions { public final static FilePermissions eFilePermissionsUserRead = new FilePermissions("eFilePermissionsUserRead", lldbJNI.eFilePermissionsUserRead_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Format.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Format.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Format.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Format.java index b832ce434f..13a840f14c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Format.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Format.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class Format { public final static Format eFormatDefault = new Format("eFormatDefault", lldbJNI.eFormatDefault_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FrameComparison.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FrameComparison.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FrameComparison.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FrameComparison.java index 89e6e3b4ec..b326a4ff36 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FrameComparison.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FrameComparison.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class FrameComparison { public final static FrameComparison eFrameCompareInvalid = new FrameComparison("eFrameCompareInvalid"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FunctionNameType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FunctionNameType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FunctionNameType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FunctionNameType.java index 3377af9fde..ab1f9d991b 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/FunctionNameType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/FunctionNameType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class FunctionNameType { public final static FunctionNameType eFunctionNameTypeNone = new FunctionNameType("eFunctionNameTypeNone", lldbJNI.eFunctionNameTypeNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/GdbSignal.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/GdbSignal.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/GdbSignal.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/GdbSignal.java index 6f79b50da6..f8c3fa0464 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/GdbSignal.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/GdbSignal.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class GdbSignal { public final static GdbSignal eGdbSignalBadAccess = new GdbSignal("eGdbSignalBadAccess", lldbJNI.eGdbSignalBadAccess_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderAction.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderAction.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderAction.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderAction.java index 7e9f99eae2..69119caecc 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderAction.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderAction.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class InputReaderAction { public final static InputReaderAction eInputReaderActivate = new InputReaderAction("eInputReaderActivate"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderGranularity.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderGranularity.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderGranularity.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderGranularity.java index 3b59984ffd..cfc2b89b73 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InputReaderGranularity.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InputReaderGranularity.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class InputReaderGranularity { public final static InputReaderGranularity eInputReaderGranularityInvalid = new InputReaderGranularity("eInputReaderGranularityInvalid", lldbJNI.eInputReaderGranularityInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java index 74a012dc92..816a682eb2 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/InstrumentationRuntimeType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class InstrumentationRuntimeType { public final static InstrumentationRuntimeType eInstrumentationRuntimeTypeAddressSanitizer = new InstrumentationRuntimeType("eInstrumentationRuntimeTypeAddressSanitizer", lldbJNI.eInstrumentationRuntimeTypeAddressSanitizer_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LanguageType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LanguageType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LanguageType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LanguageType.java index 9df42dbb00..eb5e298148 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LanguageType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LanguageType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class LanguageType { public final static LanguageType eLanguageTypeUnknown = new LanguageType("eLanguageTypeUnknown", lldbJNI.eLanguageTypeUnknown_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LaunchFlags.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LaunchFlags.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LaunchFlags.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LaunchFlags.java index 43b34ef7dd..06bb429d01 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/LaunchFlags.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/LaunchFlags.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class LaunchFlags { public final static LaunchFlags eLaunchFlagNone = new LaunchFlags("eLaunchFlagNone", lldbJNI.eLaunchFlagNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MatchType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MatchType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MatchType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MatchType.java index 0997602a93..19e27a0f81 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MatchType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MatchType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class MatchType { public final static MatchType eMatchTypeNormal = new MatchType("eMatchTypeNormal"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MemberFunctionKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MemberFunctionKind.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MemberFunctionKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MemberFunctionKind.java index c2d106211c..0914dd5331 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/MemberFunctionKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/MemberFunctionKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class MemberFunctionKind { public final static MemberFunctionKind eMemberFunctionKindUnknown = new MemberFunctionKind("eMemberFunctionKindUnknown", lldbJNI.eMemberFunctionKindUnknown_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/PathType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/PathType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/PathType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/PathType.java index f809c9fb49..755c8fee34 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/PathType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/PathType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class PathType { public final static PathType ePathTypeLLDBShlibDir = new PathType("ePathTypeLLDBShlibDir"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Permissions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Permissions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Permissions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Permissions.java index fdcdb96889..ce2a64f517 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/Permissions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/Permissions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class Permissions { public final static Permissions ePermissionsWritable = new Permissions("ePermissionsWritable", lldbJNI.ePermissionsWritable_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueItemKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueItemKind.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueItemKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueItemKind.java index adacc1db39..0545a33513 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueItemKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueItemKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class QueueItemKind { public final static QueueItemKind eQueueItemKindUnknown = new QueueItemKind("eQueueItemKindUnknown", lldbJNI.eQueueItemKindUnknown_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueKind.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueKind.java index 1272b0e774..fc5986322b 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/QueueKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/QueueKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class QueueKind { public final static QueueKind eQueueKindUnknown = new QueueKind("eQueueKindUnknown", lldbJNI.eQueueKindUnknown_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RegisterKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RegisterKind.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RegisterKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RegisterKind.java index 7756dc0b24..d65d22fb8d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RegisterKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RegisterKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class RegisterKind { public final static RegisterKind eRegisterKindEHFrame = new RegisterKind("eRegisterKindEHFrame", lldbJNI.eRegisterKindEHFrame_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ReturnStatus.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ReturnStatus.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ReturnStatus.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ReturnStatus.java index a92eddfc37..8394b20e74 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ReturnStatus.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ReturnStatus.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ReturnStatus { public final static ReturnStatus eReturnStatusInvalid = new ReturnStatus("eReturnStatusInvalid"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RunMode.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RunMode.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RunMode.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RunMode.java index b3901e7ddc..ea40b095e6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/RunMode.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/RunMode.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class RunMode { public final static RunMode eOnlyThisThread = new RunMode("eOnlyThisThread"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAddress.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAddress.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAddress.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAddress.java index 821551d6a3..4bd31d4331 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAddress.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAddress.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBAddress { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAttachInfo.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAttachInfo.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAttachInfo.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAttachInfo.java index 6a6602cc03..a11cc099d0 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBAttachInfo.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBAttachInfo.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBAttachInfo { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBlock.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBlock.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBlock.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBlock.java index 1e5fe97790..c079ddbbdc 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBlock.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBlock.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBlock { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpoint.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpoint.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpoint.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpoint.java index eb0d7d38bd..887a4bdee1 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpoint.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpoint.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBreakpoint { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointList.java index f4542d6b1b..29ec37c8c6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBreakpointList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointLocation.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointLocation.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointLocation.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointLocation.java index 29003e6371..ab2ef22055 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointLocation.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointLocation.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBreakpointLocation { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointName.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointName.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointName.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointName.java index c11cf0b3b7..ce82ad4ca2 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBreakpointName.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBreakpointName.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBreakpointName { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBroadcaster.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBroadcaster.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBroadcaster.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBroadcaster.java index 90b6f3cb67..76c4cb5c2d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBBroadcaster.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBBroadcaster.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBBroadcaster { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreter.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreter.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreter.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreter.java index 16e118e687..e55e19c360 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreter.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreter.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBCommandInterpreter { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java similarity index 91% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java index ae19797125..b15876098a 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandInterpreterRunOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBCommandInterpreterRunOptions { private transient long swigCPtr; @@ -85,6 +83,14 @@ public class SBCommandInterpreterRunOptions { lldbJNI.SBCommandInterpreterRunOptions_SetPrintResults(swigCPtr, this, arg0); } + public boolean GetPrintErrors() { + return lldbJNI.SBCommandInterpreterRunOptions_GetPrintErrors(swigCPtr, this); + } + + public void SetPrintErrors(boolean arg0) { + lldbJNI.SBCommandInterpreterRunOptions_SetPrintErrors(swigCPtr, this, arg0); + } + public boolean GetAddToHistory() { return lldbJNI.SBCommandInterpreterRunOptions_GetAddToHistory(swigCPtr, this); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandReturnObject.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandReturnObject.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandReturnObject.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandReturnObject.java index 9ca413fcb2..e161eb7098 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommandReturnObject.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommandReturnObject.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBCommandReturnObject { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommunication.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommunication.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommunication.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommunication.java index a786d200b7..bfab5860fd 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCommunication.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCommunication.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBCommunication { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCompileUnit.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCompileUnit.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCompileUnit.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCompileUnit.java index 98ca26dc9d..2adb19ea57 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBCompileUnit.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBCompileUnit.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBCompileUnit { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBData.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBData.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBData.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBData.java index a721755d9e..f469f93d45 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBData.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBData.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBData { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDebugger.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDebugger.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDebugger.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDebugger.java index ddc9e3cfd6..2064de2182 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDebugger.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDebugger.java @@ -1,17 +1,16 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; + public class SBDebugger { private transient long swigCPtr; protected transient boolean swigCMemOwn; @@ -428,6 +427,10 @@ public class SBDebugger { return new SBTypeSynthetic(lldbJNI.SBDebugger_GetSyntheticForType(swigCPtr, this, SBTypeNameSpecifier.getCPtr(arg0), arg0), true); } + public SBStructuredData GetScriptInterpreterInfo(ScriptLanguage arg0) { + return new SBStructuredData(lldbJNI.SBDebugger_GetScriptInterpreterInfo(swigCPtr, this, arg0.swigValue()), true); + } + public String __str__() { return lldbJNI.SBDebugger___str__(swigCPtr, this); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDeclaration.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDeclaration.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDeclaration.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDeclaration.java index 8b73e92e40..03996a7943 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBDeclaration.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBDeclaration.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBDeclaration { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEnvironment.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEnvironment.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEnvironment.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEnvironment.java index 0865a2465f..9975b9936f 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEnvironment.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEnvironment.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBEnvironment { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBError.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBError.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBError.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBError.java index 5a84fd786c..e665d53f14 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBError.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBError.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBError { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEvent.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEvent.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEvent.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEvent.java index a27929d27e..2594f011fc 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBEvent.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBEvent.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBEvent { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExecutionContext.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExecutionContext.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExecutionContext.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExecutionContext.java index c1ba37109a..675db9b6ae 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExecutionContext.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExecutionContext.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBExecutionContext { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExpressionOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExpressionOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExpressionOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExpressionOptions.java index f4004fd3a7..1f93def6ce 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBExpressionOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBExpressionOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBExpressionOptions { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFile.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFile.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFile.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFile.java index f15eae3cd0..7a53cb98a4 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFile.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFile.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBFile { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpec.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpec.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpec.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpec.java index ad4165caf2..5b453c8d29 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpec.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpec.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBFileSpec { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpecList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpecList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpecList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpecList.java index add40ea8e5..fcee949040 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFileSpecList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFileSpecList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBFileSpecList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFrame.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFrame.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFrame.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFrame.java index afee3cd491..6104820cde 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFrame.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFrame.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBFrame { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFunction.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFunction.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFunction.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFunction.java index 8ece1d6daf..71b1848a40 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBFunction.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBFunction.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBFunction { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBHostOS.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBHostOS.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBHostOS.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBHostOS.java index e55c629468..9eef5cc17d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBHostOS.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBHostOS.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBHostOS { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstruction.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstruction.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstruction.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstruction.java index fe2bd80157..d8d2a51ad5 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstruction.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstruction.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBInstruction { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstructionList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstructionList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstructionList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstructionList.java index bb09539626..a22d3a8ff9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBInstructionList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBInstructionList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBInstructionList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLanguageRuntime.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLanguageRuntime.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLanguageRuntime.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLanguageRuntime.java index e8e6383c4d..1ffd1d3e44 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLanguageRuntime.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLanguageRuntime.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBLanguageRuntime { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLaunchInfo.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLaunchInfo.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLaunchInfo.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLaunchInfo.java index 138fe76688..64ae59a933 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLaunchInfo.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLaunchInfo.java @@ -1,17 +1,16 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; + public class SBLaunchInfo { private transient long swigCPtr; protected transient boolean swigCMemOwn; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLineEntry.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLineEntry.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLineEntry.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLineEntry.java index f77d429c76..150d71e4d5 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBLineEntry.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBLineEntry.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBLineEntry { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBListener.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBListener.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBListener.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBListener.java index 4705e7f01a..19332da6aa 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBListener.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBListener.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBListener { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java similarity index 75% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java index 04f7734dfa..45ee045d62 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfo.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBMemoryRegionInfo { private transient long swigCPtr; @@ -49,6 +47,10 @@ public class SBMemoryRegionInfo { this(lldbJNI.new_SBMemoryRegionInfo__SWIG_1(SBMemoryRegionInfo.getCPtr(rhs), rhs), true); } + public SBMemoryRegionInfo(String name, java.math.BigInteger begin, java.math.BigInteger end, long permissions, boolean mapped, boolean stack_memory) { + this(lldbJNI.new_SBMemoryRegionInfo__SWIG_2(name, begin, end, permissions, mapped, stack_memory), true); + } + public void Clear() { lldbJNI.SBMemoryRegionInfo_Clear(swigCPtr, this); } @@ -81,6 +83,22 @@ public class SBMemoryRegionInfo { return lldbJNI.SBMemoryRegionInfo_GetName(swigCPtr, this); } + public boolean HasDirtyMemoryPageList() { + return lldbJNI.SBMemoryRegionInfo_HasDirtyMemoryPageList(swigCPtr, this); + } + + public long GetNumDirtyPages() { + return lldbJNI.SBMemoryRegionInfo_GetNumDirtyPages(swigCPtr, this); + } + + public java.math.BigInteger GetDirtyPageAddressAtIndex(long idx) { + return lldbJNI.SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(swigCPtr, this, idx); + } + + public int GetPageSize() { + return lldbJNI.SBMemoryRegionInfo_GetPageSize(swigCPtr, this); + } + public boolean GetDescription(SBStream description) { return lldbJNI.SBMemoryRegionInfo_GetDescription(swigCPtr, this, SBStream.getCPtr(description), description); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java similarity index 88% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java index 2df809d115..9424009117 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBMemoryRegionInfoList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBMemoryRegionInfoList { private transient long swigCPtr; @@ -53,6 +51,10 @@ public class SBMemoryRegionInfoList { return lldbJNI.SBMemoryRegionInfoList_GetSize(swigCPtr, this); } + public boolean GetMemoryRegionContainingAddress(java.math.BigInteger addr, SBMemoryRegionInfo region_info) { + return lldbJNI.SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(swigCPtr, this, addr, SBMemoryRegionInfo.getCPtr(region_info), region_info); + } + public boolean GetMemoryRegionAtIndex(long idx, SBMemoryRegionInfo region_info) { return lldbJNI.SBMemoryRegionInfoList_GetMemoryRegionAtIndex(swigCPtr, this, idx, SBMemoryRegionInfo.getCPtr(region_info), region_info); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModule.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModule.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModule.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModule.java index 790dc7b65e..900ee2030a 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModule.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModule.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBModule { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpec.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpec.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpec.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpec.java index 5f846074a5..07673db5fd 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpec.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpec.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBModuleSpec { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpecList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpecList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpecList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpecList.java index 9c38436e01..328994f782 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBModuleSpecList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBModuleSpecList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBModuleSpecList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatform.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatform.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatform.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatform.java index def67e395e..948a69a2fc 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatform.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatform.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBPlatform { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java index e84b5809be..0461c4f4d0 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformConnectOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBPlatformConnectOptions { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformShellCommand.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformShellCommand.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformShellCommand.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformShellCommand.java index 8b5aadba0c..1b9a07aa8c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBPlatformShellCommand.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBPlatformShellCommand.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBPlatformShellCommand { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcess.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcess.java similarity index 92% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcess.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcess.java index 9799c4c8b6..b30586099d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcess.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcess.java @@ -1,17 +1,16 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; + public class SBProcess { private transient long swigCPtr; protected transient boolean swigCMemOwn; @@ -328,10 +327,6 @@ public class SBProcess { return new SBError(lldbJNI.SBProcess_SaveCore(swigCPtr, this, file_name), true); } - public SBTrace StartTrace(SBTraceOptions options, SBError error) { - return new SBTrace(lldbJNI.SBProcess_StartTrace(swigCPtr, this, SBTraceOptions.getCPtr(options), options, SBError.getCPtr(error), error), true); - } - public SBError GetMemoryRegionInfo(java.math.BigInteger load_addr, SBMemoryRegionInfo region_info) { return new SBError(lldbJNI.SBProcess_GetMemoryRegionInfo(swigCPtr, this, load_addr, SBMemoryRegionInfo.getCPtr(region_info), region_info), true); } @@ -344,15 +339,23 @@ public class SBProcess { return new SBProcessInfo(lldbJNI.SBProcess_GetProcessInfo(swigCPtr, this), true); } + public java.math.BigInteger AllocateMemory(long size, long permissions, SBError error) { + return lldbJNI.SBProcess_AllocateMemory(swigCPtr, this, size, permissions, SBError.getCPtr(error), error); + } + + public SBError DeallocateMemory(java.math.BigInteger ptr) { + return new SBError(lldbJNI.SBProcess_DeallocateMemory(swigCPtr, this, ptr), true); + } + public String __str__() { return lldbJNI.SBProcess___str__(swigCPtr, this); } - public final static int eBroadcastBitStateChanged = 1 << 0; - public final static int eBroadcastBitInterrupt = 1 << 1; - public final static int eBroadcastBitSTDOUT = 1 << 2; - public final static int eBroadcastBitSTDERR = 1 << 3; - public final static int eBroadcastBitProfileData = 1 << 4; - public final static int eBroadcastBitStructuredData = 1 << 5; + public final static int eBroadcastBitStateChanged = lldbJNI.SBProcess_eBroadcastBitStateChanged_get(); + public final static int eBroadcastBitInterrupt = lldbJNI.SBProcess_eBroadcastBitInterrupt_get(); + public final static int eBroadcastBitSTDOUT = lldbJNI.SBProcess_eBroadcastBitSTDOUT_get(); + public final static int eBroadcastBitSTDERR = lldbJNI.SBProcess_eBroadcastBitSTDERR_get(); + public final static int eBroadcastBitProfileData = lldbJNI.SBProcess_eBroadcastBitProfileData_get(); + public final static int eBroadcastBitStructuredData = lldbJNI.SBProcess_eBroadcastBitStructuredData_get(); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcessInfo.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcessInfo.java similarity index 96% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcessInfo.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcessInfo.java index 4dd9feeb76..272aeb0531 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBProcessInfo.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBProcessInfo.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBProcessInfo { private transient long swigCPtr; @@ -101,4 +99,8 @@ public class SBProcessInfo { return lldbJNI.SBProcessInfo_GetParentProcessID(swigCPtr, this); } + public String GetTriple() { + return lldbJNI.SBProcessInfo_GetTriple(swigCPtr, this); + } + } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueue.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueue.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueue.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueue.java index e236921a2c..8aec336cae 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueue.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueue.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBQueue { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueueItem.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueueItem.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueueItem.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueueItem.java index b44bd7839c..4cb4486c5d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBQueueItem.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBQueueItem.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBQueueItem { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBReproducer.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBReproducer.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBReproducer.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBReproducer.java index da8acc4fd8..982172de26 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBReproducer.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBReproducer.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBReproducer { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSection.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSection.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSection.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSection.java index 8819a75bed..7a1a9f8cf2 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSection.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSection.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBSection { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSourceManager.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSourceManager.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSourceManager.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSourceManager.java index dce73dfe75..dce3e0646c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSourceManager.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSourceManager.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBSourceManager { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStream.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStream.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStream.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStream.java index 7c07611e5d..a01e9b154c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStream.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStream.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBStream { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStringList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStringList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStringList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStringList.java index 48d19647b7..c09094cc10 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStringList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStringList.java @@ -1,17 +1,16 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; + public class SBStringList { private transient long swigCPtr; protected transient boolean swigCMemOwn; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStructuredData.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStructuredData.java similarity index 92% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStructuredData.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStructuredData.java index 98862d535b..e971b8e7ed 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBStructuredData.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBStructuredData.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBStructuredData { private transient long swigCPtr; @@ -118,7 +116,11 @@ public class SBStructuredData { } public SBError SetFromJSON(SBStream stream) { - return new SBError(lldbJNI.SBStructuredData_SetFromJSON(swigCPtr, this, SBStream.getCPtr(stream), stream), true); + return new SBError(lldbJNI.SBStructuredData_SetFromJSON__SWIG_0(swigCPtr, this, SBStream.getCPtr(stream), stream), true); + } + + public SBError SetFromJSON(String json) { + return new SBError(lldbJNI.SBStructuredData_SetFromJSON__SWIG_1(swigCPtr, this, json), true); } } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbol.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbol.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbol.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbol.java index 9795828c0c..12ced20784 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbol.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbol.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBSymbol { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContext.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContext.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContext.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContext.java index 1be8276129..df9ca77a43 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContext.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContext.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBSymbolContext { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContextList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContextList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContextList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContextList.java index 0fd5962a4b..ee56559f77 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBSymbolContextList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBSymbolContextList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBSymbolContextList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTarget.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTarget.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTarget.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTarget.java index aebcb8ae1a..e653a9e08f 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTarget.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTarget.java @@ -3,7 +3,7 @@ */ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -547,10 +547,18 @@ public class SBTarget { return lldbJNI.SBTarget___str__(swigCPtr, this); } - public final static int eBroadcastBitBreakpointChanged = 1 << 0; - public final static int eBroadcastBitModulesLoaded = 1 << 1; - public final static int eBroadcastBitModulesUnloaded = 1 << 2; - public final static int eBroadcastBitWatchpointChanged = 1 << 3; - public final static int eBroadcastBitSymbolsLoaded = 1 << 4; + public SBTrace GetTrace() { + return new SBTrace(lldbJNI.SBTarget_GetTrace(swigCPtr, this), true); + } + + public SBTrace CreateTrace(SBError error) { + return new SBTrace(lldbJNI.SBTarget_CreateTrace(swigCPtr, this, SBError.getCPtr(error), error), true); + } + + public final static int eBroadcastBitBreakpointChanged = lldbJNI.SBTarget_eBroadcastBitBreakpointChanged_get(); + public final static int eBroadcastBitModulesLoaded = lldbJNI.SBTarget_eBroadcastBitModulesLoaded_get(); + public final static int eBroadcastBitModulesUnloaded = lldbJNI.SBTarget_eBroadcastBitModulesUnloaded_get(); + public final static int eBroadcastBitWatchpointChanged = lldbJNI.SBTarget_eBroadcastBitWatchpointChanged_get(); + public final static int eBroadcastBitSymbolsLoaded = lldbJNI.SBTarget_eBroadcastBitSymbolsLoaded_get(); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThread.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThread.java similarity index 94% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThread.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThread.java index f5bd90a1db..7c09fab9eb 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThread.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThread.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBThread { private transient long swigCPtr; @@ -305,10 +303,10 @@ public class SBThread { return lldbJNI.SBThread___str__(swigCPtr, this); } - public final static int eBroadcastBitStackChanged = 1 << 0; - public final static int eBroadcastBitThreadSuspended = 1 << 1; - public final static int eBroadcastBitThreadResumed = 1 << 2; - public final static int eBroadcastBitSelectedFrameChanged = 1 << 3; - public final static int eBroadcastBitThreadSelected = 1 << 4; + public final static int eBroadcastBitStackChanged = lldbJNI.SBThread_eBroadcastBitStackChanged_get(); + public final static int eBroadcastBitThreadSuspended = lldbJNI.SBThread_eBroadcastBitThreadSuspended_get(); + public final static int eBroadcastBitThreadResumed = lldbJNI.SBThread_eBroadcastBitThreadResumed_get(); + public final static int eBroadcastBitSelectedFrameChanged = lldbJNI.SBThread_eBroadcastBitSelectedFrameChanged_get(); + public final static int eBroadcastBitThreadSelected = lldbJNI.SBThread_eBroadcastBitThreadSelected_get(); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadCollection.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadCollection.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadCollection.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadCollection.java index f9da936886..b63bc13b6d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadCollection.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadCollection.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBThreadCollection { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadPlan.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadPlan.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadPlan.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadPlan.java index 732fd25062..07487bdfd9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBThreadPlan.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBThreadPlan.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBThreadPlan { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTrace.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTrace.java similarity index 54% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTrace.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTrace.java index 2f33c320d9..872f9c331d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTrace.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTrace.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTrace { private transient long swigCPtr; @@ -45,24 +43,24 @@ public class SBTrace { this(lldbJNI.new_SBTrace(), true); } - public long GetTraceData(SBError error, SWIGTYPE_p_void buf, long size, long offset, java.math.BigInteger thread_id) { - return lldbJNI.SBTrace_GetTraceData(swigCPtr, this, SBError.getCPtr(error), error, SWIGTYPE_p_void.getCPtr(buf), size, offset, thread_id); + public String GetStartConfigurationHelp() { + return lldbJNI.SBTrace_GetStartConfigurationHelp(swigCPtr, this); } - public long GetMetaData(SBError error, SWIGTYPE_p_void buf, long size, long offset, java.math.BigInteger thread_id) { - return lldbJNI.SBTrace_GetMetaData(swigCPtr, this, SBError.getCPtr(error), error, SWIGTYPE_p_void.getCPtr(buf), size, offset, thread_id); + public SBError Start(SBStructuredData configuration) { + return new SBError(lldbJNI.SBTrace_Start__SWIG_0(swigCPtr, this, SBStructuredData.getCPtr(configuration), configuration), true); } - public void StopTrace(SBError error, java.math.BigInteger thread_id) { - lldbJNI.SBTrace_StopTrace(swigCPtr, this, SBError.getCPtr(error), error, thread_id); + public SBError Start(SBThread thread, SBStructuredData configuration) { + return new SBError(lldbJNI.SBTrace_Start__SWIG_1(swigCPtr, this, SBThread.getCPtr(thread), thread, SBStructuredData.getCPtr(configuration), configuration), true); } - public void GetTraceConfig(SBTraceOptions options, SBError error) { - lldbJNI.SBTrace_GetTraceConfig(swigCPtr, this, SBTraceOptions.getCPtr(options), options, SBError.getCPtr(error), error); + public SBError Stop() { + return new SBError(lldbJNI.SBTrace_Stop__SWIG_0(swigCPtr, this), true); } - public java.math.BigInteger GetTraceUID() { - return lldbJNI.SBTrace_GetTraceUID(swigCPtr, this); + public SBError Stop(SBThread thread) { + return new SBError(lldbJNI.SBTrace_Stop__SWIG_1(swigCPtr, this, SBThread.getCPtr(thread), thread), true); } public boolean IsValid() { diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBType.java similarity index 95% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBType.java index c624134ecf..5e75a6bba0 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBType { private transient long swigCPtr; @@ -89,6 +87,10 @@ public class SBType { return lldbJNI.SBType_IsAnonymousType(swigCPtr, this); } + public boolean IsScopedEnumerationType() { + return lldbJNI.SBType_IsScopedEnumerationType(swigCPtr, this); + } + public SBType GetPointerType() { return new SBType(lldbJNI.SBType_GetPointerType(swigCPtr, this), true); } @@ -117,6 +119,10 @@ public class SBType { return new SBType(lldbJNI.SBType_GetCanonicalType(swigCPtr, this), true); } + public SBType GetEnumerationIntegerType() { + return new SBType(lldbJNI.SBType_GetEnumerationIntegerType(swigCPtr, this), true); + } + public SBType GetArrayElementType() { return new SBType(lldbJNI.SBType_GetArrayElementType(swigCPtr, this), true); } diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeCategory.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeCategory.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeCategory.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeCategory.java index f9181d36b7..e9a4c9a85c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeCategory.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeCategory.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeCategory { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMember.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMember.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMember.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMember.java index 0378606d14..b7ee66656b 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMember.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMember.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeEnumMember { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java index b1f0792b17..b91c9b7b74 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeEnumMemberList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeEnumMemberList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFilter.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFilter.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFilter.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFilter.java index 1425be5168..b4d177b3eb 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFilter.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFilter.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeFilter { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFormat.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFormat.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFormat.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFormat.java index 7ff44c2896..34048dd4fa 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeFormat.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeFormat.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeFormat { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeList.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeList.java index dbcd001782..ff30e6009b 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMember.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMember.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMember.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMember.java index 28353ce214..2a4db6170e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMember.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMember.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeMember { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMemberFunction.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMemberFunction.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMemberFunction.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMemberFunction.java index f41910b2ac..8a085ed72d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeMemberFunction.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeMemberFunction.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeMemberFunction { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java index 0795757b74..1b1b3cabec 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeNameSpecifier.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeNameSpecifier { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummary.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummary.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummary.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummary.java index c686668b5e..269e0d96e3 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummary.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummary.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeSummary { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java index 318941db8b..fe580b8a67 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSummaryOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeSummaryOptions { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSynthetic.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSynthetic.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSynthetic.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSynthetic.java index f51d46f56e..057a0eaa1e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBTypeSynthetic.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBTypeSynthetic.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBTypeSynthetic { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBUnixSignals.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBUnixSignals.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBUnixSignals.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBUnixSignals.java index 54b45bace0..3b6b8faf9d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBUnixSignals.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBUnixSignals.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBUnixSignals { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValue.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValue.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValue.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValue.java index fc23940d34..e4c27fdc11 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValue.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValue.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBValue { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValueList.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValueList.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValueList.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValueList.java index abe86f9799..b31a258333 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBValueList.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBValueList.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBValueList { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBVariablesOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBVariablesOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBVariablesOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBVariablesOptions.java index 5af860631a..1c6541d75c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBVariablesOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBVariablesOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBVariablesOptions { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBWatchpoint.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBWatchpoint.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBWatchpoint.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBWatchpoint.java index 0c7c8408a1..422a47ca79 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SBWatchpoint.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SBWatchpoint.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SBWatchpoint { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java index 304d82e735..5255db8ac6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_double.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_double { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java index c779bee3e4..f681e40299 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_q_const__char_p_void__void.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_f_p_q_const__char_p_void__void { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java index 6825247071..3d7f00bf30 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void__p_void.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_f_p_void__p_void { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java index b8aa65573a..0c88d2836e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_f_p_void_p_q_const__void_size_t__void { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java index fad3e3524a..85321dabde 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_int.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_int { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java index f5e4e897f5..5984a8a95d 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_jbyte.java @@ -1,17 +1,16 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; + public class SWIGTYPE_p_jbyte { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java index 3b9b338a7c..4adfc86731 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_lldb__ConnectionStatus.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_lldb__ConnectionStatus { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java index 756d2c8067..c0b0ac8613 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_double.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_long_double { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java index 6d4d0ef5fe..2c15dd5531 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_long_long.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_long_long { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java index d876e06301..670e455c3c 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_p_void.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_p_void { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java index f94664c250..8d3a4aa9b9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_pthread_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_pthread_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java index 65fff4bf1b..869b58525a 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_size_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_size_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java index 9e5b47f37b..8fc3ade8e7 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java index 1791d3273a..10b81049e6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_std__shared_ptrT_lldb_private__File_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java index 553af56885..02374cc713 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java index cddcb5d68b..8ee68465b9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java index bef7701f50..ccd3af7e5a 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_t { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java index a7cd691975..788b6a5bf3 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_char.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_unsigned_char { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java index 019ca46ab9..eb5951e738 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_int.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_unsigned_int { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java index 923b31f2ef..b8f5dbc71b 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_unsigned_long_long.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_unsigned_long_long { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java similarity index 97% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java index be59bb6aaf..f48bf02989 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SWIGTYPE_p_void.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public class SWIGTYPE_p_void { private transient long swigCPtr; diff --git a/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SaveCoreStyle.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SaveCoreStyle.java new file mode 100644 index 0000000000..ff02701804 --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SaveCoreStyle.java @@ -0,0 +1,59 @@ +/* ### + * IP: Apache License 2.0 with LLVM Exceptions + */ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 4.0.1 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package SWIG; + +public final class SaveCoreStyle { + public final static SaveCoreStyle eSaveCoreUnspecified = new SaveCoreStyle("eSaveCoreUnspecified", lldbJNI.eSaveCoreUnspecified_get()); + public final static SaveCoreStyle eSaveCoreFull = new SaveCoreStyle("eSaveCoreFull", lldbJNI.eSaveCoreFull_get()); + public final static SaveCoreStyle eSaveCoreDirtyOnly = new SaveCoreStyle("eSaveCoreDirtyOnly", lldbJNI.eSaveCoreDirtyOnly_get()); + public final static SaveCoreStyle eSaveCoreStackOnly = new SaveCoreStyle("eSaveCoreStackOnly", lldbJNI.eSaveCoreStackOnly_get()); + + public final int swigValue() { + return swigValue; + } + + public String toString() { + return swigName; + } + + public static SaveCoreStyle swigToEnum(int swigValue) { + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (int i = 0; i < swigValues.length; i++) + if (swigValues[i].swigValue == swigValue) + return swigValues[i]; + throw new IllegalArgumentException("No enum " + SaveCoreStyle.class + " with value " + swigValue); + } + + private SaveCoreStyle(String swigName) { + this.swigName = swigName; + this.swigValue = swigNext++; + } + + private SaveCoreStyle(String swigName, int swigValue) { + this.swigName = swigName; + this.swigValue = swigValue; + swigNext = swigValue+1; + } + + private SaveCoreStyle(String swigName, SaveCoreStyle swigEnum) { + this.swigName = swigName; + this.swigValue = swigEnum.swigValue; + swigNext = this.swigValue+1; + } + + private static SaveCoreStyle[] swigValues = { eSaveCoreUnspecified, eSaveCoreFull, eSaveCoreDirtyOnly, eSaveCoreStackOnly }; + private static int swigNext = 0; + private final int swigValue; + private final String swigName; +} + diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ScriptLanguage.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ScriptLanguage.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ScriptLanguage.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ScriptLanguage.java index 4a651975f9..0bc7d40ea9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ScriptLanguage.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ScriptLanguage.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ScriptLanguage { public final static ScriptLanguage eScriptLanguageNone = new ScriptLanguage("eScriptLanguageNone", lldbJNI.eScriptLanguageNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SearchDepth.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SearchDepth.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SearchDepth.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SearchDepth.java index a1dab62c2a..ecb638c135 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SearchDepth.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SearchDepth.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class SearchDepth { public final static SearchDepth eSearchDepthInvalid = new SearchDepth("eSearchDepthInvalid", lldbJNI.eSearchDepthInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SectionType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SectionType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SectionType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SectionType.java index 862bbab554..a4befbc9fd 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SectionType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SectionType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class SectionType { public final static SectionType eSectionTypeInvalid = new SectionType("eSectionTypeInvalid"); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StateType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StateType.java similarity index 96% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StateType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StateType.java index 3cca12d000..81eb29f94e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StateType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StateType.java @@ -1,20 +1,18 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class StateType { - public final static StateType eStateInvalid = new StateType("eStateInvalid"); + public final static StateType eStateInvalid = new StateType("eStateInvalid", lldbJNI.eStateInvalid_get()); public final static StateType eStateUnloaded = new StateType("eStateUnloaded"); public final static StateType eStateConnected = new StateType("eStateConnected"); public final static StateType eStateAttaching = new StateType("eStateAttaching"); @@ -26,7 +24,7 @@ public final class StateType { public final static StateType eStateDetached = new StateType("eStateDetached"); public final static StateType eStateExited = new StateType("eStateExited"); public final static StateType eStateSuspended = new StateType("eStateSuspended"); - public final static StateType kLastStateType = new StateType("kLastStateType"); + public final static StateType kLastStateType = new StateType("kLastStateType", lldbJNI.kLastStateType_get()); public final int swigValue() { return swigValue; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopReason.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopReason.java similarity index 85% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopReason.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopReason.java index 745539d3b7..a0cbd54b46 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopReason.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopReason.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class StopReason { public final static StopReason eStopReasonInvalid = new StopReason("eStopReasonInvalid", lldbJNI.eStopReasonInvalid_get()); @@ -25,6 +23,10 @@ public final class StopReason { public final static StopReason eStopReasonPlanComplete = new StopReason("eStopReasonPlanComplete"); public final static StopReason eStopReasonThreadExiting = new StopReason("eStopReasonThreadExiting"); public final static StopReason eStopReasonInstrumentation = new StopReason("eStopReasonInstrumentation"); + public final static StopReason eStopReasonProcessorTrace = new StopReason("eStopReasonProcessorTrace"); + public final static StopReason eStopReasonFork = new StopReason("eStopReasonFork"); + public final static StopReason eStopReasonVFork = new StopReason("eStopReasonVFork"); + public final static StopReason eStopReasonVForkDone = new StopReason("eStopReasonVForkDone"); public final int swigValue() { return swigValue; @@ -60,7 +62,7 @@ public final class StopReason { swigNext = this.swigValue+1; } - private static StopReason[] swigValues = { eStopReasonInvalid, eStopReasonNone, eStopReasonTrace, eStopReasonBreakpoint, eStopReasonWatchpoint, eStopReasonSignal, eStopReasonException, eStopReasonExec, eStopReasonPlanComplete, eStopReasonThreadExiting, eStopReasonInstrumentation }; + private static StopReason[] swigValues = { eStopReasonInvalid, eStopReasonNone, eStopReasonTrace, eStopReasonBreakpoint, eStopReasonWatchpoint, eStopReasonSignal, eStopReasonException, eStopReasonExec, eStopReasonPlanComplete, eStopReasonThreadExiting, eStopReasonInstrumentation, eStopReasonProcessorTrace, eStopReasonFork, eStopReasonVFork, eStopReasonVForkDone }; private static int swigNext = 0; private final int swigValue; private final String swigName; diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopShowColumn.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopShowColumn.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopShowColumn.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopShowColumn.java index c8b0982712..28d9414fc0 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StopShowColumn.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StopShowColumn.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class StopShowColumn { public final static StopShowColumn eStopShowColumnAnsiOrCaret = new StopShowColumn("eStopShowColumnAnsiOrCaret", lldbJNI.eStopShowColumnAnsiOrCaret_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StructuredDataType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StructuredDataType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StructuredDataType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StructuredDataType.java index b34f3bc29c..e1219c9f41 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/StructuredDataType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/StructuredDataType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class StructuredDataType { public final static StructuredDataType eStructuredDataTypeInvalid = new StructuredDataType("eStructuredDataTypeInvalid", lldbJNI.eStructuredDataTypeInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolContextItem.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolContextItem.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolContextItem.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolContextItem.java index b44300035d..4232141e6f 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolContextItem.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolContextItem.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class SymbolContextItem { public final static SymbolContextItem eSymbolContextTarget = new SymbolContextItem("eSymbolContextTarget", lldbJNI.eSymbolContextTarget_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolType.java index 3dde5e23b7..05c5351978 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/SymbolType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/SymbolType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class SymbolType { public final static SymbolType eSymbolTypeAny = new SymbolType("eSymbolTypeAny", lldbJNI.eSymbolTypeAny_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TemplateArgumentKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TemplateArgumentKind.java similarity index 93% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TemplateArgumentKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TemplateArgumentKind.java index 41ee403245..e6f4c4d5b6 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TemplateArgumentKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TemplateArgumentKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TemplateArgumentKind { public final static TemplateArgumentKind eTemplateArgumentKindNull = new TemplateArgumentKind("eTemplateArgumentKindNull", lldbJNI.eTemplateArgumentKindNull_get()); @@ -23,7 +21,6 @@ public final class TemplateArgumentKind { public final static TemplateArgumentKind eTemplateArgumentKindExpression = new TemplateArgumentKind("eTemplateArgumentKindExpression"); public final static TemplateArgumentKind eTemplateArgumentKindPack = new TemplateArgumentKind("eTemplateArgumentKindPack"); public final static TemplateArgumentKind eTemplateArgumentKindNullPtr = new TemplateArgumentKind("eTemplateArgumentKindNullPtr"); - public final static TemplateArgumentKind eTemplateArgumentKindUncommonValue = new TemplateArgumentKind("eTemplateArgumentKindUncommonValue"); public final int swigValue() { return swigValue; @@ -59,7 +56,7 @@ public final class TemplateArgumentKind { swigNext = this.swigValue+1; } - private static TemplateArgumentKind[] swigValues = { eTemplateArgumentKindNull, eTemplateArgumentKindType, eTemplateArgumentKindDeclaration, eTemplateArgumentKindIntegral, eTemplateArgumentKindTemplate, eTemplateArgumentKindTemplateExpansion, eTemplateArgumentKindExpression, eTemplateArgumentKindPack, eTemplateArgumentKindNullPtr, eTemplateArgumentKindUncommonValue }; + private static TemplateArgumentKind[] swigValues = { eTemplateArgumentKindNull, eTemplateArgumentKindType, eTemplateArgumentKindDeclaration, eTemplateArgumentKindIntegral, eTemplateArgumentKindTemplate, eTemplateArgumentKindTemplateExpansion, eTemplateArgumentKindExpression, eTemplateArgumentKindPack, eTemplateArgumentKindNullPtr }; private static int swigNext = 0; private final int swigValue; private final String swigName; diff --git a/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceInstructionControlFlowType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceInstructionControlFlowType.java new file mode 100644 index 0000000000..79b14277e4 --- /dev/null +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceInstructionControlFlowType.java @@ -0,0 +1,60 @@ +/* ### + * IP: Apache License 2.0 with LLVM Exceptions + */ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 4.0.1 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package SWIG; + +public final class TraceInstructionControlFlowType { + public final static TraceInstructionControlFlowType eTraceInstructionControlFlowTypeInstruction = new TraceInstructionControlFlowType("eTraceInstructionControlFlowTypeInstruction", lldbJNI.eTraceInstructionControlFlowTypeInstruction_get()); + public final static TraceInstructionControlFlowType eTraceInstructionControlFlowTypeBranch = new TraceInstructionControlFlowType("eTraceInstructionControlFlowTypeBranch", lldbJNI.eTraceInstructionControlFlowTypeBranch_get()); + public final static TraceInstructionControlFlowType eTraceInstructionControlFlowTypeTakenBranch = new TraceInstructionControlFlowType("eTraceInstructionControlFlowTypeTakenBranch", lldbJNI.eTraceInstructionControlFlowTypeTakenBranch_get()); + public final static TraceInstructionControlFlowType eTraceInstructionControlFlowTypeCall = new TraceInstructionControlFlowType("eTraceInstructionControlFlowTypeCall", lldbJNI.eTraceInstructionControlFlowTypeCall_get()); + public final static TraceInstructionControlFlowType eTraceInstructionControlFlowTypeReturn = new TraceInstructionControlFlowType("eTraceInstructionControlFlowTypeReturn", lldbJNI.eTraceInstructionControlFlowTypeReturn_get()); + + public final int swigValue() { + return swigValue; + } + + public String toString() { + return swigName; + } + + public static TraceInstructionControlFlowType swigToEnum(int swigValue) { + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (int i = 0; i < swigValues.length; i++) + if (swigValues[i].swigValue == swigValue) + return swigValues[i]; + throw new IllegalArgumentException("No enum " + TraceInstructionControlFlowType.class + " with value " + swigValue); + } + + private TraceInstructionControlFlowType(String swigName) { + this.swigName = swigName; + this.swigValue = swigNext++; + } + + private TraceInstructionControlFlowType(String swigName, int swigValue) { + this.swigName = swigName; + this.swigValue = swigValue; + swigNext = swigValue+1; + } + + private TraceInstructionControlFlowType(String swigName, TraceInstructionControlFlowType swigEnum) { + this.swigName = swigName; + this.swigValue = swigEnum.swigValue; + swigNext = this.swigValue+1; + } + + private static TraceInstructionControlFlowType[] swigValues = { eTraceInstructionControlFlowTypeInstruction, eTraceInstructionControlFlowTypeBranch, eTraceInstructionControlFlowTypeTakenBranch, eTraceInstructionControlFlowTypeCall, eTraceInstructionControlFlowTypeReturn }; + private static int swigNext = 0; + private final int swigValue; + private final String swigName; +} + diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TraceType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceType.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TraceType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceType.java index 38ffa39d9e..e2a07d65a8 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TraceType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TraceType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TraceType { public final static TraceType eTraceTypeNone = new TraceType("eTraceTypeNone", lldbJNI.eTraceTypeNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeClass.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeClass.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeClass.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeClass.java index 44cf2b983b..3a9dee963e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeClass.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeClass.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TypeClass { public final static TypeClass eTypeClassInvalid = new TypeClass("eTypeClassInvalid", lldbJNI.eTypeClassInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeFlags.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeFlags.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeFlags.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeFlags.java index b4b46bbefe..2df2fb4498 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeFlags.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeFlags.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TypeFlags { public final static TypeFlags eTypeHasChildren = new TypeFlags("eTypeHasChildren", lldbJNI.eTypeHasChildren_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeOptions.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeOptions.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeOptions.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeOptions.java index c5004ba2ab..c411633099 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeOptions.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeOptions.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TypeOptions { public final static TypeOptions eTypeOptionNone = new TypeOptions("eTypeOptionNone", lldbJNI.eTypeOptionNone_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeSummaryCapping.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeSummaryCapping.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeSummaryCapping.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeSummaryCapping.java index cf342095a4..5e58a2fcf7 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/TypeSummaryCapping.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/TypeSummaryCapping.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class TypeSummaryCapping { public final static TypeSummaryCapping eTypeSummaryCapped = new TypeSummaryCapping("eTypeSummaryCapped", lldbJNI.eTypeSummaryCapped_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ValueType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ValueType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ValueType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ValueType.java index 25d6f7d809..722b1c1aeb 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/ValueType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/ValueType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class ValueType { public final static ValueType eValueTypeInvalid = new ValueType("eValueTypeInvalid", lldbJNI.eValueTypeInvalid_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointEventType.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointEventType.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointEventType.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointEventType.java index 92aa819640..644c7f718f 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointEventType.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointEventType.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class WatchpointEventType { public final static WatchpointEventType eWatchpointEventTypeInvalidType = new WatchpointEventType("eWatchpointEventTypeInvalidType", lldbJNI.eWatchpointEventTypeInvalidType_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointKind.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointKind.java similarity index 99% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointKind.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointKind.java index 3f423a052b..4ed586178e 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/WatchpointKind.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/WatchpointKind.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public final class WatchpointKind { public final static WatchpointKind eWatchpointKindWrite = new WatchpointKind("eWatchpointKindWrite", lldbJNI.eWatchpointKindWrite_get()); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldb.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldb.java similarity index 96% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldb.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldb.java index 9d3d3598b7..3c455a0759 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldb.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldb.java @@ -3,7 +3,7 @@ */ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbConstants.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbConstants.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbConstants.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbConstants.java index 8b66dd27cd..75eddcee40 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbConstants.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbConstants.java @@ -1,17 +1,15 @@ /* ### * IP: Apache License 2.0 with LLVM Exceptions */ -package SWIG; - - /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ +package SWIG; public interface lldbConstants { public final static int INT32_MAX = lldbJNI.INT32_MAX_get(); @@ -36,6 +34,7 @@ public interface lldbConstants { public final static int LLDB_REGNUM_GENERIC_ARG6 = lldbJNI.LLDB_REGNUM_GENERIC_ARG6_get(); public final static int LLDB_REGNUM_GENERIC_ARG7 = lldbJNI.LLDB_REGNUM_GENERIC_ARG7_get(); public final static int LLDB_REGNUM_GENERIC_ARG8 = lldbJNI.LLDB_REGNUM_GENERIC_ARG8_get(); + public final static int LLDB_INVALID_STOP_ID = lldbJNI.LLDB_INVALID_STOP_ID_get(); public final static java.math.BigInteger LLDB_INVALID_ADDRESS = lldbJNI.LLDB_INVALID_ADDRESS_get(); public final static long LLDB_INVALID_INDEX32 = lldbJNI.LLDB_INVALID_INDEX32_get(); public final static long LLDB_INVALID_IVAR_OFFSET = lldbJNI.LLDB_INVALID_IVAR_OFFSET_get(); diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbJNI.java b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbJNI.java similarity index 98% rename from Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbJNI.java rename to Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbJNI.java index 5aa2751b5a..5095c63bce 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/java/SWIG/lldbJNI.java +++ b/Ghidra/Debug/Debugger-swig-lldb/src/main/java/SWIG/lldbJNI.java @@ -3,7 +3,7 @@ */ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * Version 4.0.1 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -40,6 +40,7 @@ public class lldbJNI { public final static native int LLDB_REGNUM_GENERIC_ARG6_get(); public final static native int LLDB_REGNUM_GENERIC_ARG7_get(); public final static native int LLDB_REGNUM_GENERIC_ARG8_get(); + public final static native int LLDB_INVALID_STOP_ID_get(); public final static native java.math.BigInteger LLDB_INVALID_ADDRESS_get(); public final static native long LLDB_INVALID_INDEX32_get(); public final static native long LLDB_INVALID_IVAR_OFFSET_get(); @@ -280,6 +281,11 @@ public class lldbJNI { public final static native int eQueueItemKindUnknown_get(); public final static native int eQueueKindUnknown_get(); public final static native int eExpressionEvaluationParse_get(); + public final static native int eTraceInstructionControlFlowTypeInstruction_get(); + public final static native int eTraceInstructionControlFlowTypeBranch_get(); + public final static native int eTraceInstructionControlFlowTypeTakenBranch_get(); + public final static native int eTraceInstructionControlFlowTypeCall_get(); + public final static native int eTraceInstructionControlFlowTypeReturn_get(); public final static native int eWatchpointKindWrite_get(); public final static native int eWatchpointKindRead_get(); public final static native int eGdbSignalBadAccess_get(); @@ -323,6 +329,10 @@ public class lldbJNI { public final static native int eCommandProcessMustBeTraced_get(); public final static native int eTypeSummaryCapped_get(); public final static native int eTypeSummaryUncapped_get(); + public final static native int eSaveCoreUnspecified_get(); + public final static native int eSaveCoreFull_get(); + public final static native int eSaveCoreDirtyOnly_get(); + public final static native int eSaveCoreStackOnly_get(); public final static native long new_SBAddress__SWIG_0(); public final static native long new_SBAddress__SWIG_1(long jarg1, SBAddress jarg1_); public final static native long new_SBAddress__SWIG_2(long jarg1, SBSection jarg1_, java.math.BigInteger jarg2); @@ -822,6 +832,7 @@ public class lldbJNI { public final static native long SBDebugger_GetSummaryForType(long jarg1, SBDebugger jarg1_, long jarg2, SBTypeNameSpecifier jarg2_); public final static native long SBDebugger_GetFilterForType(long jarg1, SBDebugger jarg1_, long jarg2, SBTypeNameSpecifier jarg2_); public final static native long SBDebugger_GetSyntheticForType(long jarg1, SBDebugger jarg1_, long jarg2, SBTypeNameSpecifier jarg2_); + public final static native long SBDebugger_GetScriptInterpreterInfo(long jarg1, SBDebugger jarg1_, int jarg2); public final static native String SBDebugger___str__(long jarg1, SBDebugger jarg1_); public final static native void SBDebugger_RunCommandInterpreter(long jarg1, SBDebugger jarg1_, boolean jarg2, boolean jarg3, long jarg4, SBCommandInterpreterRunOptions jarg4_, int[] jarg5, boolean[] jarg6, boolean[] jarg7); public final static native long SBDebugger_RunREPL(long jarg1, SBDebugger jarg1_, int jarg2, String jarg3); @@ -1179,6 +1190,7 @@ public class lldbJNI { public final static native boolean SBListener_HandleBroadcastEvent(long jarg1, SBListener jarg1_, long jarg2, SBEvent jarg2_); public final static native long new_SBMemoryRegionInfo__SWIG_0(); public final static native long new_SBMemoryRegionInfo__SWIG_1(long jarg1, SBMemoryRegionInfo jarg1_); + public final static native long new_SBMemoryRegionInfo__SWIG_2(String jarg1, java.math.BigInteger jarg2, java.math.BigInteger jarg3, long jarg4, boolean jarg5, boolean jarg6); public final static native void delete_SBMemoryRegionInfo(long jarg1); public final static native void SBMemoryRegionInfo_Clear(long jarg1, SBMemoryRegionInfo jarg1_); public final static native java.math.BigInteger SBMemoryRegionInfo_GetRegionBase(long jarg1, SBMemoryRegionInfo jarg1_); @@ -1188,12 +1200,17 @@ public class lldbJNI { public final static native boolean SBMemoryRegionInfo_IsExecutable(long jarg1, SBMemoryRegionInfo jarg1_); public final static native boolean SBMemoryRegionInfo_IsMapped(long jarg1, SBMemoryRegionInfo jarg1_); public final static native String SBMemoryRegionInfo_GetName(long jarg1, SBMemoryRegionInfo jarg1_); + public final static native boolean SBMemoryRegionInfo_HasDirtyMemoryPageList(long jarg1, SBMemoryRegionInfo jarg1_); + public final static native long SBMemoryRegionInfo_GetNumDirtyPages(long jarg1, SBMemoryRegionInfo jarg1_); + public final static native java.math.BigInteger SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(long jarg1, SBMemoryRegionInfo jarg1_, long jarg2); + public final static native int SBMemoryRegionInfo_GetPageSize(long jarg1, SBMemoryRegionInfo jarg1_); public final static native boolean SBMemoryRegionInfo_GetDescription(long jarg1, SBMemoryRegionInfo jarg1_, long jarg2, SBStream jarg2_); public final static native String SBMemoryRegionInfo___str__(long jarg1, SBMemoryRegionInfo jarg1_); public final static native long new_SBMemoryRegionInfoList__SWIG_0(); public final static native long new_SBMemoryRegionInfoList__SWIG_1(long jarg1, SBMemoryRegionInfoList jarg1_); public final static native void delete_SBMemoryRegionInfoList(long jarg1); public final static native long SBMemoryRegionInfoList_GetSize(long jarg1, SBMemoryRegionInfoList jarg1_); + public final static native boolean SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(long jarg1, SBMemoryRegionInfoList jarg1_, java.math.BigInteger jarg2, long jarg3, SBMemoryRegionInfo jarg3_); public final static native boolean SBMemoryRegionInfoList_GetMemoryRegionAtIndex(long jarg1, SBMemoryRegionInfoList jarg1_, long jarg2, long jarg3, SBMemoryRegionInfo jarg3_); public final static native void SBMemoryRegionInfoList_Append__SWIG_0(long jarg1, SBMemoryRegionInfoList jarg1_, long jarg2, SBMemoryRegionInfo jarg2_); public final static native void SBMemoryRegionInfoList_Append__SWIG_1(long jarg1, SBMemoryRegionInfoList jarg1_, long jarg2, SBMemoryRegionInfoList jarg2_); @@ -1414,10 +1431,11 @@ public class lldbJNI { public final static native long SBProcess_GetHistoryThreads(long jarg1, SBProcess jarg1_, java.math.BigInteger jarg2); public final static native boolean SBProcess_IsInstrumentationRuntimePresent(long jarg1, SBProcess jarg1_, int jarg2); public final static native long SBProcess_SaveCore(long jarg1, SBProcess jarg1_, String jarg2); - public final static native long SBProcess_StartTrace(long jarg1, SBProcess jarg1_, long jarg2, SBTraceOptions jarg2_, long jarg3, SBError jarg3_); public final static native long SBProcess_GetMemoryRegionInfo(long jarg1, SBProcess jarg1_, java.math.BigInteger jarg2, long jarg3, SBMemoryRegionInfo jarg3_); public final static native long SBProcess_GetMemoryRegions(long jarg1, SBProcess jarg1_); public final static native long SBProcess_GetProcessInfo(long jarg1, SBProcess jarg1_); + public final static native java.math.BigInteger SBProcess_AllocateMemory(long jarg1, SBProcess jarg1_, long jarg2, long jarg3, long jarg4, SBError jarg4_); + public final static native long SBProcess_DeallocateMemory(long jarg1, SBProcess jarg1_, java.math.BigInteger jarg2); public final static native String SBProcess___str__(long jarg1, SBProcess jarg1_); public final static native long new_SBProcessInfo__SWIG_0(); public final static native long new_SBProcessInfo__SWIG_1(long jarg1, SBProcessInfo jarg1_); @@ -1435,6 +1453,7 @@ public class lldbJNI { public final static native boolean SBProcessInfo_EffectiveUserIDIsValid(long jarg1, SBProcessInfo jarg1_); public final static native boolean SBProcessInfo_EffectiveGroupIDIsValid(long jarg1, SBProcessInfo jarg1_); public final static native java.math.BigInteger SBProcessInfo_GetParentProcessID(long jarg1, SBProcessInfo jarg1_); + public final static native String SBProcessInfo_GetTriple(long jarg1, SBProcessInfo jarg1_); public final static native long new_SBQueue__SWIG_0(); public final static native long new_SBQueue__SWIG_1(long jarg1); public final static native void delete_SBQueue(long jarg1); @@ -1534,7 +1553,8 @@ public class lldbJNI { public final static native long SBStructuredData_GetStringValue(long jarg1, SBStructuredData jarg1_, String jarg2, long jarg3); public final static native long SBStructuredData_GetAsJSON(long jarg1, SBStructuredData jarg1_, long jarg2, SBStream jarg2_); public final static native long SBStructuredData_GetDescription(long jarg1, SBStructuredData jarg1_, long jarg2, SBStream jarg2_); - public final static native long SBStructuredData_SetFromJSON(long jarg1, SBStructuredData jarg1_, long jarg2, SBStream jarg2_); + public final static native long SBStructuredData_SetFromJSON__SWIG_0(long jarg1, SBStructuredData jarg1_, long jarg2, SBStream jarg2_); + public final static native long SBStructuredData_SetFromJSON__SWIG_1(long jarg1, SBStructuredData jarg1_, String jarg2); public final static native long new_SBSymbol__SWIG_0(); public final static native void delete_SBSymbol(long jarg1); public final static native long new_SBSymbol__SWIG_1(long jarg1, SBSymbol jarg1_); @@ -1715,6 +1735,8 @@ public class lldbJNI { public final static native long SBTarget_EvaluateExpression__SWIG_0(long jarg1, SBTarget jarg1_, String jarg2); public final static native long SBTarget_EvaluateExpression__SWIG_1(long jarg1, SBTarget jarg1_, String jarg2, long jarg3, SBExpressionOptions jarg3_); public final static native String SBTarget___str__(long jarg1, SBTarget jarg1_); + public final static native long SBTarget_GetTrace(long jarg1, SBTarget jarg1_); + public final static native long SBTarget_CreateTrace(long jarg1, SBTarget jarg1_, long jarg2, SBError jarg2_); public final static native int SBThread_eBroadcastBitStackChanged_get(); public final static native int SBThread_eBroadcastBitThreadSuspended_get(); public final static native int SBThread_eBroadcastBitThreadResumed_get(); @@ -1819,26 +1841,13 @@ public class lldbJNI { public final static native long SBThreadPlan_QueueThreadPlanForStepScripted__SWIG_1(long jarg1, SBThreadPlan jarg1_, String jarg2, long jarg3, SBError jarg3_); public final static native long SBThreadPlan_QueueThreadPlanForStepScripted__SWIG_2(long jarg1, SBThreadPlan jarg1_, String jarg2, long jarg3, SBStructuredData jarg3_, long jarg4, SBError jarg4_); public final static native long new_SBTrace(); - public final static native long SBTrace_GetTraceData(long jarg1, SBTrace jarg1_, long jarg2, SBError jarg2_, long jarg3, long jarg4, long jarg5, java.math.BigInteger jarg6); - public final static native long SBTrace_GetMetaData(long jarg1, SBTrace jarg1_, long jarg2, SBError jarg2_, long jarg3, long jarg4, long jarg5, java.math.BigInteger jarg6); - public final static native void SBTrace_StopTrace(long jarg1, SBTrace jarg1_, long jarg2, SBError jarg2_, java.math.BigInteger jarg3); - public final static native void SBTrace_GetTraceConfig(long jarg1, SBTrace jarg1_, long jarg2, SBTraceOptions jarg2_, long jarg3, SBError jarg3_); - public final static native java.math.BigInteger SBTrace_GetTraceUID(long jarg1, SBTrace jarg1_); + public final static native String SBTrace_GetStartConfigurationHelp(long jarg1, SBTrace jarg1_); + public final static native long SBTrace_Start__SWIG_0(long jarg1, SBTrace jarg1_, long jarg2, SBStructuredData jarg2_); + public final static native long SBTrace_Start__SWIG_1(long jarg1, SBTrace jarg1_, long jarg2, SBThread jarg2_, long jarg3, SBStructuredData jarg3_); + public final static native long SBTrace_Stop__SWIG_0(long jarg1, SBTrace jarg1_); + public final static native long SBTrace_Stop__SWIG_1(long jarg1, SBTrace jarg1_, long jarg2, SBThread jarg2_); public final static native boolean SBTrace_IsValid(long jarg1, SBTrace jarg1_); public final static native void delete_SBTrace(long jarg1); - public final static native long new_SBTraceOptions(); - public final static native int SBTraceOptions_getType(long jarg1, SBTraceOptions jarg1_); - public final static native java.math.BigInteger SBTraceOptions_getTraceBufferSize(long jarg1, SBTraceOptions jarg1_); - public final static native long SBTraceOptions_getTraceParams(long jarg1, SBTraceOptions jarg1_, long jarg2, SBError jarg2_); - public final static native java.math.BigInteger SBTraceOptions_getMetaDataBufferSize(long jarg1, SBTraceOptions jarg1_); - public final static native void SBTraceOptions_setTraceParams(long jarg1, SBTraceOptions jarg1_, long jarg2, SBStructuredData jarg2_); - public final static native void SBTraceOptions_setType(long jarg1, SBTraceOptions jarg1_, int jarg2); - public final static native void SBTraceOptions_setTraceBufferSize(long jarg1, SBTraceOptions jarg1_, java.math.BigInteger jarg2); - public final static native void SBTraceOptions_setMetaDataBufferSize(long jarg1, SBTraceOptions jarg1_, java.math.BigInteger jarg2); - public final static native void SBTraceOptions_setThreadID(long jarg1, SBTraceOptions jarg1_, java.math.BigInteger jarg2); - public final static native java.math.BigInteger SBTraceOptions_getThreadID(long jarg1, SBTraceOptions jarg1_); - public final static native boolean SBTraceOptions_IsValid(long jarg1, SBTraceOptions jarg1_); - public final static native void delete_SBTraceOptions(long jarg1); public final static native long new_SBTypeMember__SWIG_0(); public final static native long new_SBTypeMember__SWIG_1(long jarg1, SBTypeMember jarg1_); public final static native void delete_SBTypeMember(long jarg1); diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/arm/LldbArmDebuggerMappingOpinion.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/arm/LldbArmDebuggerMappingOpinion.java index 2393a15c9a..07fa4cba13 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/arm/LldbArmDebuggerMappingOpinion.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/arm/LldbArmDebuggerMappingOpinion.java @@ -29,7 +29,7 @@ import ghidra.util.Msg; */ public class LldbArmDebuggerMappingOpinion implements DebuggerMappingOpinion { protected static final LanguageID LANG_ID_AARCH64 = new LanguageID("AARCH64:LE:64:v8A"); - protected static final CompilerSpecID COMP_ID_GCC = new CompilerSpecID("gcc"); + protected static final CompilerSpecID COMP_ID_DEFAULT = new CompilerSpecID("default"); protected static class LldbI386X86_64RegisterMapper extends DefaultDebuggerRegisterMapper { public LldbI386X86_64RegisterMapper(CompilerSpec cSpec, @@ -49,7 +49,7 @@ public class LldbArmDebuggerMappingOpinion implements DebuggerMappingOpinion { protected static class LldbAarch64MacosOffer extends DefaultDebuggerMappingOffer { public LldbAarch64MacosOffer(TargetProcess process) { - super(process, 50, "AARCH64/LLDB on macos", LANG_ID_AARCH64, COMP_ID_GCC, + super(process, 50, "AARCH64/LLDB on macos", LANG_ID_AARCH64,COMP_ID_DEFAULT, Set.of("cpsr")); } } @@ -61,7 +61,7 @@ public class LldbArmDebuggerMappingOpinion implements DebuggerMappingOpinion { return Set.of(); } String arch = env.getArchitecture(); - boolean is64Bit = arch.contains("AARCH64"); + boolean is64Bit = arch.contains("AARCH64") || arch.contains("arm64"); String os = env.getOperatingSystem(); if (os.contains("macos")) { if (is64Bit) { diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/lldb/LldbX86DebuggerMappingOpinion.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/lldb/LldbX86DebuggerMappingOpinion.java index fddacfb809..a475e88b6d 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/lldb/LldbX86DebuggerMappingOpinion.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/platform/lldb/LldbX86DebuggerMappingOpinion.java @@ -18,15 +18,18 @@ package ghidra.app.plugin.core.debug.platform.lldb; import java.util.Set; import ghidra.app.plugin.core.debug.mapping.*; -import ghidra.dbg.target.*; -import ghidra.program.model.lang.*; +import ghidra.dbg.target.TargetEnvironment; +import ghidra.dbg.target.TargetProcess; +import ghidra.program.model.lang.CompilerSpecID; +import ghidra.program.model.lang.LanguageID; import ghidra.util.Msg; public class LldbX86DebuggerMappingOpinion implements DebuggerMappingOpinion { protected static final LanguageID LANG_ID_X86 = new LanguageID("x86:LE:32:default"); protected static final LanguageID LANG_ID_X86_64 = new LanguageID("x86:LE:64:default"); + protected static final CompilerSpecID COMP_ID_DEFAULT = new CompilerSpecID("default"); protected static final CompilerSpecID COMP_ID_GCC = new CompilerSpecID("gcc"); - protected static final CompilerSpecID COMP_ID_VS = new CompilerSpecID("Visual Studio"); + protected static final CompilerSpecID COMP_ID_VS = new CompilerSpecID("windows"); protected static class LldbI386MacosOffer extends DefaultDebuggerMappingOffer { public LldbI386MacosOffer(TargetProcess process) { @@ -74,30 +77,49 @@ public class LldbX86DebuggerMappingOpinion implements DebuggerMappingOpinion { return Set.of(); } String arch = env.getArchitecture(); - if (arch.startsWith("i386")) { - return Set.of(); - } + boolean is32Bit = arch.contains("x86-32") || arch.contains("i386") || + arch.contains("x86_32"); boolean is64Bit = arch.contains("x86-64") || arch.contains("x64-32") || - arch.contains("x86_64") || arch.contains("x64_32"); + arch.contains("x86_64") || arch.contains("x64_32") || arch.contains("i686"); String os = env.getOperatingSystem(); - Msg.info(this, "Using os=" + os + " arch=" + arch); if (os.contains("macos")) { if (is64Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); return Set.of(new LldbI386X86_64MacosOffer(process)); } - return Set.of(new LldbI386MacosOffer(process)); + else if (is32Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); + return Set.of(new LldbI386MacosOffer(process)); + } + else { + return Set.of(); + } } else if (os.contains("Linux") || os.contains("linux")) { if (is64Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); return Set.of(new LldbI386X86_64LinuxOffer(process)); } - return Set.of(new LldbI386LinuxOffer(process)); + else if (is32Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); + return Set.of(new LldbI386LinuxOffer(process)); + } + else { + return Set.of(); + } } - else if (os.contains("Cygwin")) { + else if (os.contains("windows")) { if (is64Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); return Set.of(new LldbI386X86_64WindowsOffer(process)); } - return Set.of(new LldbI386WindowsOffer(process)); + else if (is32Bit) { + Msg.info(this, "Using os=" + os + " arch=" + arch); + return Set.of(new LldbI386WindowsOffer(process)); + } + else { + return Set.of(); + } } return Set.of(); }