ARM calling conventions generated in gcc with different optimizations

2013-09-23 Thread Vasily Golubev
Hello, all. I am trying to find some way for detection of function's entry and exit analyzing binary at runtime. It is possible to use Valgrind (www.valgrind.org) and detect all Basic Blocks (1 entry, multiple exits) that correspond to entry\exit of function. As far as I understand, at the start

Re: ARM calling conventions generated in gcc with different optimizations

2013-09-23 Thread Ramana Radhakrishnan
And my main question is it possible to rely on this fact when compiling with gcc and different levels of optimizations? No it is not , the compiler (especially trunk) is free to use LR as a temporary after epilogue has been generated at higher optimization levels. Is it possible to generate

Re: ARM calling conventions generated in gcc with different optimizations

2013-09-23 Thread Vasily Golubev
Thank you a lot for your answer, Mr. Radhakrishnan! I think it was my mistake to use phrase I will save LR at some place... I mean I can catch the first instruction of any function precisely. And save LR value at that time to my local storage. And I also can catch the first instruction after exit