Dear pinheads, Is there a way to determine the total number of registers available on the architecture I'm instrumenting for (which includes general-purpose ...
Hi, Congratulations on a great program. I have been given the task of profiling an application and I have a question about using PIN. Is it possible -somehow-...
Do you have the source code of an application? And when you say "turn off instrumentation", do you mean that from a performance perspective or that you want to...
Yes, I have the application source. Just to clarify what I'm doing, I have a rather large, slow program that I wish to profile. I'm only really interested in a...
* What I was hoping would be possible is the ability to insert code into my application instructing the pin application to begin the analysis, and then...
Why are mmap and mmap2 handled differently on ia32? The comments in the strace example say that there aren't enough registers for all the mmap arguments so...
This is how I would do it: STEP 1: ======= Lets create a header file PIN_H ... #ifndef PIN_H #define PIN_H extern "C" void PinStartInstrumentation() { cout <<...
... I've always assumed that at one some point in Linux's history it couldn't handle 6 arguments in registers on x86, and then later it could, and that mmap...
Nicholas Nethercote
njn@...
Aug 4, 2006 12:07 am
976
Hello all, A C++ application is compiled with icc -g (symbolic information). When I used Pin to extract the symbol information (in my case function names), I...
There is a library called liberty (look for liberty.a) which u can use to get the original names back. I think the function is called cplus_demangle() that...
Prasad is right, you have to include "demangle.h" in your tool. Another alternative if you can post process your data is to pipe your data through the c++filt...
Hello all, I am currently using pin for "gcc 3.2 on ia32". I am unable to find the following: 1. link option -liberty & the library libiberty 2. demangle.H Are...
Hi, Is there a way to set errno from some instrumentation? Errno is thread local and since pin instrumentation is executed using a separate stack I don't know...
Hello pinheads, I there any chance that PIN will support MacOSX x86 binaries in the near future? I think that's a train you wouldn't want to miss... The Mac...
There is no direct support that allows a tool to set the application's errno. It sounds like you want to get the value of the application's SP register? You...
Thanks for the answer. I thought it would help me out but I'm stuck again. I don't know how to find the offset where errno is stored. I've disassembled...
Hi, I am trying to compile some of the SimpleExamples in the CYGWIN release of PIN, however I have encountered some difficulty. When I type (as instructed in...
Clearly, your tool is trying to change the application's behavior by changing it's errno value. At what point exactly are you trying to change errno? If you...
Greg, I realized this morning that I could set the value of eax. Are the calling conventions for what register are used for system call return values...
On ia32/Linux, eax is the return value from system calls. It's set to a positive value on success, in which case it is the result of the system call. If the...
Hi, I am using Pin to get the memory access trace of a program. I would like to classify all memory accesses as heap or stack accesses. Do INS_IsStackWrite and...
Yes, the two instructions INS_IsStackWrite, INS_IsStackRead return true if it is stack. I think you have to consider globals apart from stack and heap. -Ravi...
These two functions just implement a fairly simple heuristic. They return TRUE for memory ops that use SP or BP as a base register and also identify some...