[Openmcl-devel] ARM testing
David Brown
lisp at davidb.org
Thu Jan 27 11:38:00 PST 2011
On Thu, Jan 27 2011, Gary Byers wrote:
> On Tue, 25 Jan 2011, David Brown wrote:
> That function will be called exactly once when the lisp loads the
> bootstrapping image. If you set a breakpoint on that function and
> step through it until after the call to 'pthread_attr_getstack', what
> does:
>
> (gdb) p *size
8MB, as expected.
> 2) If you continue and let the image load fasl files, you'll reach the point
> where it gets the SIGBUS in rmark(). If GDB gets control when the SIGBUS
> is raised and the process isn't killed, you should be able to determine the
> value of the stack pointer (r13) at the point where the fault occurred:
Well, at least once I told gdb to actually stop on the SIGBUS :-)
> (gdb) info reg r13
Comparing the sp and the high address of the stack is the same 1.2MB
we've been seeing.
Interestingly, if I try this with a small C program, the stack blows at
just past 8MB, like expected.
> If you then look at /proc/PID/maps, you'll likely see that r13 is near or
> just past the lowest address of the stack region.
>
> How far is it from the high address of that region, e.g., how large was
> the stack allowed to grow before something decided that it had overflowed ?
One interesting tidbit is that there is a mapping at about 1.3MB below
the stack. Perhaps that mapping is preventing the stack from growing.
beda8000-bedda000 r-xp 00000000 00:00 0
beddb000-bef0c000 rwxp 00000000 00:00 0 [stack]
David
More information about the Openmcl-devel
mailing list