Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan for future development of Capstone #1319

Closed
aquynh opened this issue Dec 20, 2018 · 16 comments
Closed

Plan for future development of Capstone #1319

aquynh opened this issue Dec 20, 2018 · 16 comments

Comments

@aquynh
Copy link
Collaborator

aquynh commented Dec 20, 2018

This is a rough plan to continue Capstone development after v4.0. Exact timeline is to be updated.


### Version 4.1

This version is now developed in https://github.com/aquynh/capstone/tree/v4.1.

Features:
- Include some bugfixes for version 4.0
- Update for SystemZ
- New architecture MOS65XX

Update: since this breaks bindings (see #1315), we bumped the major version to v5.


Version 5.0

This version is developed in https://github.com/aquynh/capstone/tree/next.

This is a major update for all architectures, and will hopefully add few more from LLVM 7.0.x.

  • Sync with latest code from LLVM, focusing on X86, Arm, Arm64, Mips, PowerPC & Sparc. This would bring in latest instruction sets for all these architectures.
  • Better toolset to generate instruction meta data from LLVM tablegen, to make it easier to sync with future update of LLVM. Currently this is painful, requiring adhoc manual work.
  • New architectures to be considered to support: MSP430, ARC, AVR & RISCV. (RiscV already had a pull req Basic RISCV support #1198)
  • We may also add WebAsm architecture

Bindings

Except Python, most existing bindings become broken when we upgraded from v3.0.5 to v4.0. See #1315 for more details.

Binding authors should at least update their cs_insn structure, so their bindings can work. Beyond that, we hope they continue to support all the new features introduced in v4.0.

@aquynh aquynh pinned this issue Dec 20, 2018
@aquynh aquynh changed the title Plan for future versions of Capstone Plan for future development of Capstone Dec 20, 2018
@aquynh
Copy link
Collaborator Author

aquynh commented Jan 22, 2019

Update: we merged the branch v4.1 to the master branch. The next release will be v4.1

@aquynh
Copy link
Collaborator Author

aquynh commented Jan 30, 2019

Update: since branch master breaks bindings, i marked its version as 5.0 instead.

We still have some maintenance versions for v4.0.x. The next release will be v4.0.2, where we just cherry-pick bugfixes. Track this version in branch https://github.com/aquynh/capstone/tree/v4.0.2 https://github.com/aquynh/capstone/tree/v4

@aquynh
Copy link
Collaborator Author

aquynh commented Feb 28, 2019

some quick updates on development on the "next" branch.

now X86 is done, i am moving to ARM. expect update soon.

@aquynh
Copy link
Collaborator Author

aquynh commented Mar 9, 2019

for the "next" branch (will be released as v5.0), we got few more new architectures in MOS65xx, BPF, WASM & RISCV. more will come in the near future, before 5.0 is out.

@aquynh
Copy link
Collaborator Author

aquynh commented Mar 16, 2019

We just had a huge update on ARM, so now we can handle can latest instructions from v8.1a ~ v8.4a specs.

Check it out in the "next" branch at https://github.com/aquynh/capstone/tree/next

Next update will be Aarch64.

@aquynh
Copy link
Collaborator Author

aquynh commented Apr 10, 2019

AArch64 architecture is updated, and should support all the latest instructions now.

Check it out in the "next" branch at https://github.com/aquynh/capstone/tree/next

I am now moving to update PowerPC.

@radare
Copy link
Contributor

radare commented Apr 10, 2019 via email

@aquynh
Copy link
Collaborator Author

aquynh commented Apr 30, 2019

PowerPC is updated, see https://github.com/aquynh/capstone/tree/next.

The remaining important architectures to be updated are Mips & Sparc.

@XVilka
Copy link
Contributor

XVilka commented Dec 20, 2019

@aquynh can you create an organization? So multiple people can manage the repository?
Or @radareorg can adopt the project, thanks.

@XVilka

This comment has been minimized.

@XVilka

This comment has been minimized.

@XVilka
Copy link
Contributor

XVilka commented Oct 13, 2020

Project looks like dying without enough maintainers @aquynh

@XVilka
Copy link
Contributor

XVilka commented Oct 21, 2020

Newer ARMv8 instructions are needed to be updated again: #1650

@arandomdev
Copy link

Would it be possible to update the instruction set for existing ARCHs like AArch64 on the current version and PyPI package? I'm using this in my project DyldExtractor, but it seems to stop disassembling on recent PAC instructions like RETAB and PACIBSP.

@aquynh aquynh unpinned this issue Nov 8, 2021
@XVilka
Copy link
Contributor

XVilka commented May 31, 2023

Should this one be closed now? @aquynh @kabeor

@kabeor
Copy link
Member

kabeor commented May 31, 2023

@XVilka yeah I think so. Closed.

@kabeor kabeor closed this as completed May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants