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

Jorge Aldo G. de F. Junior jagfj80 at gmail.com
Sat Aug 11 19:18:39 CEST 2012


Sorry for posting without bringing a solution, but i am curious, why
do you need this ?

Doesnt sound like good programming practice...

2012/8/11 Marco van de Voort <marcov at stack.nl>:
> In our previous episode, Rainer Stratmann said:
>> > > There are not many different ways for a call.
>> > >
>> > > http://css.csail.mit.edu/6.858/2011/readings/i386/CALL.htm
>> >
>> > Yes, so the amount of effort may increase drastically. New CPU may bring
>> > new ways too.
>>
>> But not the 80x86 CPU. It is still the same opcode for a call ($E8).
>
> Maybe not the call, but changing or adding address encoding is quite
> realistic.
>
> I assume you tested your code for PIC cases (which are quite common on
> *nix?)
>
> http://en.wikipedia.org/wiki/Position-independent_code
>
> FPC supports PIC
>
> And of course finding a perfect starting point so that you don't find false
> positives when you find $E8 inside the address (change 1 in 256 obviously)
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal



More information about the fpc-pascal mailing list