Hi, i have used the -finstrument-functions option in gcc and found in quite useful for getting the call trace at runtime. while fiddling with it for a while, i found that the trace info can be made more meaningful if (somehow) i can add the args passed to the function. iam working in the mips version of gcc (3.3.1) and in this architecture the function params are passed in registers (the first four args in first four registers). i tried to get the params from within the profile function but since the profile function itself takes 2 args, the first 2 register contents are pushed onto stack and i am not to get it from the stack. i tried getting the stack pointer address by writing inline assembly but it seems that the location of the args (when pushed onto stack) varies according to the size of the args. then i thought i'll try to inline the profile function. is this possible? i mean, can i enable inline expansion of the __cyg_profile_func_enter function at every function entry? if this is possible, then i can access the registers directly in the profile function, and get the args. i added the inline keyword and always_inline attribute but in vain; the execution always jumps to __cyg_profile_func_enter and i lose the register contents (they get pushed to stack making it difficult to access from the profile function) i presume that the inlining phase happens after the jump hooks to profile functions are added at function entry/exit. is this correct? If inlining this function is not possible, then is there any way to find out the params received by the function being profiled? thanks in advance thulasidhar