Pin reads symbol tables. (I assume you run Pin_InitSymbols() at the beginning). Take a look at symbols of libc 2.7 with objdump. May be you'll find additional...
Sreekumar, May be somebody from Pin developers correct me, but I don't see any tool in our tests that build the CFG statically. API that may be useful Go...
Vish, I don't understand your question. Section includes one or more routines. Routine address is taken from symbol table + image load offset. - Elena ...
All pthread functions are implemented on user land and have a lot of assembly code inside. Pin sees the assembly code and analyses it. There is a system call...
Hello, i'm trying to detect the calls that make a single thread, it's possible? I'm also trying to see all the funcion calls that make all the threads (and i...
Replies inside. Gail ... RTN_InsertCall() is a JIT mode call, and RTN_InsertCallProbed() is the probe mode call. Both insert an instrumentation point either...
Thanks for your response I want to write a split cache simulator, one cache for scalars and another for arrays, my trace file must mark every reference memory...
Hi Elena, The actual problem is, the addresses generated from PIN completely differs from the addresses generated by any other tool like objdump. Shouldn't...
You can see if it is inlined by doing -xyzzy -mesgon log_instrument These arguments must be before -t Look at pin.log afterwards. It will print out the...
If it is a shared library, it is most likely relocated when loaded by your program. RTN_Address gives you the runtime address. objdump gives you the linked...
Hi everryone, Can somebody tell me how to construct a superblock level CFG using pin? Does Pin already support this granularity? best regards, Yabin...
It seems that the term "Trace" used in Pin community is something similar to the term "superblock" in J.Smith 's Virtual Machines book. That is one entry multi...
Hi, I'm getting this error message: E:PIN_ExecuteAt cannot be called from a callback I was wondering if somebody could explain what this means and what I might...
PIN_ExecuteAt() changes the control flow of the program. It starts execution from the specified context. Therefore, PIN_ExecuteAt() can only be called from...
Thank you very much for the quick answer. So, I call PIN_ExecuteAt in a function that I added using PIN_AddSyscallEntryFunction. From what you mentioned, I...
Hi; I have posted a message about trace file that track indexes , please: is Pin a good tool for me. Can I generate a trace file with PIN that mark a...
Hi Gail, I'm not sure if I can use INS_InsertCall at that point, since I don't have access to INS object in SYSCALL_ENTRY_CALLBACK. Only context and threadid...
Hi I am trying to call a native windows API, specifically NtSetEaFile, from one of my instrumentation routines. I attached a debugger to the execution and...
Hi all, I've posted this question before, but the answers did not help. I'm trying to instrument syscalls, I use PIN_AddSyscallEntryFunction to register...
In your instruction/BBL/trace/etc instrumentation function, I believe you can still use INS_IsSysCall and INS_IsSysenter. (At least, they're still listed...
You cannot use PIN_AddSyscallEntryFunction() if you want to use INS_InsertCall(). You need to use INS_AddInstrumentFunction(). Why do you want to call...
The problem is that I need to insert instrumentation both before and after the syscall. In the new implementation of Pin, it's not possible to place...
Well, I only want the instrumentation before and after syscall, so a generic AddInstrumentFunction would not work for me. The reason why I need the ExexuteAt...
Hi, __imp__NtSetEaFile is not generated by pin. It is an entry in the DLLs import address table which suppose to be filled up by the loader with a pointer to...
Hi Everyone, I would like to know, whether the multithreaded capability has been added to the PIN pid attaching feature in linux? Thanks Vish      ...