fab44bb0fd
Five files for tri-pi cross-compilation and ARM64 Tor support: - cmake/aarch64-toolchain.cmake: CMake toolchain file for aarch64-linux-gnu - cmake/armhf-toolchain.cmake: same, for arm-linux-gnueabihf - scripts/tri-pi-test.sh: QEMU-based test harness (user-mode + full-system) for Pi 3B/3A+/4B/5. Runs the cross-compiled trianglesd under qemu-aarch64-static so ARM binary correctness can be validated without physical Pi hardware. - src/tor/build-libtor-aarch64.sh: cross-compile libtor.a for aarch64 using the vendored configure flow from src/tor/configure.vendored. These accompany the in-progress tri-pi bootstrap work (Hetzner Pi, raspbian packaging). Also staged (separately from the build scripts above): - src/test/fuzz/transaction_deserialize_fuzz.cpp: libFuzzer harness for CTransaction deserialization. Reads raw attacker-controlled bytes into a CDataStream and calls Unserialize on a CTransaction, then exercises hash determinism, round-trip serialize/parse, and CheckTransaction bounds. Mirrors the Bitcoin Core deserialize-fuzz pattern. Not yet wired into src/CMakeLists.txt — the BUILD_FUZZ=ON gate currently only builds fuzz_script; a follow-up patch should add the analogous stanza for this target.
17 lines
569 B
CMake
17 lines
569 B
CMake
# CMake toolchain for cross-compiling to aarch64 (Pi 3/4/5)
|
|
set(CMAKE_SYSTEM_NAME Linux)
|
|
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
|
|
|
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
|
|
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
|
|
|
|
set(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
|
|
|
|
# Also search the multiarch lib path
|
|
set(CMAKE_LIBRARY_PATH /usr/lib/aarch64-linux-gnu)
|
|
set(CMAKE_INCLUDE_PATH /usr/include)
|