[fpc-pascal] Get all caller adresses of a given function/procedure before executing

Rainer Stratmann RainerStratmann at t-online.de
Sat Aug 11 14:32:25 CEST 2012


Am Saturday 11 August 2012 14:15:11 schrieb Martin:
> > I do not read all discussions.
> > Which exactly headline has it?
> > Does it affect the possibility to get the information I want?
>
> Re: [fpc-devel] Re: Class field reordering

The searched procedure/function is not a class procedure or function.

> No it does not help on your topic. It is about assuming that behaviour
> based on the current compiler implementation will never change....
Where do I say that?
> You assume the compiler will always use the same asm-opcode for the
> call. 
No.
> Or at least you assume that if it changes, you can change it too. 
Yes, very quickly!
> But future compilers (or maybe even the current, depending on
> optimization ?) may use different asm opcodes within the same exe, to 
> make the call, and they may mix different ways of encoding the address.
I switched off optimizations.
I think I am able to handle more than one way to find a call to a 
function/procedure. But at this time I found only one way in my program so 
far. So there was no need to search for other ways...
> If that changes, then your code fails.

I can easily adopt the code then.
There are not many different ways for a call.

http://css.csail.mit.edu/6.858/2011/readings/i386/CALL.htm



More information about the fpc-pascal mailing list