diff options
author | Alex Richardson <arichardson@FreeBSD.org> | 2020-09-19 12:08:16 +0000 |
---|---|---|
committer | Alex Richardson <arichardson@FreeBSD.org> | 2020-09-19 12:08:16 +0000 |
commit | 79e02149fcb480c95cfda65e2145ed021dfde5a6 (patch) | |
tree | 3defde47c9eb9618bfd33119380455622861342a /tools/build/cross-build/include/common | |
parent | b8bfffc1b619cca5262f848b665bd56c4de0052b (diff) | |
download | src-79e02149fcb480c95cfda65e2145ed021dfde5a6.tar.gz src-79e02149fcb480c95cfda65e2145ed021dfde5a6.zip |
Fix dtrace tools bootstrap on non-FreeBSD after OpenZFS import
This required surprisingly few build system changes and only two changes to the
openZFS compat headers which have been upstreamed as
https://github.com/openzfs/zfs/pull/10863
Reviewed By: #zfs, freqlabs
Differential Revision: https://reviews.freebsd.org/D26193
Notes
Notes:
svn path=/head/; revision=365901
Diffstat (limited to 'tools/build/cross-build/include/common')
-rw-r--r-- | tools/build/cross-build/include/common/string.h | 4 | ||||
-rw-r--r-- | tools/build/cross-build/include/common/sys/cdefs.h | 8 | ||||
-rw-r--r-- | tools/build/cross-build/include/common/sys/uio.h | 51 |
3 files changed, 12 insertions, 51 deletions
diff --git a/tools/build/cross-build/include/common/string.h b/tools/build/cross-build/include/common/string.h index 949f3fe10a5d..dd039d54583e 100644 --- a/tools/build/cross-build/include/common/string.h +++ b/tools/build/cross-build/include/common/string.h @@ -37,6 +37,10 @@ */ #pragma once +/* Avoid incompatible opensolaris redeclarations (without _FORTIFY_SOURCE). */ +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 + #include_next <string.h> /* * FreeBSD string.h #includes strings.h and all libmd code depends on diff --git a/tools/build/cross-build/include/common/sys/cdefs.h b/tools/build/cross-build/include/common/sys/cdefs.h index 6114fcbb9638..2bd57eef908d 100644 --- a/tools/build/cross-build/include/common/sys/cdefs.h +++ b/tools/build/cross-build/include/common/sys/cdefs.h @@ -276,3 +276,11 @@ typedef unsigned long u_long; #ifndef __DEQUALIFY #define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var)) #endif + + +/* Expose all declarations when using FreeBSD headers */ +#define __POSIX_VISIBLE 200809 +#define __XSI_VISIBLE 700 +#define __BSD_VISIBLE 1 +#define __ISO_C_VISIBLE 2011 +#define __EXT1_VISIBLE 1 diff --git a/tools/build/cross-build/include/common/sys/uio.h b/tools/build/cross-build/include/common/sys/uio.h deleted file mode 100644 index f670ded03c04..000000000000 --- a/tools/build/cross-build/include/common/sys/uio.h +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright 2018-2020 Alex Richardson <arichardson@FreeBSD.org> - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory (Department of Computer Science and - * Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the - * DARPA SSITH research programme. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ -#pragma once -#include_next <sys/uio.h> - -/* needed by opensolaris: */ -#ifdef __linux__ -enum uio_rw { UIO_READ, UIO_WRITE }; - -/* Segment flag values. */ -enum uio_seg { - UIO_USERSPACE, /* from user data space */ - UIO_SYSSPACE, /* from system space */ - UIO_NOCOPY /* don't copy, already in object */ -}; -#endif |