Manni
Manni

Reputation: 1

Intel Pin Tool on Linux 4.0

I am getting "E: 4.0 is not a supported Linux release" when I try and run ManualExamples on my Linux machine.

Terminal Output

pin/source/tools/ManualExamples$ ../../../pin -t obj-intel64/inscount0.so -- /bin/ls
E: 4.0 is not a supported linux release

Does pin not support latest linux kernel?

Thanks! Manish

Upvotes: 0

Views: 3393

Answers (3)

William
William

Reputation: 371

Use the -ifeellucky option. It works for me in 4.5 kernel.

Upvotes: 0

Francesquini
Francesquini

Reputation: 1835

Pin 3.0 is now available, and is compatible with Linux Kernels 4.0 or higher.

However, chances are your existing Pintool (i.e. Pin 2.x compatible) won't work with Pin 3.0 since it forces you to use PinCRT and doesn't let you link your tool with outside libraries.

Still, there is a workaround for using Pin 2.x on kernels 4.0 or higher. Just use -injection child or -injection parent with your Pintool. For some reason Pin doesn't seem to care which kernel version you are running in these cases.

pin_kit$ uname -a
Linux 4.8.0-28-generic #30-Ubuntu SMP Fri Nov 11 14:03:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

pin_kit$ ./pin -t source/tools/ManualExamples/obj-intel64/inscount0.so -- /bin/ls
E:4.8 is not a supported linux release

pin_kit$ ./pin -injection child -t source/tools/ManualExamples/obj-intel64/inscount0.so -- /bin/ls
doc  extras  ia32  inscount.out  intel64  LICENSE  pin  pin.log  pin.sh  README  redist.txt  source

pin_kit$ ./pin -injection parent -t source/tools/ManualExamples/obj-intel64/inscount0.so -- /bin/ls
doc  extras  ia32  inscount.out  intel64  LICENSE  pin  pin.log  pin.sh  README  redist.txt  source

Upvotes: 2

Derek Bruening
Derek Bruening

Reputation: 370

There is not yet a Pin release available that supports Linux kernels 4.0 or higher.

You could try DynamoRIO instead:

$ cd DynamoRIO-Linux-6.1.0-2
$ bin64/drrun -c samples/bin64/libinscount.so -- /bin/ls
Client inscount is running
ACKNOWLEDGEMENTS  bin64  docs       drmemory   ext      lib32  License.txt  README   tools
bin32             cmake  drcov.out  dynamorio  include  lib64  logs         samples
Instrumentation results: 506331 instructions executed

Upvotes: 0

Related Questions