diff options
-rw-r--r-- | lib/libspl/include/sys/Makefile.am | 3 | ||||
-rw-r--r-- | lib/libspl/include/sys/errno.h | 35 | ||||
-rw-r--r-- | lib/libspl/include/sys/poll.h | 41 | ||||
-rw-r--r-- | lib/libspl/include/sys/signal.h | 35 | ||||
-rw-r--r-- | lib/libzfs/libzfs_util.c | 2 | ||||
-rw-r--r-- | tests/zfs-tests/cmd/file_trunc/file_trunc.c | 2 | ||||
-rw-r--r-- | tests/zfs-tests/cmd/mktree/mktree.c | 2 |
7 files changed, 116 insertions, 4 deletions
diff --git a/lib/libspl/include/sys/Makefile.am b/lib/libspl/include/sys/Makefile.am index ca2963499..a6c274268 100644 --- a/lib/libspl/include/sys/Makefile.am +++ b/lib/libspl/include/sys/Makefile.am @@ -13,6 +13,7 @@ libspl_HEADERS = \ $(top_srcdir)/lib/libspl/include/sys/debug.h \ $(top_srcdir)/lib/libspl/include/sys/dkio.h \ $(top_srcdir)/lib/libspl/include/sys/dklabel.h \ + $(top_srcdir)/lib/libspl/include/sys/errno.h \ $(top_srcdir)/lib/libspl/include/sys/feature_tests.h \ $(top_srcdir)/lib/libspl/include/sys/file.h \ $(top_srcdir)/lib/libspl/include/sys/frame.h \ @@ -31,8 +32,10 @@ libspl_HEADERS = \ $(top_srcdir)/lib/libspl/include/sys/note.h \ $(top_srcdir)/lib/libspl/include/sys/param.h \ $(top_srcdir)/lib/libspl/include/sys/policy.h \ + $(top_srcdir)/lib/libspl/include/sys/poll.h \ $(top_srcdir)/lib/libspl/include/sys/priv.h \ $(top_srcdir)/lib/libspl/include/sys/processor.h \ + $(top_srcdir)/lib/libspl/include/sys/signal.h \ $(top_srcdir)/lib/libspl/include/sys/stack.h \ $(top_srcdir)/lib/libspl/include/sys/stat.h \ $(top_srcdir)/lib/libspl/include/sys/stropts.h \ diff --git a/lib/libspl/include/sys/errno.h b/lib/libspl/include/sys/errno.h new file mode 100644 index 000000000..e8bfbe353 --- /dev/null +++ b/lib/libspl/include/sys/errno.h @@ -0,0 +1,35 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License, Version 1.0 only + * (the "License"). You may not use this file except in compliance + * with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2017 Zettabyte Software, LLC. All rights reserved. + * Use is subject to license terms. + */ + +/* + * Compiling against musl correctly points out that including sys/errno.h is + * disallowed by the Single UNIX Specification when building in userspace, so + * we implement a dummy header to redirect the include to the proper header. + */ +#ifndef _LIBSPL_SYS_ERRNO_H +#define _LIBSPL_SYS_ERRNO_H +#include <errno.h> +#endif /* _LIBSPL_SYS_ERRNO_H */ diff --git a/lib/libspl/include/sys/poll.h b/lib/libspl/include/sys/poll.h new file mode 100644 index 000000000..6ab0bddc0 --- /dev/null +++ b/lib/libspl/include/sys/poll.h @@ -0,0 +1,41 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License, Version 1.0 only + * (the "License"). You may not use this file except in compliance + * with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2017 Zettabyte Software, LLC. All rights reserved. + * Use is subject to license terms. + */ + +/* + * Compiling against musl correctly points out that including sys/poll.h is + * disallowed by the Single UNIX Specification when building in userspace. We + * implement a dummy header to redirect the include to the proper header. + * However, glibc, klibc and uclibc break this shim by including sys/poll.h + * from poll.h, so we add explicit exceptions for them. + */ +#ifndef _LIBSPL_SYS_POLL_H +#define _LIBSPL_SYS_POLL_H +#if defined(__GLIBC__) || defined(__KLIBC__) || defined(__UCLIBC__) +#include_next <sys/poll.h> +#else +#include <poll.h> +#endif +#endif /* _LIBSPL_SYS_POLL_H */ diff --git a/lib/libspl/include/sys/signal.h b/lib/libspl/include/sys/signal.h new file mode 100644 index 000000000..df9221a69 --- /dev/null +++ b/lib/libspl/include/sys/signal.h @@ -0,0 +1,35 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License, Version 1.0 only + * (the "License"). You may not use this file except in compliance + * with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2017 Zettabyte Software, LLC. All rights reserved. + * Use is subject to license terms. + */ + +/* + * Compiling against musl correctly points out that including sys/signal.h is + * disallowed by the Single UNIX Specification when building in userspace, so + * we implement a dummy header to redirect the include to the proper header. + */ +#ifndef _LIBSPL_SYS_SIGNAL_H +#define _LIBSPL_SYS_SIGNAL_H +#include <signal.h> +#endif /* _LIBSPL_SYS_SIGNAL_H */ diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index 4e8332608..e9119e11d 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -44,7 +44,7 @@ #include <sys/mnttab.h> #include <sys/mntent.h> #include <sys/types.h> -#include <wait.h> +#include <sys/wait.h> #include <libzfs.h> #include <libzfs_core.h> diff --git a/tests/zfs-tests/cmd/file_trunc/file_trunc.c b/tests/zfs-tests/cmd/file_trunc/file_trunc.c index 38e36c9d4..f9431300b 100644 --- a/tests/zfs-tests/cmd/file_trunc/file_trunc.c +++ b/tests/zfs-tests/cmd/file_trunc/file_trunc.c @@ -35,10 +35,8 @@ #include <errno.h> #include <fcntl.h> #include <sys/types.h> -#include <sys/fcntl.h> #include <sys/stat.h> #include <sys/statvfs.h> -#include <sys/errno.h> #include <sys/time.h> #include <sys/ioctl.h> #include <sys/wait.h> diff --git a/tests/zfs-tests/cmd/mktree/mktree.c b/tests/zfs-tests/cmd/mktree/mktree.c index 95d31a652..3dc3dd8ec 100644 --- a/tests/zfs-tests/cmd/mktree/mktree.c +++ b/tests/zfs-tests/cmd/mktree/mktree.c @@ -24,6 +24,7 @@ * Use is subject to license terms. */ +#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -32,7 +33,6 @@ #include <attr/xattr.h> #include <sys/stat.h> #include <sys/types.h> -#include <sys/errno.h> #include <sys/param.h> #define TYPE_D 'D' |