Well I never. Seems like _setjmp()/_longjmp() are just what the doctor

ordered.  This brings the Alpha back to parity, and should bring us
BootForth on both platforms.

Submitted by:	John Birrell (jb@freebsd.org)
This commit is contained in:
Mike Smith 1998-11-04 07:39:53 +00:00
parent 2cd5cac4ec
commit b8ffd2a51c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=40891
3 changed files with 16 additions and 8 deletions

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.8 1998/11/04 00:23:11 msmith Exp $
# $Id: Makefile,v 1.9 1998/11/04 00:32:08 msmith Exp $
#
# Originally from $NetBSD: Makefile,v 1.21 1997/10/26 22:08:38 lukem Exp $
#
@ -90,11 +90,11 @@ __reml.S: ${.CURDIR}/../libc/alpha/gen/divrem.m4
.PATH: ${.CURDIR}/../libc/net
SRCS+= inet_ntoa.c inet_addr.c
# setjmp/longjmp
.if ${MACHINE_ARCH} == "i386"
.PATH: ${.CURDIR}/${MACHINE_ARCH}
# _setjmp/_longjmp
.PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/gen
SRCS+= _setjmp.S
# really only required for i386
CFLAGS+=-I${.CURDIR}/../libc/${MACHINE_ARCH}
SRCS+= setjmp.S
.endif
# decompression functionality from libz

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $Id: libstand.3,v 1.1.1.1 1998/08/20 08:19:55 msmith Exp $
.\" $Id: libstand.3,v 1.2 1998/11/01 09:31:08 msmith Exp $
.\"
.Dd June 22, 1998
.Dt LIBSTAND 3
@ -131,7 +131,11 @@ Requires
.It Fn "int setjmp" "jmp_buf env"
.It Fn "void longjmp" "jmp_buf env" "int val"
.Pp
Require
Defined as
.Fn _setjmp
and
.Fn _lonjmp
respectively as there is no signal state to manipulate. Requires
.Fd #include <setjmp.h>
.El
.Sh CHARACTER I/O

View file

@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: stand.h,v 1.10 1998/11/01 09:31:08 msmith Exp $
* $Id: stand.h,v 1.11 1998/11/04 07:04:00 msmith Exp $
* From $NetBSD: stand.h,v 1.22 1997/06/26 19:17:40 drochner Exp $
*/
@ -229,6 +229,10 @@ extern void pager_close(void);
extern int pager_output(const char *lines);
extern int pager_file(const char *fname);
/* No signal state to preserve */
#define setjmp _setjmp
#define longjmp _longjmp
/* environment.c */
#define EV_DYNAMIC (1<<0) /* value was dynamically allocated, free if changed/unset */
#define EV_VOLATILE (1<<1) /* value is volatile, make a copy of it */