Switch to lief for binary parsing, add OSX support. - #41
Conversation
TestingYour Lief port seems to work reasonably well! There are some crashes on Linux though which you may want to check. They all look like (e.g. got this for You probably also want to I got significant mismatches in init.c files with
This may well be a bug in current Implib.so which I should look into ! PerformanceMy findings here are not very inspiring: despite being implemented in C++ and omitting several heavy libs due to crashes, lief-based implementation is significantly slower: on Ubuntu 22.04 with some additional libs installed I got ~400 sec. for legacy vs ~1200 sec. for lief (see scripts/perf_test.sh). PortabilityLief does not support all Implib.so platforms, particularly BSDs. Only FreeBSD has some (super-old) port and other users on other BSD flavors will have to build lief and all its dependencies from source. MaintenanceAlthough lief seems to be good and well-maintained piece of code there are some obvious disadvantages:
QuestionsI think my main question is whether lief solves some problems or is just cleaner and easier to use than current approach. It's obviously more modern and convenient than parsing raw readelf (or doing portability layer on top of it) but it also comes with its own disadvantages like performance, lack of BSD support and maintenance |
3a94ebf to
ead05ab
Compare
No description provided.