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--