Date: Fri, 4 Jan 2002 18:21:08 +0100
From: Bernd Walter <ticso@cicely8.cicely.de>
To: Daniel Eischen <eischen@pcnet1.pcnet.com>
Cc: alpha@FreeBSD.ORG
Subject: Re: {get,set,make,swap}context for alpha
Message-ID: <20020104182107.D8703@cicely8.cicely.de>
In-Reply-To: <20020104174613.C8703@cicely8.cicely.de>
References: <20020104143622.A8703@cicely8.cicely.de> <Pine.SUN.3.91.1020104092820.20776A-100000@pcnet1.pcnet.com> <20020104174613.C8703@cicely8.cicely.de>
index | next in thread | previous in thread | raw e-mail
On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote:
> What I found so far with the core dump is that proc3 is called with a
> bogus t12 value.
> I still have to search why.
--- _ctx_start.S.orig Fri Jan 4 18:15:18 2002
+++ _ctx_start.S Fri Jan 4 18:13:26 2002
@@ -40,6 +40,7 @@
.set noreorder
LEAF(_ctx_start,0)
LDGP(pv)
+ mov s0, t12
jsr ra, (s0) /* call start routine; args already set */
mov s1, a0 /* load A0 (arg 1) with pointer to ucontext */
CALL(_ctx_done) /* call context completion routine */
ticso@cicely9# ./test_context
Send a few SIGUSR1's to pid 65418
Main: setting context to myself.
Main: returned from setcontext.
Proc3 called with arguments (1)
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: returned from getcontext, count 1
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: done.
Leaving main context.
Proc1 called with arguments (2, 10)
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc2 called with arguments (6, 5, 4, 3, 2, 1)
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Proc1: return from switch.
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc2: return from switch.
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Main context returned.
ticso@cicely9# uname -a
FreeBSD cicely9.cicely.de 5.0-CURRENT FreeBSD 5.0-CURRENT #1: Thu Jan 3 13:31:07 CET 2002 root@:/var/d7/FreeBSD-2002-01-02/src/sys/alpha/compile/CICELY9 alpha
Signaling does not work, yet:
ticso@cicely9# ./test_context
Send a few SIGUSR1's to pid 65430
Main: setting context to myself.
Main: returned from setcontext.
Proc3 called with arguments (1)
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: returned from getcontext, count 1
Got signal 30, uc_rev 0x0
Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77.
Abort (core dumped)
Exit 134
--
B.Walter COSMO-Project http://www.cosmo-project.de
ticso@cicely.de Usergroup info@cosmo-project.de
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020104182107.D8703>
