SideChannelMarvels / Tracer

Set of Dynamic Binary Instrumentation and visualization tools for execution traces.
GNU General Public License v3.0
297 stars 70 forks source link

Move to latest PIN release #9

Closed doegox closed 3 years ago

doegox commented 8 years ago

https://software.intel.com/en-us/articles/pintool-downloads rev 76991 Mar 24, 2016

jevinskie commented 7 years ago

FYI the Mac release disappeared from the download page for some reason. Here is a direct link for anyone interested: http://software.intel.com/sites/landingpage/pintool/downloads/pin-3.0-76991-clang-mac.tar.gz

xinhuang commented 5 years ago

Just make TracerPin work with latest PIN (3.7) on macOS, and here are the changes:

For PIN 3.7

  1. CODECACHE_ChangeMaxInsPerTrace was deprecated somewhere after 3.4. On the documentation Intel didn't even mention it on the deprecated APIs list. So delete it if you don't use the -cache flag.
  2. PIN 3.7 is compiled with -fno-exception, so try...catch in the source code should be removed.

For macOS

  1. On macOS, for some unknown reason if linked with sqlite3, the Tracer.dylib cannot be loaded. Tried compiling sqlite3 from scratch according to PIN's compilation flags, didn't work. Therefore the sqlite code should be removed, or the runtime error should be fixed.
  2. The makefile should be changed: replace .so by $(PINTOOL_SUFFIX). (Because macOS doesn't use .so but .dylib) The shell script Tracer should be also changed for macOS. (This should be the first bullet I guess ;)
meme commented 3 years ago

I've worked on this today and got TracerPIN compiled for Intel PIN 3.15. Unfortunately, PIN 3.x is severely limited as common functions such as stat, fstat, etc. are missing implementations. These are required by SQLite so I've been hacking away at implementing them individually, but with 7 functions that have to be implemented from scratch, I'm hoping there's a better way. Regardless, if this is of interest (including these limitations), I'd be happy to make a PR.

doegox commented 3 years ago

well yeah, if you manage to revive the tracer with a decent version of PIN tools that would be great !!

meme commented 3 years ago

https://github.com/SideChannelMarvels/Tracer/pull/30

doegox commented 3 years ago

Thanks! closing this one.

doegox commented 3 years ago

you made someone happy today ;) https://twitter.com/doegox/status/1288985565128527872