-
Notifications
You must be signed in to change notification settings - Fork 123
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
x86 support #30
Comments
For Intel we decided to go for x64 support. No plans for x32 right now but I agree it would be an interesting target to look at. |
I see, is it even feasible or are there many hidden hard-coded assumptions? |
It's definitely feasible. The disassembler is coming from LLVM which works for x32 so getting MCInst out is no problem. Once you have MCInst it's going to be different but the basic framework is there to follow. |
Is there a road map of planned features or support? Might be helpful to those wanting to contribute to the project. I personally would love to see Win PE/COFF and x86 support, and will likely tinker around with this project to see if I can get it compiling cleanly under Windows/VS and at least add COFF support. Even having a basic layout or flow of the internals would aid in grokking the internals a bit better. |
Yes it compiles cleanly on Windows since it's just llvm. But it takes up to an hour. |
@Trass3r might be helpful to get a wiki page on getting this working under Windows, though those compile times are a bit of a knock. Have you tried using incremental compilation to get them to more reasonable amounts? |
It's all in the readme, though a bit convoluted. You can use the Visual Studio or Ninja generator. |
@Trass3r I'm actually currently going through that (waiting for LLVM to clone), but one can immediately see that the readme would only work under WSL, where as I am talking under the native windows environment (though it doesn't much adaptation). Just nice to have a "Build Instructions (Windows)" section :)
I assume by "they" you mean LLVM? I find that strange as I did have LLVM 4.x compiling both as a shared lib and static lib quite a while ago. I dunno how much has changed since then given that we are now at LLVM 9.x |
Make sure to do a shallow clone |
Bit late for that, I am unfortunately not a git guru... I opened #37 for this seeing as this now more about windows support than x86 support. |
Just curious, any plans for 32bit support?
Seems like the calling convention is hard-coded in X86RegisterUtils.
The text was updated successfully, but these errors were encountered: