Module Name: src Committed By: mgorny Date: Sun Mar 8 22:09:43 UTC 2020
Modified Files: src/lib/libc/nls: C.msg src/lib/libc/sys: intro.2 src/sys/compat/linux/common: linux_errno.c src/sys/sys: errno.h src/tests/include: t_errno.c Log Message: PR standards/44921: Add errno consts for robust mutexes Add the two missing errno.h constants: EOWNERDEAD and ENOTRECOVERABLE. While technically they're used for robust mutexes which we do not support at the moment, they are listed in POSIX and used by libc++. While libc++ can be made to build without it, it just locally redefines the values then, so we may as well define them globally. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/lib/libc/nls/C.msg cvs rdiff -u -r1.60 -r1.61 src/lib/libc/sys/intro.2 cvs rdiff -u -r1.15 -r1.16 src/sys/compat/linux/common/linux_errno.c cvs rdiff -u -r1.41 -r1.42 src/sys/sys/errno.h cvs rdiff -u -r1.1 -r1.2 src/tests/include/t_errno.c 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/nls/C.msg diff -u src/lib/libc/nls/C.msg:1.16 src/lib/libc/nls/C.msg:1.17 --- src/lib/libc/nls/C.msg:1.16 Sun Mar 8 22:06:05 2020 +++ src/lib/libc/nls/C.msg Sun Mar 8 22:09:42 2020 @@ -191,6 +191,10 @@ $ ENOLINK 95 Link has been severed $ EPROTO 96 Protocol error +$ EOWNERDEAD +97 Previous owner died +$ ENOTRECOVERABLE +98 State not recoverable $set 2 $ SIGHUP 1 Hangup Index: src/lib/libc/sys/intro.2 diff -u src/lib/libc/sys/intro.2:1.60 src/lib/libc/sys/intro.2:1.61 --- src/lib/libc/sys/intro.2:1.60 Mon Jul 3 21:32:50 2017 +++ src/lib/libc/sys/intro.2 Sun Mar 8 22:09:42 2020 @@ -1,4 +1,4 @@ -.\" $NetBSD: intro.2,v 1.60 2017/07/03 21:32:50 wiz Exp $ +.\" $NetBSD: intro.2,v 1.61 2020/03/08 22:09:42 mgorny Exp $ .\" .\" Copyright (c) 1980, 1983, 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -505,6 +505,11 @@ Occurs when the link (virtual circuit) c Some protocol error occurred. This error is device-specific, but is generally not related to a hardware failure. +.It Er 97 EOWNERDEAD Em "Previous owner died" . +Occurs when the last owner of a robust mutex dies while holding the mutex. +.It Er 98 ENOTRECOVERABLE Em "State not recoverable" . +Occurs when the last owner of a robust mutex died and the new owner +had unlocked the mutex without making its state consistent. .El .Sh DEFINITIONS .Bl -tag -width Ds Index: src/sys/compat/linux/common/linux_errno.c diff -u src/sys/compat/linux/common/linux_errno.c:1.15 src/sys/compat/linux/common/linux_errno.c:1.16 --- src/sys/compat/linux/common/linux_errno.c:1.15 Sun Dec 22 17:14:22 2013 +++ src/sys/compat/linux/common/linux_errno.c Sun Mar 8 22:09:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_errno.c,v 1.15 2013/12/22 17:14:22 njoly Exp $ */ +/* $NetBSD: linux_errno.c,v 1.16 2020/03/08 22:09:43 mgorny Exp $ */ /*- * Copyright (c) 1995 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_errno.c,v 1.15 2013/12/22 17:14:22 njoly Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_errno.c,v 1.16 2020/03/08 22:09:43 mgorny Exp $"); #include <sys/errno.h> @@ -138,5 +138,7 @@ const int native_to_linux_errno[] = { LINUX_SCERR_SIGN LINUX_EMULTIHOP, LINUX_SCERR_SIGN LINUX_ENOLINK, LINUX_SCERR_SIGN LINUX_EPROTO, /* 96 */ + LINUX_SCERR_SIGN LINUX_EOWNERDEAD, + LINUX_SCERR_SIGN LINUX_ENOTRECOVERABLE, }; __CTASSERT(__arraycount(native_to_linux_errno) == ELAST + 1); Index: src/sys/sys/errno.h diff -u src/sys/sys/errno.h:1.41 src/sys/sys/errno.h:1.42 --- src/sys/sys/errno.h:1.41 Sun Mar 8 22:05:40 2020 +++ src/sys/sys/errno.h Sun Mar 8 22:09:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: errno.h,v 1.41 2020/03/08 22:05:40 mgorny Exp $ */ +/* $NetBSD: errno.h,v 1.42 2020/03/08 22:09:43 mgorny Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1993 @@ -172,7 +172,11 @@ #define ENOLINK 95 /* Link has been severed */ #define EPROTO 96 /* Protocol error */ -#define ELAST 96 /* Must equal largest errno */ +/* Robust mutexes */ +#define EOWNERDEAD 97 /* Previous owner died */ +#define ENOTRECOVERABLE 98 /* State not recoverable */ + +#define ELAST 98 /* Must equal largest errno */ #if defined(_KERNEL) || defined(_KMEMUSER) /* pseudo-errors returned inside kernel to modify return to process */ Index: src/tests/include/t_errno.c diff -u src/tests/include/t_errno.c:1.1 src/tests/include/t_errno.c:1.2 --- src/tests/include/t_errno.c:1.1 Sun May 1 17:07:05 2011 +++ src/tests/include/t_errno.c Sun Mar 8 22:09:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: t_errno.c,v 1.1 2011/05/01 17:07:05 jruoho Exp $ */ +/* $NetBSD: t_errno.c,v 1.2 2020/03/08 22:09:43 mgorny Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__RCSID("$NetBSD: t_errno.c,v 1.1 2011/05/01 17:07:05 jruoho Exp $"); +__RCSID("$NetBSD: t_errno.c,v 1.2 2020/03/08 22:09:43 mgorny Exp $"); #include <atf-c.h> #include <errno.h> @@ -48,7 +48,6 @@ ATF_TC_BODY(errno_constants, tc) * The following definitions should be available * according to IEEE Std 1003.1-2008, issue 7. */ - atf_tc_expect_fail("PR standards/44921"); fail = true;