Debian package: Stop stripping RPATH, handled by CMake already Remove the chrpath invocation that deletes RPATH/RUNPATH from binaries and plugin shared libraries during Debian package creation. We already set `SKIP_BUILD_RPATH` in `CompileOptions.cmake` (via BinExporT). PiperOrigin-RevId: 983800205 Change-Id: Ida4ee4decac98660f0d73228740297493afa0309
Recent Commits to bindiff:main
-
Debian package: Stop stripping RPATH, handled by CMake already
-
No public description
No public description PiperOrigin-RevId: 982456760 Change-Id: I0b4208dea34368fd98f6b3f086dd25230285cb27
-
CLI: Cleanup headers
CLI: Cleanup headers PiperOrigin-RevId: 978516711 Change-Id: I2b01a4a7e3bebe197d6ab18a42ad7e15fb7697d8
-
Unit tests for core matching algorithms and writers
Unit tests for core matching algorithms and writers Add unit test suites covering - all 14 basic block matching algorithms, - all 14 function matching algorithms, - GroundtruthWriter, GetMatchColor, - and config loading/merging Also fixes `FindCallReferenceFixedPoints` wrongly returning `false` when new fixed points are discovered. This has been the case for at least 15y (!). PiperOrigin-RevId: 978398954 Change-Id: I8e6c21b3fc463a4ab29755a1a85517237030903d
-
IDA plugin: Fix SIGSEGV in CallGraph::IsLibrary when viewing flow graphs

IDA plugin: Fix SIGSEGV in CallGraph::IsLibrary when viewing flow graphs When diff results are loaded from disk (is_incomplete() == true), Results::PrepareVisualDiff was experiencing a segmentation fault: 1. primary and secondary std::unique_ptr<FlowGraph> were declared inside the if (is_incomplete()) block, causing them to be destroyed prior to database writing. Their destructor detached them from the call graph and set call_graph_ to null. 2. database_writer->Write was passed member variables flow_graphs1_, flow_graphs2_, and fixed_points_ instead of the local variables containing only the selected function pair. Extend the lifetime of primary and secondary across PrepareVisualDiff and pass the local flow_graphs1, flow_graphs2, and fixed_points to database_writer->Write. PiperOrigin-RevId: 977992480 Change-Id: I35d4867cb6c76b30a3d9e94ec89ae6a9d2056821
-
Java Gradle build: Modernize build scripts, update deps and address d…
Java Gradle build: Modernize build scripts, update deps and address deprecations Update build scripts in preparation for Gradle 9: - Use Task Configuration Avoidance API (`tasks.register` and `configureEach`) - Replace deprecated `mainClassName` property with `application.mainClass` - Use explicit property assignment for repository URLs - Update dependencies to later versions PiperOrigin-RevId: 966659125 Change-Id: Ic2bad8c9c231bfe79c5fd3f16205920edb8db48c
-
No public description
No public description PiperOrigin-RevId: 966563085 Change-Id: Ie56cc2ad151af72c8477abd9ccf159d7df7c0b59
-
Update copyright years in user-visible strings to 2026
Update copyright years in user-visible strings to 2026 PiperOrigin-RevId: 966465443 Change-Id: If72e585218be88d79044e255cb852e7de2c01390
-
Refactor codebase to use `absl::Status` for error handling
Refactor codebase to use `absl::Status` for error handling - Remove the `StatementOrThrow` and `ExecuteOrThrow` methods from the SQLite wrapper - Replace exception-based error handling with `absl::Status` and `absl::StatusOr` - Replace try-catch blocks with `ABSL_RETURN_IF_ERROR` and `ABSL_ASSIGN_OR_RETURN` macros across the database writer, reader, and IDA plugin code. Additionally, introduce a `ShowWarningAndReturn` helper to handle UI warnings on failure We will probably need more refactorings to separate how/when we show UI messages and when/what we will log. PiperOrigin-RevId: 964092040 Change-Id: I5037e8fc64b354b134ffce881585a887337ec784
-
Update JFreeChart dependents to 1.5.6

Update JFreeChart dependents to 1.5.6 PiperOrigin-RevId: 963980831 Change-Id: If6451568a16f58f7d028996107b8d8d302e6d33f
-
IDA Pro plugin: Remove 32-bit vs 64-bit IDA warning when diffing
IDA Pro plugin: Remove 32-bit vs 64-bit IDA warning when diffing This is no longer relevent, as we are now building 64-bit address aware versions only. PiperOrigin-RevId: 959486926 Change-Id: I1d98099c9ac6864e91ee0b53c785c63087ed1f0d
-
Refactor `FlowGraph` and `CallGraph` creation to use factory methods
Refactor `FlowGraph` and `CallGraph` creation to use factory methods - Replace the constructors of `FlowGraph` with static factory methods (`Create` and `FromProto`) that return `absl::StatusOr` - Update `CallGraph::AttachFlowGraph` and `DetachFlowGraph` to return `absl::Status` instead of throwing exceptions. Update call sites and tests to handle the new status-returning APIs. - Same exercise for the IDA Pro plugin's `SetupTemporaryFlowGraphs()` PiperOrigin-RevId: 958989365 Change-Id: Ic720e6452f20dcdd074abe26f5238dfe6ee5fe2a
-
Automated Code Change

