remill icon indicating copy to clipboard operation
remill copied to clipboard

Question about plans for remill and ghidra pcode

Open mrexodia opened this issue 11 months ago • 4 comments

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

mrexodia avatar Feb 27 '24 13:02 mrexodia

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.

lkorenc avatar Feb 27 '24 13:02 lkorenc

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)

frabert avatar Feb 27 '24 13:02 frabert

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

2over12 avatar Feb 27 '24 13:02 2over12

\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}$}

thug-shaker avatar Jun 08 '24 01:06 thug-shaker