diff --git a/lib/libspl/include/sys/Makefile.am b/lib/libspl/include/sys/Makefile.am index ca2963499c..a6c2742683 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 0000000000..e8bfbe3538 --- /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 +#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 0000000000..6ab0bddc0b --- /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 +#else +#include +#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 0000000000..df9221a694 --- /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 +#endif /* _LIBSPL_SYS_SIGNAL_H */ diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index 4e83326087..e9119e11de 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -44,7 +44,7 @@ #include #include #include -#include +#include #include #include diff --git a/tests/zfs-tests/cmd/file_trunc/file_trunc.c b/tests/zfs-tests/cmd/file_trunc/file_trunc.c index 38e36c9d49..f9431300be 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 #include #include -#include #include #include -#include #include #include #include diff --git a/tests/zfs-tests/cmd/mktree/mktree.c b/tests/zfs-tests/cmd/mktree/mktree.c index 95d31a6527..3dc3dd8ec6 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 #include #include #include @@ -32,7 +33,6 @@ #include #include #include -#include #include #define TYPE_D 'D'