[DTrace-devel] [PATCH 1/2] Fix compilation problems in C tests

Kris Van Hees kris.van.hees at oracle.com
Fri Oct 8 12:19:39 PDT 2021


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

... and I put it in my local dev branch so I will push it at the end of the
day.

On Tue, Oct 05, 2021 at 05:20:18PM -0400, eugene.loh at oracle.com wrote:
> From: Eugene Loh <eugene.loh at oracle.com>
> 
> The tests that are C source files are not compiling.  Fix those
> errors, including:
> 
> - augmenting test_incflags in runtest.sh
>   (and improving readability while we are at it)
> 
> - remove xfail for some tests
> 
> - update names of dtrace_syminfo_t members
> 
> Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
> ---
>  runtest.sh                                    | 11 +++++---
>  test/unittest/consumer/addr2str-null.c        |  3 +--
>  .../consumer/tst.merge_ranges_bug25767469.c   |  3 +--
>  test/unittest/consumer/tst.symbols.c          | 26 +++++++++----------
>  4 files changed, 22 insertions(+), 21 deletions(-)
> 
> diff --git a/runtest.sh b/runtest.sh
> index a4dd21cf..1d62f838 100755
> --- a/runtest.sh
> +++ b/runtest.sh
> @@ -8,7 +8,7 @@
>  #               and generated intermediate representation.
>  #
>  # Oracle Linux DTrace.
> -# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
> +# Copyright (c) 2011, 2021, 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.
>  
> @@ -522,7 +522,7 @@ if [[ -z $USE_INSTALLED ]]; then
>      dtrace="$(pwd)/build*/dtrace"
>      test_libdir="$(pwd)/build/dlibs"
>      test_ldflags="-L$(pwd)/build"
> -    test_incflags="-Iuts/common -DARCH_$arch"
> +    test_incflags="-Iinclude -Iuts/common -Ibuild -Ilibdtrace -DARCH_$arch"
>  
>      if [[ -z $(eval echo $dtrace) ]]; then
>      	echo "No dtraces available." >&2
> @@ -1139,8 +1139,11 @@ for dt in $dtrace; do
>              fi
>  
>              CC="${CC:-gcc}"
> -            log "Compiling $CC -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $test_incflags $CFLAGS $test_ldflags $LDFLAGS -o $tmpdir/$base $_test $link\n"
> -            if ! $CC $CFLAGS -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $test_incflags $test_ldflags $LDFLAGS -o $tmpdir/$(basename $base) $_test $link >/dev/null 2>$tmpdir/cc.err; then
> +            CCline="$CC $CFLAGS -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
> +            CCline="$CCline $test_incflags $test_ldflags $LDFLAGS"
> +            CCline="$CCline -o $tmpdir/$(basename $base) $_test $link"
> +            log "Compiling $CCline\n"
> +            if ! $CCline >/dev/null 2>$tmpdir/cc.err; then
>                  fail=t
>                  failmsg="compilation failure"
>                  fail "$xfail" "$xfailmsg" "compilation failure"
> diff --git a/test/unittest/consumer/addr2str-null.c b/test/unittest/consumer/addr2str-null.c
> index c88d261e..62a30da2 100644
> --- a/test/unittest/consumer/addr2str-null.c
> +++ b/test/unittest/consumer/addr2str-null.c
> @@ -1,10 +1,9 @@
>  /*
>   * Oracle Linux DTrace.
> - * Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2017, 2021, 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.
>   */
> -/* @@xfail: dtv2 */
>  
>  /*
>   * Verify that a dtrace_addr2str() of the null pointer does not
> diff --git a/test/unittest/consumer/tst.merge_ranges_bug25767469.c b/test/unittest/consumer/tst.merge_ranges_bug25767469.c
> index 6773a697..2d73e15a 100644
> --- a/test/unittest/consumer/tst.merge_ranges_bug25767469.c
> +++ b/test/unittest/consumer/tst.merge_ranges_bug25767469.c
> @@ -1,10 +1,9 @@
>  /*
>   * Oracle Linux DTrace.
> - * Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2017, 2021, 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.
>   */
> -/* @@xfail: dtv2 */
>  
>  /*
>   * 25767469 dtrace_update() does not merge address ranges properly
> diff --git a/test/unittest/consumer/tst.symbols.c b/test/unittest/consumer/tst.symbols.c
> index b8991e01..d1ece5c7 100644
> --- a/test/unittest/consumer/tst.symbols.c
> +++ b/test/unittest/consumer/tst.symbols.c
> @@ -1,6 +1,6 @@
>  /*
>   * Oracle Linux DTrace.
> - * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2018, 2021, 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.
>   */
> @@ -195,8 +195,8 @@ void match_at_addr(int i, GElf_Sym *symp, dtrace_syminfo_t *sip) {
>  		printf("  actual: %16.16llx %8.8llx %32s %20s\n",
>  		    (long long)symp->st_value,
>  		    (long long)symp->st_size,
> -		    sip->dts_name,
> -		    sip->dts_object);
> +		    sip->name,
> +		    sip->object);
>  	}
>  
>  	/*
> @@ -205,19 +205,19 @@ void match_at_addr(int i, GElf_Sym *symp, dtrace_syminfo_t *sip) {
>  	 * some known symbol at this address.
>  	 */
>  
> -	if (strcmp(symbols[i].symname, sip->dts_name) == 0)
> +	if (strcmp(symbols[i].symname, sip->name) == 0)
>  		match = i;
>  
>  	j = i - 1;
>  	while (match < 0 && j >= 0 && symbols[j].addr == symbols[i].addr) {
> -		if (strcmp(symbols[j].symname, sip->dts_name) == 0)
> +		if (strcmp(symbols[j].symname, sip->name) == 0)
>  			match = j;
>  		j--;
>  	}
>  
>  	j = i + 1;
>  	while (match < 0 && j < nsymbols && symbols[j].addr == symbols[i].addr) {
> -		if (strcmp(symbols[j].symname, sip->dts_name) == 0)
> +		if (strcmp(symbols[j].symname, sip->name) == 0)
>  			match = j;
>  		j++;
>  	}
> @@ -229,7 +229,7 @@ void match_at_addr(int i, GElf_Sym *symp, dtrace_syminfo_t *sip) {
>  
>  	if (match < 0 ||
>  	    symbols[match].size != symp->st_size ||
> -	    strcmp(symbols[match].modname, sip->dts_object)) {
> +	    strcmp(symbols[match].modname, sip->object)) {
>  		nerrors++;
>  		printf("ERROR: no such reported symbol\n");
>  		printf("  expect:");
> @@ -237,8 +237,8 @@ void match_at_addr(int i, GElf_Sym *symp, dtrace_syminfo_t *sip) {
>  		printf("  actual: %16.16llx %8.8llx %32s %20s\n",
>  		    (long long)symp->st_value,
>  		    (long long)symp->st_size,
> -		    sip->dts_name,
> -		    sip->dts_object);
> +		    sip->name,
> +		    sip->object);
>  	}
>  }
>  
> @@ -305,8 +305,8 @@ int check_lookup_by_name(dtrace_hdl_t *h, int specify_module) {
>  
>  			if (symbols[i].addr != sym.st_value ||
>  			    symbols[i].size != sym.st_size ||
> -			    strcmp(symbols[i].symname, si.dts_name) ||
> -			    strcmp(symbols[i].modname, si.dts_object)) {
> +			    strcmp(symbols[i].symname, si.name) ||
> +			    strcmp(symbols[i].modname, si.object)) {
>  
>  				printf("ERROR: mismatch\n");
>  				printf("  expect:");
> @@ -314,8 +314,8 @@ int check_lookup_by_name(dtrace_hdl_t *h, int specify_module) {
>  				printf("  actual: %16.16llx %8.8llx %32s %20s\n",
>  				    (long long)sym.st_value,
>  				    (long long)sym.st_size,
> -				    si.dts_name,
> -				    si.dts_object);
> +				    si.name,
> +				    si.object);
>  				nerrors++;
>  			}
>  		}
> -- 
> 2.18.4
> 
> 
> _______________________________________________
> 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