summaryrefslogtreecommitdiff
path: root/defaultabb
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2026-01-27 11:26:57 -0500
committerBrandon Miller <brandon@vector35.com>2026-01-27 11:26:57 -0500
commit5ccef726c0954116f8f4b5d6347e0acdbb0b6ce3 (patch)
treeef347ed0ae08bbdafb53fd5e82ffdfd104377522 /defaultabb
parente5805fe927f42d3ac56dd283fc02b394a9739d79 (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.txt50
-rw-r--r--defaultabb/plugin.cpp12
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);
- }
-}