Hi, I'm using Pin to instrument a multi-threaded application on Itanium. After calling PIN_Detach(), I need to do some post-processing work. Which subroutine I...
From my observation, if there are 4 threads, the detach callback function will be called 4 times. In fact there is only one thread calling PIN_Detach(). Do you...
This was a regression in our emulation of exec system calls with invalid arguments. I reproduced the problem and verified that the 9474 kit works correctly....
Hi, thank you very much for the help. However the link that you send to me, does not contain the kit 9474 for IA32 (x86) - Linux. It only contains kit 9474 for...
I'm trying to build a map of basic blocks in an application and then do some frequency counting measurements. I've installed this function VOID Trace(TRACE...
I will answer part of your question. Pin may build multiple basic blocks or traces starting at a given address. The reason is that Pin does register ...
Kim Hazelwood
hazelwood@...
May 2, 2007 1:38 pm
1659
One case: The length of a basic block may vary due to the limited # of instructions a trace can contain (70 per trace). Consider a linear code sequence (BBL,...
Yes. We have some checking in the header files that will prevent you from compiling with an incompatible kit. ________________________________ From:...
I have generated pinpoints using the directions in the documentation. I am trying to drive arch components (like branch predictors) using PIN/PinPoints. I...
Would modyfing the Instruction() function in bimodal.H the following way do the job? extern CONTROl control; inline VOID BIMODAL::Instruction(INS ins, VOID *v)...
I want to be able to selectively invalidate instructions (prevent them from executing). I actually have 2 questions: 1) Does INS_Delete() remove the static or...
Hi Martin, When do you want to delete the instruction? Before it is ever executed, or later on after that instruction has executed? If it's the latter, you...
Kim Hazelwood
hazelwood@...
May 2, 2007 8:40 pm
1666
I want to be able to selectively invalidate instructions (prevent them from executing). I actually have 2 questions: 1) Does INS_Delete() remove the static or...
Hi Hrishi: [A] First of all, the tool, as written, is supposed to report both whole-program and per-pinpoint branch misprediction information. However I...
Pin should call the tool's detach call-back once each time a thread calls PIN_Detach(). Are you certain only one thread calls Pin_Detach()? There is a bug...
I use "if(tid == 1) PIN_Detach()", so there should be only one thread calling PIN_Detach(). For now calling callback many times is not a problem. I used a...
I have a new experience with the PIN_AddSignalInterceptFunction(). I am using the gcc-2.95.2, which has a bug and crashes on the input below: double...
What's the command line your using to run gcc under the pin tool? GCC isn't a single executable. It's a collection of several smaller tools: compiler (cc),...
Jim, Pin will instrument a child process if the child inherits the parents virtual address space, as Pin binds into the address space. However, if a fork'ed...
Here is how I am running my tool: $PIN/Bin/pin -t $PIN/WORK/mytool -- gcc -O inputs/fail.c -o fail If I use your suggestion and do: $PIN/Bin/pin -follow_execv...
The latest kit will support -follow_execv, but unfortunately it has a similar bug as you found before with gcc-doesn't handle execv with invalid arguments. The...
I also get the same kind of error. I guess it's related to pthreads in my program. But what could be the possible reason for the error? Thanks, fg pin:...
I'm running the sample calltrace Pintool in SimpleExamples/calltrace.cpp and it works fine when I give it a test-program to run on Pin startup. However when I...
... Thanks, I think that actually worked out for my purpose. I am using the follow_child example, and it automatically starts instrumenting the other...
When using PIN_Resume on ia32 Linux, I'm seeing the following occur (with indicative printouts): IP = 08048479 IP = 0804847b Saving checkpoint ... IP =...