[fpc-devel] StackBottom
    Vincent Snijders 
    vsnijders at quicknet.nl
       
    Mon Jan  9 19:59:03 CET 2006
    
    
  
Hi,
If I run the following program on windows xp, it shows me that the 
StackBottom is located at $2FE80. I thought that the stack was always 
contained in complete pages and therefore the StackBottom should be at a 
  4k boundary. Is that correct?
Assuming this, the correct value for the StackBottom should be $30000.
Then StackBottom should be initialized as
StackBottom := (Sptr - StackLength + $FFF) AND $FFFFF000;
(at program start Sptr doesn't point to the exact top of the stack).
I stumbled on this issue, because for backtrace some values at the top 
of the stack were not considered valid frame pointers.
Vincent
==================
program Project1;
{$mode objfpc}{$H+}
uses
   Classes
   { add your units here };
begin
   writeln(HexStr(PtrUInt(StackBottom),SizeOf(Pointer)*2));
   readln;
end.
    
    
More information about the fpc-devel
mailing list