From owner-freebsd-alpha Tue Apr 25 20:23:17 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from mail.hiwaay.net (fly.HiWAAY.net [208.147.154.56]) by hub.freebsd.org (Postfix) with ESMTP id 0F58037B55F for ; Tue, 25 Apr 2000 20:23:14 -0700 (PDT) (envelope-from sprice@hiwaay.net) Received: from localhost (sprice@localhost) by mail.hiwaay.net (8.10.1/8.10.1) with ESMTP id e3Q3LuW16352; Tue, 25 Apr 2000 22:21:56 -0500 (CDT) Date: Tue, 25 Apr 2000 22:21:56 -0500 (CDT) From: Steve Price To: Doug Rabson Cc: freebsd-alpha@freebsd.org Subject: Re: need help porting JDK2 to alpha In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Mon, 24 Apr 2000, Doug Rabson wrote: # After looking at the code more closely, it seems that jmp_buf is actually # a struct osigcontext. I had come to the same conclusion. # There appears to be a bug in the sigmask # save/restore since the sigset_t is overlayed onto sc_reserved[0-1] as you # have noticed but the longjmp implementation (actually osigreturn() in the # kernel) restores the mask from sc->sc_mask. I think that either the setjmp # code should initialise sc->sc_mask with the first 32 bits of sc_reserved # or setjmp/longjmp should both start using struct sigcontext. The main # difficulty with that as far as I can see is that struct sigcontext is 82 # words long and struct osigcontext is 81 words. I think at least having 32 bits of the signal mask in sc_mask is much better than the current situation of using a completely incorrect value. # You can initialise the pc by setting sc->sc_pc. What are death_func and # arg used for? If these are intended to be arguments to some function # located at *pc, you can initialise sc->sc_regs[R_A0..R-A5] with up to six # argument values. If you need the function at *pc to return to some # specific location, set sc->sc_regs[R_RA] to a suitable return address. Great. I'll give these a whirl this weekend when I get back to my Alpha box. Thanks for the pointers Doug! :) -steve To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message