Automated Code Change PiperOrigin-RevId: 958953771 Change-Id: Ib9e8c2786d29ed92b08089a06c49a3893150c75f
-
#Cleanup headers, modernize to C++20
#Cleanup headers, modernize to C++20 Cleanups in the BinDiff codebase: - Include what you use - Replaces `ABSL_CONST_INIT` with standard C++20 `constinit`. - C++20 defaulted `operator==()` - Removes deprecated GetName() and GetConfidence() methods in MatchFlowGraph, updating callers to use name() and confidence(). - Cleans up unused and missing header includes in BUILD, main_portable.cc, and match/flow_graph.h. - Mark throwing methods in SQLite support code as deprecated PiperOrigin-RevId: 958902120 Change-Id: I66db8e4e463da7c54d608037c3ba0777011a3eaa
-
Automated Code Change

Automated Code Change PiperOrigin-RevId: 957104966 Change-Id: Ice192ec0e8c740588493ac8fbe3bf3b1edd3f6ce
-
Expose `SetupGraphsFromProto` in `differ.h`
Expose `SetupGraphsFromProto` in `differ.h` This change exposes `SetupGraphsFromProto` in the public BinDiff interface, allowing clients to load BinExport protos directly in memory. PiperOrigin-RevId: 956489672 Change-Id: Iab14193a0dc4f525d6de79e82bbc7841d287368c
-
Automated Code Change

Automated Code Change PiperOrigin-RevId: 956366898 Change-Id: Ie2cbe0dc6ca1279aaa4d5d9adab9f85151cc969c
-
GitHub Actions: Fix incorrect indentation in YAML file
GitHub Actions: Fix incorrect indentation in YAML file PiperOrigin-RevId: 954491951 Change-Id: Ic61aaf8e2a95d43d656138ef514e55c2cba06858
-
Clean up IDA SDK compatibility code and require IDA 9.0+.
Clean up IDA SDK compatibility code and require IDA 9.0+. - Removes support for IDA SDK versions older than 9.0 - Update plugin structures to use C++20 designated initializers - Clean up header includes PiperOrigin-RevId: 953356721 Change-Id: I5259a0eb0eadd0338a727c445a6c82750c1b0742
-
BinDiff/BinExport: Replace custom status macros with Abseil's
BinDiff/BinExport: Replace custom status macros with Abseil's - Migrates the codebase from the custom status macros (`NA_RETURN_IF_ERROR`, `NA_ASSIGN_OR_RETURN`, `NA_ASSERT_OK_AND_ASSIGN`) to the standard Abseil equivalents (`ABSL_RETURN_IF_ERROR`, `ABSL_ASSIGN_OR_RETURN`, `ABSL_ASSERT_OK_AND_ASSIGN`) As part of this migration: - Deleted `status_macros.h` and `status_macros_test.cc` - Updated Build files to depend on `absl::status_macros` PiperOrigin-RevId: 952694707 Change-Id: I8f2bf3ded24cbbb65df7f2500c57f67c7b693a35
-
BinDiff/BinExport: Update build configuration and dependencies
BinDiff/BinExport: Update build configuration and dependencies Update various build settings, dependencies, and scripts for both projects: - Update CMake to version 4.4.0 and uses the default Xcode path in macOS build scripts - Update Googletest and Benchmark dependencies to newer revisions. - Force MSVC default runtime library behavior - Restrict Binary Ninja plugin compilation on unsupported platforms. - Fixe the BinDiff install target name casing and adjust IDA plugin compile definitions PiperOrigin-RevId: 952570437 Change-Id: I3a1368c8d764b42d8fd288ab1dc08f2a22dee9ae
-
BinDiff: Update build system for IDA Pro 9.4+ and modernize CI.
BinDiff: Update build system for IDA Pro 9.4+ and modernize CI. - Update the IDA Pro plugin targets to support IDA 9.4 and newer, which unifies the plugin binaries and removes the legacy _ida64 suffix from build and packaging configurations - Modernize CMake configurations, replacing custom ida_* wrappers with standard CMake commands - Update the embedded SQLite dependency to version 3.53.0 - Update GitHub Actions workflows to use newer runner OS versions (including ARM support) and newer action versions - Configure multi-architecture macOS builds PiperOrigin-RevId: 951980730 Change-Id: I270baddc3926bd11542cd418a80c28a7cfbc65f6
-
No public description
No public description PiperOrigin-RevId: 951446592 Change-Id: Ic24f737250acd9d48173b245176692c566b51720
-
Automated Code Change

Automated Code Change PiperOrigin-RevId: 951386002 Change-Id: I77ce3859a69a04a487d943e5885501ab4a0d4bc2
-
Automated Code Change

Automated Code Change PiperOrigin-RevId: 951358540 Change-Id: I890860a0689c78d460e4205775b98ec51d8296cd
-
macOS Kokoro build script: Update to CMake 4.3.2
macOS Kokoro build script: Update to CMake 4.3.2 PiperOrigin-RevId: 911800900 Change-Id: I692aea67b78c135d9a0aee7a4339e59806a3cbb1
-
Automated Code Change
Automated Code Change PiperOrigin-RevId: 830348037 Change-Id: Ia419da1c9e0f4d708d50bdbbfb190d72d932c170