Module Name: src Committed By: rin Date: Sat Jun 29 06:52:34 UTC 2024
Modified Files: src/lib/libc/arch/vax/gen: __longjmp14.c _setjmp.S Log Message: vax: {,_}longjmp(3): Return 1 if `val` == 0 Found by tests/lib/libc/setjmp/t_setjmp:{,_}longjmp_zero. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/vax/gen/__longjmp14.c cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/vax/gen/_setjmp.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/vax/gen/__longjmp14.c diff -u src/lib/libc/arch/vax/gen/__longjmp14.c:1.5 src/lib/libc/arch/vax/gen/__longjmp14.c:1.6 --- src/lib/libc/arch/vax/gen/__longjmp14.c:1.5 Sun Jan 24 22:02:48 2016 +++ src/lib/libc/arch/vax/gen/__longjmp14.c Sat Jun 29 06:52:34 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: __longjmp14.c,v 1.5 2016/01/24 22:02:48 christos Exp $ */ +/* $NetBSD: __longjmp14.c,v 1.6 2024/06/29 06:52:34 rin Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -56,9 +56,9 @@ __longjmp14(jmp_buf env, int val) if (jb->jb_sc.sc_sp == 0) goto err; - /* Ensure non-zero return value */ + /* Return 1 if val is zero */ if (val == 0) - val = -1; + val = 1; /* Set _UC_SIGMASK and _UC_CPU */ uc.uc_flags = _UC_SIGMASK | _UC_CPU; Index: src/lib/libc/arch/vax/gen/_setjmp.S diff -u src/lib/libc/arch/vax/gen/_setjmp.S:1.10 src/lib/libc/arch/vax/gen/_setjmp.S:1.11 --- src/lib/libc/arch/vax/gen/_setjmp.S:1.10 Tue Jan 25 02:38:15 2011 +++ src/lib/libc/arch/vax/gen/_setjmp.S Sat Jun 29 06:52:34 2024 @@ -31,7 +31,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /* .asciz "@(#)_setjmp.s 8.1 (Berkeley) 6/4/93" */ -RCSID("$NetBSD: _setjmp.S,v 1.10 2011/01/25 02:38:15 matt Exp $") +RCSID("$NetBSD: _setjmp.S,v 1.11 2024/06/29 06:52:34 rin Exp $") #endif /* LIBC_SCCS and not lint */ /* @@ -68,7 +68,9 @@ END(_setjmp) ENTRY(_longjmp, 0) movl 8(%ap),%r0 # return(v) - movl 4(%ap),%r1 # fetch buffer + jneq 1f + movl $1,%r0 +1: movl 4(%ap),%r1 # fetch buffer tstl 12(%r1) # is fp null beql botch movq 44(%r1),%r6 # restore r6/r7