Closed johnLate closed 10 years ago
I think I have replaced most of the manual integer conversions now.
Current benchmark: c4f95dc: 615.39s user 22.88s system 97% cpu 10:54.40 total 51c58c6: 141.54s user 16.22s system 91% cpu 2:52.92 total fd020a3: 123.45s user 16.85s system 90% cpu 2:34.86 total
Reason for e41c15b: Had a bug in generateElf (my private dev branch) that prevented me from testing something unreleated, even with ElfParser(..., force=True).
Finally, ELFCLASS64 support.
My big testsuite with ELF32 binaries still runs without error. Running examples/readElf.py against 2900 ELF64 binaries from a recent arch linux install seems to work as well.
For binaries with RELA and r_addend != 0 try clang, pdftk, unrar, wvdial or xdvi_xaw.
Benchmark: 7c8cda8: 128.91s user 16.79s system 90% cpu 2:30.36 total
Great work! Thank you!
I plan on running all 6 scripts in examples/ on a set of 967 32-bit ELF binaries for future commits.
I may release the test script itself, once it's cleaned up. For now I just use it to make sure I don't break stuff and to compare performance.
The changes in indirectJmpWithMemoryData.py are an attempt make code more concise. Performance improvement was only about 3%, but run time is dominated by some functions in ElfParserLib anyway.