Subject: Re: Q: ARM32 ABI
To: Godmar Back <gback@cs.utah.edu>
From: Neil A. Carson <neil@causality.com>
List: port-arm32
Date: 06/05/1998 11:51:25
This is a multi-part message in MIME format.
--------------1F7160195D72E6119BD772EC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Godmar Back wrote:

> Unfortunately, the preemptive user-mode thread package I had written
> doesn't quite work, which might be a bug unrelated to the arm32 specific
> code, but I'd like to ask a quick question anyway:

> * Kaffe uses a conservative garbage collector that checks the stack of a
>   thread for pointers.  I am using setjmp/longjmp for thread switching.
>   I determine the lower end of the active area of a thread's stack (which
>   needs to be scanned) by reading out jmpbuf[23] from the jmpbuf in which
>   I save the thread's state, which contains the stack pointer.
>   This procedure works on most architectures--does anybody see or know
>   anything in the calling conventions or in NetBSD's implementation of
>   setjmp/longjmp that would prevent that from working on the arm32?

No, that would work fine. The stack is a full descending one on NetBSD.
AFAIR in one of the machine headers is a hash define which tells you the
offset of the stack pointer in the jmpbuf.

	N.
--------------1F7160195D72E6119BD772EC
Content-Type: text/x-vcard; charset=us-ascii; name="vcard.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Neil Carson
Content-Disposition: attachment; filename="vcard.vcf"

begin:          vcard
fn:             Neil Carson
n:              Carson;Neil
org:            ChalTech/Causality
adr:            1 Penn Close;;Abingdon;Oxford;Oxon;HA8 7BJ;United Kingdom
email;internet: neil@causality.com
title:          Director
tel;work:       +44 181 905 7801
tel;fax:        +44 181 930 7408
tel;home:       +44 1235 528443
note;quoted-printable:Work from home most days.=0D=0A=
	
x-mozilla-cpt:  ;0
x-mozilla-html: FALSE
version:        2.1
end:            vcard


--------------1F7160195D72E6119BD772EC--