Date: Fri, 21 Dec 2001 06:19:05 +0100 From: Bernd Walter <ticso@cicely9.cicely.de> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Daniel Eischen <eischen@vigrid.com>, freebsd-alpha@FreeBSD.ORG Subject: Re: Munging jmp_bufs on alpha Message-ID: <20011221051904.GA71395@cicely9.cicely.de> In-Reply-To: <20011220063713.GC67179@cicely9.cicely.de> References: <3C21000F.994BD53D@vigrid.com> <15393.15450.563749.55393@grasshopper.cs.duke.edu> <20011220063713.GC67179@cicely9.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline My first explanation was a bit wrong but nevertheless here are the patches for libc and Daniels testprogramm. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de --ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch Index: src/lib/libc/alpha/gen/_setjmp.S =================================================================== RCS file: /vol/freebsd-cvs/src/lib/libc/alpha/gen/_setjmp.S,v retrieving revision 1.7 diff -u -r1.7 _setjmp.S --- src/lib/libc/alpha/gen/_setjmp.S 24 Jan 2001 12:58:52 -0000 1.7 +++ src/lib/libc/alpha/gen/_setjmp.S 21 Dec 2001 05:11:50 -0000 @@ -96,6 +96,7 @@ beq t0, botch /* If the magic was bad, punt */ ldq ra, (2 * 8)(a0) /* sc_pc = return address */ + mov ra, t12 ldq s0, (( 9 + 4) * 8)(a0) /* saved bits of sc_regs */ ldq s1, ((10 + 4) * 8)(a0) ldq s2, ((11 + 4) * 8)(a0) --ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch2 --- test_jmpbuf.c Fri Dec 21 06:15:18 2001 +++ test_jmpbuf.c.new Fri Dec 21 06:14:58 2001 @@ -16,7 +16,7 @@ #define SET_STACK_JB(jb, stk) (jb)[0]._jb[R_SP + 4] = (long)(stk) #define GET_STACK_JB(jb) ((unsigned long)((jb)[0]._jb[R_SP + 4])) #define SET_RETURN_ADDR_JB(jb, ra) do { \ - (jb)[0]._jb[2] = (unsigned long)(ra) + 8UL; \ + (jb)[0]._jb[2] = (unsigned long)(ra); \ (jb)[0]._jb[R_RA + 4] = (long)(ra); \ (jb)[0]._jb[R_T12 + 4] = (long)(ra); \ } while (0) --ikeVEW9yuYc//A+q-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011221051904.GA71395>