1. 21 May, 2017 3 commits
    • Gabor Buella's avatar
      69aeea5b
    • Gabor Buella's avatar
      intercept all objects · 43fd8712
      Gabor Buella authored
      When the INTERCEPT_ALL_OBJS environment variable is set (to any value),
      libsyscall_intercept attempts to patch all objects it finds. This is
      not (yet) documented, as it is only meant to be used for a few testing
      scenarios.
      It also has caveats: the objects to be patched are filter based on their
      names, thus if one libsyscall_intercept itself is not in loaded as a
      library called libsyscall_intercept.so, it will try to intercept itself.
      This can happen when it statically linked into some other object file.
      43fd8712
    • Gabor Buella's avatar
      ASAN related workaround in hook_test · 782eb051
      Gabor Buella authored
      Ref: #7
      
      While executing ASAN builds, some unexpected syscalls are observed. These
      can not be predicted, so this patch attempts to filter them out.
      Also, the return value of the function named hook in test/hook_test_preload.c
      is changed to 7 from 99. This also helps with ASAN builds: ASAN reads
      the buffers passed write syscalls, after they return. Due to this, an ASAN
      error was triggered every time it tried to read dummy_data buffer's contents,
      which has fewer than 99 bytes.
      782eb051
  2. 15 May, 2017 1 commit
  3. 13 May, 2017 1 commit
  4. 11 May, 2017 4 commits
  5. 07 May, 2017 1 commit
  6. 06 May, 2017 5 commits
    • Gabor Buella's avatar
      Mark symbols ends as jumps in find_jumps_in_section_syms · 76437cc5
      Gabor Buella authored
      Also fix symbol boundary related tests -- so far these assumed
      the of symbols did not count as jump destinations.
      76437cc5
    • Gabor Buella's avatar
      Analyze rela tables · 2fd54c1e
      Gabor Buella authored
      2fd54c1e
    • Gabor Buella's avatar
      Generalize symbol table finding · 6be3fff9
      Gabor Buella authored
      6be3fff9
    • Gabor Buella's avatar
      Rewamp skip range handling · aa7b5478
      Gabor Buella authored
      Use every jump destination (found while looking for
      symbols) as a possible skip range boundary.
      
      On an Ubuntu box this did speed up start-up time from 0.38 seconds
      to 0.14 seconds.
      
      Skip range dumps before:
      
      /lib/x86_64-linux-gnu/libc.so.6
      skip ranges: 452773 bytes of 1378179 -- 32%
      
      /lib/x86_64-linux-gnu/libpthread.so.0
      skip ranges: 20300 bytes of 54209 -- 37%
      
      Skip range dumps after:
      
      /lib/x86_64-linux-gnu/libc.so.6
      skip ranges: 1057507 bytes of 1378179 -- 76%
      
      /lib/x86_64-linux-gnu/libpthread.so.0
      skip ranges: 22193 bytes of 54209 -- 40%
      aa7b5478
    • Gabor Buella's avatar
      Add debug_dump feature · 9ba20529
      Gabor Buella authored
      9ba20529
  7. 05 May, 2017 1 commit
    • Gabor Buella's avatar
      Fix address guessing in allocate_trampoline_table · b47615e0
      Gabor Buella authored
      The guess address for the beginning of the trampoline table
      was rounded down before this patch.
      This could result in a trampline table being allocated too
      far from the subject text (i.e.: guess being actually at a
      lower address than desc->text_end - INT32_MAX).
      b47615e0
  8. 03 May, 2017 4 commits
  9. 01 May, 2017 4 commits
  10. 29 Apr, 2017 1 commit
  11. 28 Apr, 2017 4 commits
  12. 24 Apr, 2017 1 commit
  13. 20 Apr, 2017 5 commits
  14. 19 Apr, 2017 5 commits