edb-debugger icon indicating copy to clipboard operation
edb-debugger copied to clipboard

Port to multiple platforms

Open eteran opened this issue 8 years ago • 8 comments

edb is currently in a state where Linux is the only platform where it even compiles. I'd like to improve this situation, but also don't want to have an issue for each platform like we've had in the past. So this issue will be used to track porting progress instead:

  • [ ] Port to FreeBSD
  • [ ] Port to OpenBSD
  • [ ] Port to macOS
  • [ ] Port to Windows
  • [ ] Support MingW compiler

99% of the effort will be in getting the DebuggerCore plugins up to speed on those platforms. That's where essentially all of the OS specific code resides.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

eteran avatar Oct 08 '15 16:10 eteran

It seems to me that we'll want DebuggerCore to have more arch-specific interface, otherwise we'll end up duplicating much of the arch-specific things like storage for registers, corresponding getters etc..

10110111 avatar Oct 08 '15 16:10 10110111

Right, some of things like the PlatformState have a new concept of being "filled" from native structures, and are more generic than they used to be. So it can probably be shared between all x86 builds of the plugin. I suspect similar for some of the other Platform* classes

eteran avatar Oct 08 '15 16:10 eteran

Is there a definitive way to set up a reasonable build environment for Windows? I downloaded the Windows 10 Evaluation VM and I'm not sure how to set it up to (start failing to) build edb. I've installed cmake, VS2017, boost and pkg-config, but I appear to be stuck on getting capstone recognized now. In addition, getting pkg-config recognized involved dropping binaries from http://stackoverflow.com/a/1711338 into C:\Windows, so it seems like there must be a better way.

AaronOpfer avatar May 21 '17 23:05 AaronOpfer

It has been quite a bit since edb built on Windows. Large architectural changes have occurred and new dependencies (capstone) have been introduced.

So, I'll have to look into how to get things going on Windows.

eteran avatar May 21 '17 23:05 eteran

Hey @eteran, did you ever come up with anything for working with Windows? Times like these I wish I understood CMake at all so I could fix it myself.

AaronOpfer avatar Jul 08 '17 17:07 AaronOpfer

@AaronOpfer unfortunately, I never quite got around to trying to get the windows build system functional. In the end it shouldn't be too hard. But it certainly won't succeed in building as the DebuggerCore plugin has a wildly different API at this point compared to when the windows port was first attempted.

I do plan to get around to it eventually, but in all honesty, I am prioritizing cleaning up the code and reworking some things to make ARM support doable.

eteran avatar Jul 09 '17 03:07 eteran

@AaronOpfer , @mistersandman has made some decent headway towards getting things at least building on windows. It's not there yet, but it is so much closer than it was. I haven't tried it yet, but if we look at the appveyor script for testing win32 builds, we'll probably get a decent idea of how we can set up functional dev environments for windows.

eteran avatar Sep 24 '17 23:09 eteran

Cool, I might take a look next time I need a pet project. Don't let me stop anyone else from diving in, though.

On Sun, Sep 24, 2017 at 6:04 PM, Evan Teran [email protected] wrote:

@AaronOpfer https://github.com/aaronopfer , @mistersandman https://github.com/mistersandman has made some decent headway towards getting things at least building on windows. It's not there yet, but it is so much closer than it was. I haven't tried it yet, but if we look at the appveyor script for testing win32 builds, we'll probably get a decent idea of how we can set up functional dev environments for windows.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/eteran/edb-debugger/issues/261#issuecomment-331746479, or mute the thread https://github.com/notifications/unsubscribe-auth/ABIk4fdLWCEjCuhwoMLJoWNJlGMeXZS2ks5slt_3gaJpZM4GLfjd .

AaronOpfer avatar Sep 25 '17 02:09 AaronOpfer