Find out function arguments value from stack pointer

Matthias Brugger matthias.bgg at gmail.com
Wed Dec 12 06:30:13 EST 2012


On 12/12/2012 12:24 PM, Manavendra Nath Manav wrote:
> On Wed, Dec 12, 2012 at 4:38 PM, Fabio Pozzi <pozzi.fabio at gmail.com> wrote:
>>> When i call  print values at offsets starting from
>>> __builtin_frame_address (0) the function arguments start from offset
>>> 2. How can I confirm that this behavior is always consistent.
>>
>> Arguments are pushed on the stack before the saved frame pointer, thus
>> you have to add an offset equal to the frame pointer address size if
>> you start from the beginning of the saved frame pointer record on the
>> stack.
>
> Thanks Fabio!
> If I execute the same code on ARM arch, does it needs any changes?
>

I just wanted to mention. AFAIK who parameters are passed to the called 
function depends on the architecture (stack or some registers + stack).
I vaguely remember some MIPS ASM programming exercises in first year of 
university...

But if gcc has a in built function, that should do on all architectures, 
though.



More information about the Kernelnewbies mailing list