PRUNERS / FLiT

A project to quickly detect discrepancies in floating point computation across hardware, compilers, libraries and software.
Other
36 stars 6 forks source link

Issue328 flit disguise #332

Closed mikebentley15 closed 2 years ago

mikebentley15 commented 3 years ago

Fixes #328 and fixes #277 and fixes #263

Description:

For issue #328

I added a new flit subcommand called flit disguise. It generates a mapping of file names, file paths, symbols, and function prototypes. Then from this mapping, it can anonymize a log file from these protected fields. This is useful for sharing log files for private code bases to people without access to the private code base.

For issue #277 and issue #263

In addition to this change, I replaced the usage of pyelftools. There were two main issues with pyelftools, namely issue #277 and issue #263. There was another problem which is that pyelftools is slow for what we wanted to do. The problem was that pyelftools is not up to date with elf and dwarf standards changing. But binutils is. So the functionality was rewritten to use command-line tools provided by binutils, namely nm and addr2line.

This is good in that we have the same functionality with

Documentation:

Remove pyelftools from all documentation and specify that flit bisect uses binutils to extract symbol and line number information.

Tests: