Skip to content
Snippets Groups Projects
  1. Jun 12, 2021
    • Jason Hiser's avatar
      Updated rodata scanner to skip pins without relocs in shared libs · 6e68317a
      Jason Hiser authored
      Shared libs need a reloc for a code pointer to live in rodata.
      I found in ffmpeg that many spurious pins were occuring because constant
      (particularly with relatively small values) data looked like code poitners
      (because the code's load point is address 0 in a shared library).
      
      To avoid these spuriosu pins, I extended the code pin algorithm
      to check isDLL() (which includes shared objects) and for a reloc
      before attempting to pin in the rodata.
      
      A perf. optimization verifies that it _might_ result in a pin
      before checking for a reloc, as checking for a reloc can be slow,
      while checking for a possible pin location is fast.
      6e68317a
  2. Apr 27, 2021
  3. Apr 26, 2021
    • Jason Hiser's avatar
      Update threshold for min. switch table size for ubuntu20. · 9f222161
      Jason Hiser authored
      Table size min was set to <=4 items, but readelf on ubuntu20
      had a switch table with exactly 4 elements.  This caused
      FII to miss the table size and subsequently include _many_ extra IBTs.
      Ultimately, Zipr failed by trying to 68-sled an entire function due to
      FII's failure.
      9f222161
  4. Apr 21, 2021
  5. Mar 12, 2021
  6. Mar 02, 2021
  7. Mar 01, 2021
  8. Feb 28, 2021
  9. Feb 25, 2021
  10. Feb 21, 2021
  11. Feb 18, 2021
  12. Feb 17, 2021
  13. Feb 11, 2021
  14. Feb 10, 2021
  15. Feb 01, 2021
  16. Jan 29, 2021
  17. Nov 14, 2020
  18. Sep 02, 2020
  19. Aug 16, 2020
  20. Jul 28, 2020
  21. Jul 22, 2020
  22. Jul 17, 2020
  23. Jul 10, 2020
  24. Jun 26, 2020
  25. Jun 25, 2020
    • Daniel Chen's avatar
      Rework the assembly-string->binary conversion. · 6cb3e237
      Daniel Chen authored and Jason Hiser's avatar Jason Hiser committed
      The old method involved writing assembly to a file, asking an external assembler to do the conversion, then processing the binary file to read the binary instructions back out.  This method is slow and relies on nasm, which isn't available on all machines or for the full variety of supported architectures.  The replacement is keystone, a 3rd party library that is linked to provide assembly->binary conversion.
      6cb3e237
  26. May 15, 2020
  27. Apr 29, 2020
  28. Dec 18, 2019
  29. Dec 17, 2019
  30. Dec 16, 2019
  31. Dec 11, 2019
  32. Dec 09, 2019
Loading