diff options
| author | Brandon Miller <brandon@vector35.com> | 2026-01-27 11:26:57 -0500 |
|---|---|---|
| committer | Brandon Miller <brandon@vector35.com> | 2026-01-27 11:26:57 -0500 |
| commit | 5ccef726c0954116f8f4b5d6347e0acdbb0b6ce3 (patch) | |
| tree | ef347ed0ae08bbdafb53fd5e82ffdfd104377522 /defaultabb | |
| parent | e5805fe927f42d3ac56dd283fc02b394a9739d79 (diff) | |
Perform function lifting and inlining in arch plugins
This change allows architecture plugins to override the LiftFunction
callback to iterate a function's basic block list and lift entire
functions at once. This is required for architectures such as TMS320
C6x, which have non-traditional "delay slots" in that branches, loads,
and other instructions take multiple cycles to complete, and branch
instructions can reside within the delay slots of other branches.
Diffstat (limited to 'defaultabb')
| -rw-r--r-- | defaultabb/CMakeLists.txt | 50 | ||||
| -rw-r--r-- | defaultabb/plugin.cpp | 12 |
2 files changed, 0 insertions, 62 deletions
diff --git a/defaultabb/CMakeLists.txt b/defaultabb/CMakeLists.txt deleted file mode 100644 index b81d14be..00000000 --- a/defaultabb/CMakeLists.txt +++ /dev/null @@ -1,50 +0,0 @@ -cmake_minimum_required(VERSION 3.13 FATAL_ERROR) - -project(defaultabb) - -if(NOT BN_INTERNAL_BUILD) - add_subdirectory(${PROJECT_SOURCE_DIR}/../.. ${PROJECT_BINARY_DIR}/api) -endif() - -file(GLOB SOURCES CONFIGURE_DEPENDS - *.cpp - *.h) - -if(DEMO) - add_library(defaultabb STATIC ${SOURCES}) -else() - add_library(defaultabb SHARED ${SOURCES}) -endif() - -target_include_directories(defaultabb - PRIVATE ${PROJECT_SOURCE_DIR} -) - -if(WIN32) - target_link_directories(defaultabb - PRIVATE ${BN_INSTALL_DIR}) - target_link_libraries(defaultabb binaryninjaapi) -else() - target_link_libraries(defaultabb binaryninjaapi) -endif() - -if(UNIX AND NOT APPLE) - target_link_options(defaultabb PRIVATE "LINKER:--exclude-libs,ALL") -endif() - -set_target_properties(defaultabb PROPERTIES - CXX_STANDARD 20 - CXX_VISIBILITY_PRESET hidden - CXX_STANDARD_REQUIRED ON - C_STANDARD 99 - C_STANDARD_REQUIRED ON - C_VISIBILITY_PRESET hidden - VISIBILITY_INLINES_HIDDEN ON - POSITION_INDEPENDENT_CODE ON) - -if(BN_INTERNAL_BUILD) - plugin_rpath(defaultabb) - set_target_properties(defaultabb PROPERTIES - LIBRARY_OUTPUT_DIRECTORY ${BN_CORE_PLUGIN_DIR} - RUNTIME_OUTPUT_DIRECTORY ${BN_CORE_PLUGIN_DIR}) -endif() diff --git a/defaultabb/plugin.cpp b/defaultabb/plugin.cpp deleted file mode 100644 index 917a03ee..00000000 --- a/defaultabb/plugin.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "binaryninjaapi.h" -#include "binaryninjacore.h" - -using namespace BinaryNinja; - -extern "C" { - BN_DECLARE_CORE_ABI_VERSION - BINARYNINJAPLUGIN bool CorePluginInit() - { - return BNArchitectureSetDefaultAnalyzeBasicBlocksCallback((void *)Architecture::DefaultAnalyzeBasicBlocksCallback); - } -} |
