From: Thomas H. <hu...@tu...> - 2022-06-25 19:24:29
|
On 24/06/2022 16.17, Dhruv Maroo wrote: [...] > We use Capstone for the disassembly wherever it is feasible. But Capstone > does not support SuperH. It would be nice to have SuperH disassembly support > within Capstone itself, since it would lead to a more uniform integration > between Capstone and Rizin. It'll also help anyone else looking for a SuperH > disassembler (since there really aren't many of them). > > I can help by writing the SuperH disassembler for Capstone. I am fairly > familiar with the ISA and I have already partially implemented the > disassembler. I have also had a look at Capstone's API (for implementing x86 > RzIL in Rizin). I can implement a complete disassembler with all the > instructions. I would like to hear from the maintainers and the users > whether I should go ahead with it (hence this mail thread). Hi! My name is Thomas Huth, I just joined the mailing list recently, and I'm just a user of Capstone so far. I'm coming from the QEMU project which uses Capstone as disassembler for some of the emulated targets. From this QEMU point of view, a SuperH disassembler in Capstone would be very welcome - QEMU has a "sh4" target that could benefit from this. So far, QEMU is using a very old version of the GNU disassembler for this which was still licensed under the GPLv2: https://gitlab.com/qemu-project/qemu/-/blob/master/disas/sh4.c Since QEMU can't be relicensed under GPLv3, we're stuck with this old and backlevel version of the code and can't use newer versions of the GNU disassemblers that have been relicensed with GPLv3. So having an up-to-date and maintained SH4 disassembler in Capstone would be very welcome for QEMU, I think. That way we could finally get rid of the old GPLv2 disassembler code and just rely on Capstone. Note that Capstone has a BSD-style license. So if you want to contribute your disassembler code here, it should also be licensed the same way, and not LGPLv3 or something similar. I hope that's not a problem for you (assuming you wrote all the code on your own)? Best regards, Thomas |