IntelのPinでSegmentationFaultが発生した
問題
Intel Pinのサンプルを動かす際に
make all TARGET=intel64
でサンプルをビルドして
../../../pin -t obj-intel64/inscount0.so -- /bin/ls
で動作させた場合にプログラムが落ちて
A: Source/pin/injector_nonmac/auxvector.cpp: CopyAux: 291: unexpected AUX VEC type 26 NO STACK TRACE AVAILABLE Detach Service Count: 1 Pin 3.2 Copyright (c) 2003-2016, Intel Corporation. All rights reserved. @CHARM-VERSION: $Rev: 81201 $ C: Injector exited with signal 6 E: Wait for injector failed: No child processes zsh: segmentation fault (core dumped) ../../../pin -t obj-intel64/inscount0.so -- /bin/ls
と表示された.
解決法
どうやらkernelが4.10以上の場合Pinのバージョンによっては対応していないらしく
オプション -ifeelluckyを付けることで対応できるらしい
../../../pin -ifeellucky -t obj-intel64/inscount0.so -- /bin/ls
とすれば動作した