[DTrace-devel] [PATCH v4 06/25] uapi headers: include <sys/dtrace_types> as needed

Kris Van Hees kris.van.hees at oracle.com
Fri Oct 7 18:26:46 UTC 2022


On Fri, Oct 07, 2022 at 11:25:06AM +0100, Nick Alcock via DTrace-devel wrote:
> This is needed for _LITTLE_ENDIAN and _BIG_ENDIAN.
> 
> Add a new internals test to identify this class of failure: add a
> tag 'uninstalled' which is disabled in the installed tree to prevent it
> from being executed as part of the installed testsuite (since it is not
> particularly useful outside the installed set, and making it work in
> both places would be complicated and annoying).
> 
> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>

Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>

> ---
>  include/dtrace/actions_defines.h              |  1 +
>  include/dtrace/dof_defines.h                  |  3 +-
>  test/Build                                    |  1 +
>  .../headers/tst.header-endianness.sh          | 30 +++++++++++++++++++
>  4 files changed, 34 insertions(+), 1 deletion(-)
>  create mode 100755 test/internals/headers/tst.header-endianness.sh
> 
> diff --git a/include/dtrace/actions_defines.h b/include/dtrace/actions_defines.h
> index dfec34f3ddc2..f161df7cf13f 100644
> --- a/include/dtrace/actions_defines.h
> +++ b/include/dtrace/actions_defines.h
> @@ -13,6 +13,7 @@
>  #ifndef _DTRACE_ACTIONS_DEFINES_H
>  #define _DTRACE_ACTIONS_DEFINES_H
>  
> +#include <sys/dtrace_types.h>
>  #include <dtrace/universal.h>
>  
>  /*
> diff --git a/include/dtrace/dof_defines.h b/include/dtrace/dof_defines.h
> index 02d650c22831..4a7c4185fa4b 100644
> --- a/include/dtrace/dof_defines.h
> +++ b/include/dtrace/dof_defines.h
> @@ -2,7 +2,7 @@
>   * Licensed under the Universal Permissive License v 1.0 as shown at
>   * http://oss.oracle.com/licenses/upl.
>   *
> - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved.
>   */
>  
>  /*
> @@ -13,6 +13,7 @@
>  #ifndef _DTRACE_DOF_DEFINES_H
>  #define _DTRACE_DOF_DEFINES_H
>  
> +#include <sys/dtrace_types.h>
>  #include <dtrace/universal.h>
>  
>  /*
> diff --git a/test/Build b/test/Build
> index 853fcc7998da..d372da800f8a 100644
> --- a/test/Build
> +++ b/test/Build
> @@ -12,6 +12,7 @@ install-test::
>  		cp -a $$name "$(INSTTESTDIR)/test/$$(basename $$name)"; \
>  		chown -R root:root "$(INSTTESTDIR)/test/$$(basename $$name)" 2>/dev/null || true; \
>  	done
> +	echo '!uninstalled' >> $(INSTTESTDIR)/test/tags.default
>  
>  include test/triggers/Build
>  include test/utils/Build
> diff --git a/test/internals/headers/tst.header-endianness.sh b/test/internals/headers/tst.header-endianness.sh
> new file mode 100755
> index 000000000000..0ac45621010c
> --- /dev/null
> +++ b/test/internals/headers/tst.header-endianness.sh
> @@ -0,0 +1,30 @@
> +#!/bin/bash
> +#
> +# Oracle Linux DTrace.
> +# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
> +# Licensed under the Universal Permissive License v 1.0 as shown at
> +# http://oss.oracle.com/licenses/upl.
> +#
> +# @@tags: uninstalled
> +
> +set -e
> +
> +dtrace=$1
> +CC=/usr/bin/gcc
> +OLDDIRNAME=`pwd`
> +CFLAGS="-I${PWD}/include"
> +
> +DIRNAME="$tmpdir/usdt-entryreturn.$$.$RANDOM"
> +mkdir -p $DIRNAME
> +cd $DIRNAME
> +
> +for header in ${OLDDIRNAME}/include/dtrace/*.h; do
> +    grep -q _ENDIAN $header || continue
> +    cat > test.c <<EOF
> +    #include "$header"
> +    #if !defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)
> +    #error $header: needs to include <sys/dtrace_types.h>
> +    #endif
> +EOF
> +    $CC -c $CFLAGS -o /dev/null test.c
> +done
> -- 
> 2.35.1
> 
> 
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel



More information about the DTrace-devel mailing list