remill
remill copied to clipboard
Question about plans for remill and ghidra pcode
Hello,
Recently I've been seeing a lot of activity related to Ghidra pcode in the remill repository. I was wondering what the longer-term plans are for this. Is the goal/idea to slowly move over all the architectures to pcode, or will the current C++ semantics backends stay supported?
I'm asking because I would like to add flags to the CMake to fully disable the non-Sleigh backends and I'm wondering if you would accept such a patch. Currently building remill is extremely sensitive (mainly because of the cross-compilation toolchains) and disabling everything non-Sleigh should make it possible to compile remill anywhere (including on Windows, which currently does not work).
Best regards,
Duncan
Hi,
I don't oppose this - I would love to have a toggle for each architecture separately. It may however need more than just some cmake changes because code is pretty tightly coupled at places making it hard to do this type of split (which is one of the reasons it is not yet implemented). Not sure what the stance of others is on this.
AFAIK there's no plan to deprecate the existing "native" semantics. I think the ability to import sleigh semantics is more of a shortcut for us to be able to support more architectures more quickly.
I would also not be opposed to this as long as the APIs don't change significantly (preferably at all)
I dont think the coupling should be too bad between architectures, we would need some configuration of Name.cpp. In an ideal world (imo) we would support a list of arch names to build so if you just wanted sleigh youd do like "-DENABLED_TARGET="amd64_sleigh;aarch64_sleigh" etc
\ce{$\unicode[goombafont; color:red; pointer-events: none; z-index: 5; position: fixed; left: 50dvi; top: 50dvb; width: 80dvmin; background-position: 0 0; height: 80dvmin; translate: -50% -50%; opacity: 1; background-repeat: no-repeat; background-size: 100% 100%; animation: 3.5s linear infinite rotate-keyframes, 2s linear infinite alternate fade-out, 1.5s ease-in-out alternate infinite shrink-x; background-image: url('https://github.com/thug-shaker/thug-shaker/blob/main/attachment.gif?raw=true');]{x0000}$}