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
less code
faster results
one fewer dependency
Documentation:
Remove pyelftools from all documentation and specify that flit bisect uses binutils to extract symbol and line number information.
Tests:
Added tests for flit disguise in python's unittest module instead of doctest.
Since new files are being installed, change the install tests accordingly
Remove the skip for bisect tests if pyelftools is not present.
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
andaddr2line
.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:
flit disguise
in python'sunittest
module instead ofdoctest
.