eteran / edb-debugger

edb is a cross-platform AArch32/x86/x86-64 debugger.
GNU General Public License v2.0
2.68k stars 322 forks source link

Adds support for using a builtin gdtoa-desktop if not found as a system install #792

Closed eteran closed 3 years ago

eteran commented 3 years ago

First tries a system-level install, if not found, will build the internal copy of the library (won't build if installed on the system already and was found).

Because gdtoa-desktop is based on some old code that we are striving to keep clean of any unnecessary changes, it would normally build with lots of warnings if we applied the same flags we doe for edb to it, so also improved our ability to be selective with which parts we apply which flags to.

eteran commented 3 years ago

@10110111 I think this is working correctly!

Can you confirm that on your system it does not build gdtoa-desktop, and instead just uses the system-installed copy?

10110111 commented 3 years ago

Links to the system library on my system:

$ ldd `which edb` | grep gdtoa
        libgdtoa-desktop.so => /usr/lib/libgdtoa-desktop.so (0xf7dcb000)
eteran commented 3 years ago

Aiight, I'm making it so windows builds won't try to use the library... yet. Assuming that passes, I'm planning on merging this in. Next on the docket would be capstone so we can say "if you have >= 4.0 on your system we'll use it; if you have < 4.0, or you no capstone at all, we'll use the built-in one"