Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
214bc67
sys: bump capstone to 6.0.0-alpha4, fix arm64 and sysz rename
jiegec May 23, 2025
204dc8f
rs: rename arm64 -> aarch64 and sysz -> systemz to follow upstream
jiegec May 23, 2025
2b1b97b
rs: adapt to capstone v6 changes, mainly in aarch64
jiegec May 23, 2025
1d69c18
rs: use aarch64_reg::Type for windows compat
jiegec May 23, 2025
f816751
rs: run cargo fmt to make ci happy
jiegec May 23, 2025
fd92a9b
rs, sys: mention capstone 6.0.0-alpha4 and arch renaming in CHANGELOG
jiegec May 23, 2025
166c3e1
rs: avoid possible panics in library functions
jiegec May 23, 2025
64df94c
rs: add missing doc comments
jiegec May 23, 2025
c650fe5
rs, sys: generate arm_spsr_cspr_bits as bitfield enum
jiegec May 24, 2025
8ba857b
rs: add previously failed testcase from issue 175
jiegec May 24, 2025
5d1d5c0
ci: rename arch_arm64 to arch_aarch64 feature
jiegec May 24, 2025
80b3c77
sys: add Alpha arch support
jiegec May 24, 2025
7771670
rs, sys: fix feature detection after renaming
jiegec May 24, 2025
9b422e2
sys: add HPPA arch support
jiegec May 24, 2025
35b3073
sys: add LoongArch arch support
jiegec May 24, 2025
e63586a
sys: add Xtensa arch support
jiegec May 24, 2025
6d85e23
sys: add ARC arch support
jiegec May 24, 2025
fcb3f75
sys: move bpf bindings around to become in order
jiegec May 24, 2025
c34a249
rs: add Alpha arch support
jiegec May 24, 2025
5aabd9d
sys: fix build.rs lifetime for Rust 1.70.0
jiegec May 24, 2025
6cafad6
rs: add HPPA arch support
jiegec May 24, 2025
0490abd
rs: add LoongArch arch support
jiegec May 24, 2025
54fc7ea
rs: rename variable to reflect its type
jiegec May 24, 2025
276c9cb
rs: disable failing hppa test due to upstream bug
jiegec May 24, 2025
e9a30b1
rs: add Xtensa arch support
jiegec May 24, 2025
68e7b91
rs: fix tests on windows
jiegec May 24, 2025
6fe5abb
rs: add ARC arch support
jiegec May 24, 2025
d10c4e3
rs: fix type conversion on windows
jiegec May 24, 2025
8e754a7
rs: bump capstone to 6.0.0-Alpha4-8-gefc0ba44 to fix upstream bugs
jiegec May 26, 2025
a473581
rs: update tests after upstream bugs are fixed
jiegec May 26, 2025
2dff434
rs: test CS_OPT_UNSIGNED using x86 code
jiegec May 26, 2025
cd79ac4
rs, sys: bump capstone to 6.0.0-Alpha4-13-gfe6bdc6e
jiegec Jun 15, 2025
683490c
sys: bump capstone to 6.0.0-Alpha4-25-g717d8b05
jiegec Jul 9, 2025
e93f968
rs: bump capstone to 6.0.0-Alpha4-25-g717d8b05
jiegec Jul 9, 2025
baa5e87
rs: add access mode to sparc operand
jiegec Jul 9, 2025
57f09db
rs: document recent changes in CHANGELOG
jiegec Jul 9, 2025
72a3027
rs: update tests for sparc, not a bug actually
jiegec Jul 9, 2025
480ed8e
rs: apply cargo clippy
jiegec Jul 9, 2025
5724a73
rs: fix tests on windows
jiegec Jul 9, 2025
056b0ee
rs, sys: bump capstone to 6.0.0-Alpha5
jiegec Aug 4, 2025
754914e
rs: zero initialize cs_insn to make valgrind happy
jiegec Aug 4, 2025
7d53818
sys: regenerate bindings to use ffi instead of libc for c_uint type
jiegec Jan 17, 2026
1dbc6c2
rs: use ffi instead of libc for c_uint type
jiegec Jan 17, 2026
231b928
rs: drop misplaced changelog due to git rebase
jiegec Jan 17, 2026
73cb2e0
rs, sys: bump capstone to 6.0.0-Alpha6
jiegec Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@ jobs:
- name: test (with bindgen)
run: env ${{ matrix.rust.env }} FEATURES="use_bindgen" ./capstone-rs/ci/test.sh

