Date: Wed, 13 Nov 2002 22:40:23 -0800 (PST) From: Marcel Moolenaar <marcel@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libc/ia64/gen _setjmp.S Message-ID: <200211140640.gAE6eNq9016231@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marcel 2002/11/13 22:40:23 PST Modified files: lib/libc/ia64/gen _setjmp.S Log: o Fix _longjmp() to return 1 when the return value is given as 0. o Remove the unwanted smartness in _longjmp() where it compares the current ar.bspstore with the saved ar.bspstore and restores ar.rnat based on it. This either avoids saving ar.rnat in the jmp_buf or is the consequence of not saving ar.rnat. All this complexity breaks libc_r where we use longjmp() to switch to different threads and the current ar.bspstore has no relation to the saved ar.bspstore. Thus: we save ar.rnat in setjmp() and simply restore ar.bspstore and ar.rnat in longjmp(). This code needs a cleanup. Revision Changes Path 1.8 +25 -52 src/lib/libc/ia64/gen/_setjmp.S To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211140640.gAE6eNq9016231>