Thread support in 0.10 on OpenBSD
Simon J. Gerraty
sjg at quick.com.au
Tue Mar 31 20:02:19 PST 1998
Tank writes:
>>>>>> "Tim" == Tim Wilkinson <tim at transvirtual.com> writes:
> Tim> a problem with the setjmp/longjmp threading system. You need
> Tim> to know where the stack pointer is stored in the structure
>I see that the full size of the setjmp buffer is (long)10 in
>OpenBSD-i386 but have not been able to find the area in soure where
>the offset to the stack ptr is... Any ideas on where in a source tree
>(BSD) this is usually located?
Have a look at /usr/src/lib/libc/arch/i386/gen/setjmp.S or
sigsetjmp.S depending on what is being used. (That's on NetBSD).
On NetBSD/i386 offset 2 is the stack ptr (esp) as far as I can tell.
I know there is a patch for this in the pkgsrc/lang/kaffe for 0.9.2
which used to die a horrible death on NetBSD (after consumming the stack :-)
The patch (just found it) was (for 0.9.2):
--- config/i386/netbsd1/md.h 1998/02/03 14:29:01 1.1
+++ config/i386/netbsd1/md.h 1998/02/03 14:30:48
@@ -16,6 +16,12 @@
#include "i386/common.h"
#include "i386/threads.h"
+/*
+ * Redefine stack pointer offset.
+ */
+#undef SP_OFFSET
+#define SP_OFFSET 2
+
#if defined(TRANSLATOR)
#include "jit-md.h"
#endif
More information about the kaffe
mailing list