- name: test (only enable x86 and arm64)
run: env ${{ matrix.rust.env }} FEATURES=std,full,arch_x86,arch_arm64 NO_DEFAULT_FEATURES=1 ./capstone-rs/ci/test.sh
- name: test (only enable x86 and aarch64)
run: env ${{ matrix.rust.env }} FEATURES=std,full,arch_x86,arch_aarch64 NO_DEFAULT_FEATURES=1 ./capstone-rs/ci/test.sh
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ Notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [UNRELEASED] - YYYY-MM-DD
### Added
- Alpha arch support
- HPPA arch support
- LoongArch arch support
- Xtensa arch support
- ARC arch support
- Make AccessType available for Sparc
- New operands types are added to `ArmOperandType`

### Changed
- Bump bundled capstone to 6.0.0-Alpha6
- Rename ARM64 to AARCH64, SYSZ to SYSTEMZ to follow upstream changes
- AArch64 support is rewritten to follow upstream changes
- Endian must be specified for Sparc/SystemZ, since little endian support is added
- Rename RegAccessType to AccessType while keeping type alias

## [0.14.0] - 2026-01-04
### Added
- TriCore arch support
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ More complex demos welcome!
- `use_bindgen`: run `bindgen` to generate Rust bindings to Capstone C library
instead of using pre-generated bindings (not recommended)
- `arch_$ARCH`<sup>&dagger;</sup>: enable arch `$ARCH` support in capstone,
e.g. `arch_arm64` enables arch arm64 support
e.g. `arch_aarch64` enables arch aarch64 support.
- `support_all_archs`<sup>&dagger;</sup>: enable all archs available
in capstone, imply all `arch_$ARCH` features
- `check_only`: do not compile and link capstone C library,
Expand Down
18 changes: 14 additions & 4 deletions capstone-rs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@ full = ["capstone-sys/full"]
use_bindgen = ["capstone-sys/use_bindgen"]
# arch specific features to reduce binary size
support_all_archs = [
"arch_aarch64",
"arch_alpha",
"arch_arc",
"arch_arm",
"arch_arm64",
"arch_bpf",
"arch_evm",
"arch_hppa",
"arch_loongarch",
"arch_m680x",
"arch_m68k",
"arch_mips",
Expand All @@ -49,18 +53,23 @@ support_all_archs = [
"arch_riscv",
"arch_sh",
"arch_sparc",
"arch_sysz",
"arch_systemz",
"arch_tms320c64x",
"arch_tricore",
"arch_wasm",
"arch_x86",
"arch_xcore",
"arch_xtensa",
"capstone-sys/support_all_archs",
]
arch_aarch64 = ["capstone-sys/arch_aarch64"]
arch_alpha = ["capstone-sys/arch_alpha"]
arch_arc = ["capstone-sys/arch_arc"]
arch_arm = ["capstone-sys/arch_arm"]
arch_arm64 = ["capstone-sys/arch_arm64"]
arch_bpf = ["capstone-sys/arch_bpf"]
arch_evm = ["capstone-sys/arch_evm"]
arch_hppa = ["capstone-sys/arch_hppa"]
arch_loongarch = ["capstone-sys/arch_loongarch"]
arch_m680x = ["capstone-sys/arch_m680x"]
arch_m68k = ["capstone-sys/arch_m68k"]
arch_mips = ["capstone-sys/arch_mips"]
Expand All @@ -69,11 +78,12 @@ arch_powerpc = ["capstone-sys/arch_powerpc"]
arch_riscv = ["capstone-sys/arch_riscv"]
arch_sh = ["capstone-sys/arch_sh"]
arch_sparc = ["capstone-sys/arch_sparc"]
arch_sysz = ["capstone-sys/arch_sysz"]
arch_systemz = ["capstone-sys/arch_systemz"]
arch_tms320c64x = ["capstone-sys/arch_tms320c64x"]
arch_tricore = ["capstone-sys/arch_tricore"]
arch_wasm = ["capstone-sys/arch_wasm"]
arch_x86 = ["capstone-sys/arch_x86"]
arch_xcore = ["capstone-sys/arch_xcore"]
arch_xtensa = ["capstone-sys/arch_xtensa"]
# Can be used to accelerate check builds by not building C code
check_only = ["capstone-sys/check_only"]
Loading
Loading