Closed XVilka closed 9 months ago
Do we gain anything right now by removing support for Capstone 3?
@ret2libc it was in the 0.5.0 milestone to announce the deprecation. It allows us to remove the ifdefs after the release
Why do we want to deprecate it? I mean, it's just a bunch of ifdef
at this point and I don't think it's causing us too many problems, is it?
Why do we need to keep it? Capstone 4 is everywhere already, Capstone 5 is about to be released, and we will focus on likely slightly incompatible results of the auto-sync project.
Why do we need to keep it?
Because removing it is additional work at this point, while keeping it is not.
@ret2libc not entirely true. Take a look at capstone 5 PR - it will likely need more #ifdef
s to support both CS4 and CS5. Keeping CS3 support would be unnecessary burden. Also, CS3 is way too incorrect for x86 and ARM decoding.
Ok, now all distributions that have CS3 as the highest are EOL long time ago. We can safely drop CS3 any minute now.
I'd still keep CS3 if it does not require extra effort :) I understand it's wrong often, but unfortunately CS is a mandatory dependency so it's better to be able to compile rizin and have wrong results (but the chance to use other plugins) rather than not being able to have rizin at all.
I'd still keep CS3 if it does not require extra effort :) I understand it's wrong often, but unfortunately CS is a mandatory dependency so it's better to be able to compile rizin and have wrong results (but the chance to use other plugins) rather than not being able to have rizin at all.
If you use old platform with no capstone above 3, you can always just use bundled capstone. It's super easy to do and we test it even on Debian Wheezy. Thus, should not be a reason to stop this removal, IMHO.
Good point, yeah. 👍
Capstone 4.0 was out in 2018, most platforms already migrated:
We could announce deprecation in 0.5.0 and remove it in 0.6.0
Biggest platform that still has no CS4 is Ubuntu 18.04.6 LTS which is EOL on April 2023, it is roughly the possible time for 0.6.0, so it would be safe to remove it: https://wiki.ubuntu.com/Releases