OBones wrote:
Hello all,
I'm writing Dlls here and am also doing low level analysis of the stack
and its content.
To do that, I use the StackTop and StackBottom global variables which
used to work fine in an exe file.
Problem is, when in a DLL, StackTop is always zero and StackBottom is
the exact opposite of StackLength.
I thus looked as to where this might come from, and discovered that it
comes from the fact that StackTop is only ever calculated from within
Exe_entry which obviously is not called for a DLL.
Is anyone else seeing this?
I've not got into that level of detail, but I've noted that in Linux
(and possibly Solaris) you have to turn off stack checking when
generating a shared library (otherwise when the main program calls into
the library it's unhappy) but not in the main program (i.e. the library
can call into the main program and is always happy) which I think is
consistent with what you're saying.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal