From: Kris Van Hees <kris.van.hees@oracle.com>
To: Sam James <sam@gentoo.org>
Cc: dtrace@lists.linux.dev
Subject: Re: [PATCH 6/6] test: awk -> gawk universally
Date: Fri, 11 Oct 2024 23:31:05 -0400 [thread overview]
Message-ID: <Zwnted8/jHZzG7PB@oracle.com> (raw)
In-Reply-To: <87e99a41e1b76c18181de5778ce3fdfe2348e971.1724962546.git.sam@gentoo.org>
On Thu, Aug 29, 2024 at 09:15:46PM +0100, Sam James wrote:
> It doesn't feel worth it to keep playing whack-a-mole with gawkisms;
> just unconditionally call 'gawk' instead of 'awk' to avoid issues where
> e.g. /usr/bin/awk is provided by mawk instead.
>
> Kris already analysed a few non-obvious cases where e.g. we used regex
> extensions. It's not a good use of time.
>
> Besides, we have a few tests which *definitely* require gawk, and
> there's no interest in rewriting those, so using awk elsewhere doesn't
> gain us anything.
>
> Kept comments referring to awk the tool. This commit is best reviewed
> with --word-diff.
>
> Note: I've *not* done anything outside of tests as that's a slightly
> more controversial decision.
Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>
... and committed with Signed-off-by added.
> ---
> runtest.sh | 8 ++++----
> test/stress/options/tst.cpu-BEGIN.sh | 2 +-
> test/stress/options/tst.cpu-END.sh | 2 +-
> test/stress/options/tst.cpu-cpc.sh | 2 +-
> test/stress/options/tst.cpu-profile.sh | 2 +-
> test/stress/options/tst.cpu-syscall.sh | 2 +-
> test/stress/options/tst.cpu-tick.sh | 2 +-
> test/unittest/actions/freopen/tst.badfreopen.sh | 2 +-
> test/unittest/actions/raise/tst.sigdefs.sh | 2 +-
> test/unittest/actions/symmod/tst.symmod.sh | 2 +-
> test/unittest/actions/trace/tst.array.r.p | 2 +-
> test/unittest/aggs/tst.aggmod_full.sh | 14 +++++++-------
> test/unittest/aggs/tst.aggmod_full.x | 2 +-
> test/unittest/aggs/tst.aggmod_full2.sh | 6 +++---
> test/unittest/aggs/tst.aggmod_full2.x | 2 +-
> test/unittest/aggs/tst.multicpus.sh | 2 +-
> test/unittest/bitfields/tst.bitfield-offset.x | 2 +-
> test/unittest/codegen/tst.ALLOCA.r.p | 2 +-
> test/unittest/codegen/tst.DPTR.r.p | 2 +-
> test/unittest/codegen/tst.kernel_read_str.r.p | 2 +-
> .../consumer/tst.merge_ranges_bug25767469.x | 2 +-
> test/unittest/cpc/tst.allcpus.sh | 4 ++--
> test/unittest/cpc/tst.args_kernel.sh | 2 +-
> test/unittest/cpc/tst.args_user.sh | 4 ++--
> test/unittest/cpc/tst.instructions.sh | 2 +-
> test/unittest/cpc/tst.list_cpc.sh | 2 +-
> test/unittest/disasm/tst.ann-agg.sh | 2 +-
> test/unittest/disasm/tst.ann-bvar.sh | 2 +-
> test/unittest/disasm/tst.ann-endian.sh | 2 +-
> test/unittest/disasm/tst.ann-gvar-agg.sh | 2 +-
> test/unittest/disasm/tst.ann-gvar-assoc.sh | 2 +-
> test/unittest/disasm/tst.ann-js-neg.sh | 2 +-
> test/unittest/disasm/tst.ann-reg-spill.sh | 2 +-
> test/unittest/disasm/tst.ann-str_assoc.sh | 2 +-
> test/unittest/disasm/tst.ann-str_gvar.sh | 2 +-
> test/unittest/disasm/tst.ann-str_lvar.sh | 2 +-
> test/unittest/disasm/tst.ann-str_tvar.sh | 2 +-
> test/unittest/disasm/tst.ann-strconst-strtab.sh | 2 +-
> test/unittest/disasm/tst.ann-strconst.sh | 2 +-
> test/unittest/disasm/tst.ann-tramp-lvar.sh | 2 +-
> test/unittest/disasm/tst.ann-tramp-tvar.sh | 2 +-
> test/unittest/disasm/tst.ann-tvar-assoc.sh | 2 +-
> test/unittest/disasm/tst.ann-tvar.sh | 2 +-
> test/unittest/disasm/tst.ann-var.sh | 2 +-
> test/unittest/disasm/tst.vartab-bvar-uregs0.sh | 2 +-
> test/unittest/disasm/tst.vartab-bvar.sh | 2 +-
> test/unittest/dtrace-util/tst.DisOption.sh | 6 +++---
> .../dtrace-util/tst.ListProbesModuleClause.sh | 2 +-
> test/unittest/error/tst.fault-location.sh | 2 +-
> .../fbtprovider/err.D_ARGS_IDX.void-void.x | 2 +-
> test/unittest/fbtprovider/err.D_ARGS_IDX.void.x | 2 +-
> test/unittest/funcs/alloca/tst.alloca0-values.sh | 2 +-
> test/unittest/funcs/tst.rand_inter.sh | 4 ++--
> test/unittest/funcs/tst.rand_intra.sh | 4 ++--
> test/unittest/io/check_io_probe_args.sh | 8 ++++----
> test/unittest/io/tst.local.sh | 2 +-
> test/unittest/io/tst.local2.sh | 10 +++++-----
> test/unittest/io/tst.lv-done.r.p | 2 +-
> test/unittest/io/tst.nfs2.sh | 6 +++---
> test/unittest/io/tst.wait.sh | 2 +-
> test/unittest/ip/tst.ipv6localicmp.sh | 2 +-
> test/unittest/ip/tst.ipv6remoteicmp.sh | 2 +-
> .../lockstat/tst.lv-adaptive-acquire-error.r.p | 2 +-
> .../lquantize/tst.normalize-bug26261502.sh | 2 +-
> test/unittest/misc/tst.parser1.sh | 2 +-
> test/unittest/misc/tst.parser2.sh | 2 +-
> test/unittest/misc/tst.parser4.sh | 2 +-
> test/unittest/options/err.ctfpath.sh | 2 +-
> test/unittest/options/tst.S.sh | 2 +-
> test/unittest/options/tst.core.sh | 2 +-
> test/unittest/options/tst.cppargs.sh | 2 +-
> test/unittest/options/tst.cpphdrs.sh | 2 +-
> test/unittest/options/tst.cpu-BEGIN.sh | 2 +-
> test/unittest/options/tst.cpu-END.sh | 2 +-
> test/unittest/options/tst.cpu-cpc.sh | 2 +-
> test/unittest/options/tst.cpu-profile.sh | 2 +-
> test/unittest/options/tst.cpu-syscall.sh | 2 +-
> test/unittest/options/tst.cpu-tick.sh | 2 +-
> test/unittest/options/tst.ctfpath.sh | 2 +-
> test/unittest/options/tst.ctypes.sh | 4 ++--
> test/unittest/options/tst.debug.sh | 2 +-
> test/unittest/options/tst.dtypes.sh | 4 ++--
> test/unittest/options/tst.knodefs.sh | 2 +-
> test/unittest/options/tst.linktype.sh | 2 +-
> test/unittest/options/tst.modpath.sh | 6 +++---
> test/unittest/options/tst.modpath.x | 2 +-
> test/unittest/options/tst.strip.sh | 4 ++--
> test/unittest/options/tst.switchrate.sh | 2 +-
> test/unittest/options/tst.verbose.sh | 2 +-
> test/unittest/options/tst.version.sh | 2 +-
> test/unittest/pid/tst.offsets.sh | 2 +-
> test/unittest/pid/tst.probemod.sh | 2 +-
> test/unittest/printf/tst.wide-bug30404549.sh | 2 +-
> test/unittest/printf/tst.wide.sh | 2 +-
> test/unittest/profile-n/tst.args_kernel.sh | 2 +-
> test/unittest/profile-n/tst.args_user.sh | 4 ++--
> test/unittest/profile-n/tst.ufunc.sh | 2 +-
> test/unittest/profile-n/tst.umod.sh | 2 +-
> test/unittest/profile-n/tst.usym.sh | 2 +-
> .../providers/rawtp/err.lockmem-too-low.sh | 2 +-
> .../providers/rawtp/tst.lv-sched_process_fork.r.p | 2 +-
> test/unittest/sched/tst.lv-dequeue.r.p | 2 +-
> test/unittest/scripting/tst.egid.sh | 2 +-
> test/unittest/scripting/tst.euid.sh | 2 +-
> test/unittest/scripting/tst.sid-valid.sh | 2 +-
> test/unittest/usdt/tst.dlclose1.r.p | 2 +-
> .../ustack/tst.jstack_unprintable-bug26045010.sh | 4 ++--
> test/unittest/variables/bvar/tst.curcpu_cpu_id.sh | 2 +-
> test/unittest/variables/bvar/tst.id-valid.sh | 2 +-
> test/unittest/variables/bvar/tst.offset-blank.sh | 2 +-
> .../unittest/variables/gvar/tst.alignment-array.sh | 2 +-
> test/unittest/variables/gvar/tst.alignment-char.sh | 2 +-
> test/unittest/variables/gvar/tst.alignment-int.sh | 2 +-
> test/unittest/variables/gvar/tst.alignment-long.sh | 2 +-
> test/unittest/variables/gvar/tst.alignment-ptr.sh | 2 +-
> .../unittest/variables/gvar/tst.alignment-short.sh | 2 +-
> .../variables/gvar/tst.alignment-struct-2.sh | 2 +-
> .../variables/gvar/tst.alignment-struct.sh | 2 +-
> test/unittest/variables/gvar/tst.undecl-offset.sh | 2 +-
> .../unittest/variables/lvar/tst.alignment-array.sh | 2 +-
> test/unittest/variables/lvar/tst.alignment-char.sh | 2 +-
> test/unittest/variables/lvar/tst.alignment-int.sh | 2 +-
> test/unittest/variables/lvar/tst.alignment-long.sh | 2 +-
> test/unittest/variables/lvar/tst.alignment-ptr.sh | 2 +-
> .../unittest/variables/lvar/tst.alignment-short.sh | 2 +-
> .../variables/lvar/tst.alignment-struct-2.sh | 2 +-
> .../variables/lvar/tst.alignment-struct.sh | 2 +-
> .../unittest/variables/tvar/tst.alignment-array.sh | 2 +-
> test/unittest/variables/tvar/tst.alignment-char.sh | 2 +-
> test/unittest/variables/tvar/tst.alignment-int.sh | 2 +-
> test/unittest/variables/tvar/tst.alignment-long.sh | 2 +-
> test/unittest/variables/tvar/tst.alignment-ptr.sh | 2 +-
> .../unittest/variables/tvar/tst.alignment-short.sh | 2 +-
> .../variables/tvar/tst.alignment-struct-2.sh | 2 +-
> .../variables/tvar/tst.alignment-struct.sh | 2 +-
> test/utils/clean_probes.sh | 2 +-
> test/utils/perf_count_event.sh | 2 +-
> test/utils/workload_analyze_loop.sh | 2 +-
> 138 files changed, 171 insertions(+), 171 deletions(-)
>
> diff --git a/runtest.sh b/runtest.sh
> index c720a8c9..681d748d 100755
> --- a/runtest.sh
> +++ b/runtest.sh
> @@ -209,7 +209,7 @@ is_interpreter_file()
> if [[ ! -e $1 ]]; then
> return 1
> fi
> - if [[ $(awk '{print $1; exit}' $1) != "#!dtrace" ]]; then
> + if [[ $(gawk '{print $1; exit}' $1) != "#!dtrace" ]]; then
> return 1
> fi
>
> @@ -629,7 +629,7 @@ for dt in $dtrace; do
> fi
>
> # Write out a list of loaded providers.
> - DTRACE_DEBUG= $dt -l | tail -n +2 | awk '{print $2;}' | sort -u > $tmpdir/providers
> + DTRACE_DEBUG= $dt -l | tail -n +2 | gawk '{print $2;}' | sort -u > $tmpdir/providers
>
> unset LD_LIBRARY_PATH
> break
> @@ -1504,7 +1504,7 @@ if [[ -n $regression ]]; then
> else
> # Test summary.
>
> - awk -f - $SUMFILE <<'EOF' | tee -a $LOGFILE $SUMFILE
> + gawk -f - $SUMFILE <<'EOF' | tee -a $LOGFILE $SUMFILE
> {
> rc = 0;
> }
> @@ -1543,7 +1543,7 @@ for name in build*; do
> genhtml --frames --show-details -o $logdir/coverage \
> --title "DTrace userspace coverage" \
> --highlight --legend $logdir/coverage/coverage.lcov | \
> - awk 'BEGIN { quiet=1; } { if (!quiet) { print ($0); } } /^Overall coverage rate:$/ { quiet=0; }' | \
> + gawk 'BEGIN { quiet=1; } { if (!quiet) { print ($0); } } /^Overall coverage rate:$/ { quiet=0; }' | \
> tee -a $LOGFILE $SUMFILE
> fi
> done
> diff --git a/test/stress/options/tst.cpu-BEGIN.sh b/test/stress/options/tst.cpu-BEGIN.sh
> index 24d60767..46bed505 100755
> --- a/test/stress/options/tst.cpu-BEGIN.sh
> +++ b/test/stress/options/tst.cpu-BEGIN.sh
> @@ -11,7 +11,7 @@ dtrace=$1
> nerr=0
>
> # Loop over CPUs.
> -for cpu0 in `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> +for cpu0 in `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> # Observe where DTrace runs.
> cpu=`$dtrace $dt_flags -xcpu=$cpu0 -qn 'BEGIN { trace(cpu); exit(0); }'`
>
> diff --git a/test/stress/options/tst.cpu-END.sh b/test/stress/options/tst.cpu-END.sh
> index 0568d6db..200cc4cc 100755
> --- a/test/stress/options/tst.cpu-END.sh
> +++ b/test/stress/options/tst.cpu-END.sh
> @@ -11,7 +11,7 @@ dtrace=$1
> nerr=0
>
> # Loop over CPUs.
> -for cpu0 in `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> +for cpu0 in `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> # Observe where DTrace runs.
> cpu=`$dtrace $dt_flags -xcpu=$cpu0 -qn 'BEGIN { exit(0) } END { trace(cpu); }'`
>
> diff --git a/test/stress/options/tst.cpu-cpc.sh b/test/stress/options/tst.cpu-cpc.sh
> index 99e1c5dd..18e9b30a 100755
> --- a/test/stress/options/tst.cpu-cpc.sh
> +++ b/test/stress/options/tst.cpu-cpc.sh
> @@ -11,7 +11,7 @@ dtrace=$1
> nerr=0
>
> # Loop over CPUs.
> -for cpu0 in `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> +for cpu0 in `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> # Observe where DTrace runs.
> cpu=`$dtrace $dt_flags -xcpu=$cpu0 -qn 'cpc:::cpu_clock-all-100000000 { trace(cpu); exit(0); }'`
>
> diff --git a/test/stress/options/tst.cpu-profile.sh b/test/stress/options/tst.cpu-profile.sh
> index 51745f8b..31b28176 100755
> --- a/test/stress/options/tst.cpu-profile.sh
> +++ b/test/stress/options/tst.cpu-profile.sh
> @@ -11,7 +11,7 @@ dtrace=$1
> nerr=0
>
> # Loop over CPUs.
> -for cpu0 in `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> +for cpu0 in `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> # Observe where DTrace runs.
> cpu=`$dtrace $dt_flags -xcpu=$cpu0 -qn 'profile-100ms { trace(cpu); exit(0); }'`
>
> diff --git a/test/stress/options/tst.cpu-syscall.sh b/test/stress/options/tst.cpu-syscall.sh
> index 33f3295c..6fb09d48 100755
> --- a/test/stress/options/tst.cpu-syscall.sh
> +++ b/test/stress/options/tst.cpu-syscall.sh
> @@ -101,7 +101,7 @@ fi
> # Get CPU list and form expected-results file.
> #
>
> -cpulist=`awk '/^processor[ ]: [0-9]*$/ { print $3 }' /proc/cpuinfo`
> +cpulist=`gawk '/^processor[ ]: [0-9]*$/ { print $3 }' /proc/cpuinfo`
> echo $cpulist
>
> echo > expect.txt
> diff --git a/test/stress/options/tst.cpu-tick.sh b/test/stress/options/tst.cpu-tick.sh
> index 0d0c04d7..a38ee78b 100755
> --- a/test/stress/options/tst.cpu-tick.sh
> +++ b/test/stress/options/tst.cpu-tick.sh
> @@ -11,7 +11,7 @@ dtrace=$1
> nerr=0
>
> # Loop over CPUs.
> -for cpu0 in `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> +for cpu0 in `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo`; do
> # Observe where DTrace runs.
> cpu=`$dtrace $dt_flags -xcpu=$cpu0 -qn 'tick-100ms { trace(cpu); exit(0); }'`
>
> diff --git a/test/unittest/actions/freopen/tst.badfreopen.sh b/test/unittest/actions/freopen/tst.badfreopen.sh
> index 39efd16e..916692f1 100755
> --- a/test/unittest/actions/freopen/tst.badfreopen.sh
> +++ b/test/unittest/actions/freopen/tst.badfreopen.sh
> @@ -67,7 +67,7 @@ if [ "$status" -eq 0 ]; then
> status=100
> fi
>
> - i=`wc -l $errfile | awk '{ print $1 }'`
> + i=`wc -l $errfile | gawk '{ print $1 }'`
>
> if [ "$i" -lt 6 ]; then
> echo "$0: expected at least 6 lines of stderr, found $i lines"
> diff --git a/test/unittest/actions/raise/tst.sigdefs.sh b/test/unittest/actions/raise/tst.sigdefs.sh
> index 1e2ddc8f..d3ffb534 100755
> --- a/test/unittest/actions/raise/tst.sigdefs.sh
> +++ b/test/unittest/actions/raise/tst.sigdefs.sh
> @@ -20,7 +20,7 @@ BEGIN
> EOF
>
> cat /usr/include/signal.h \
> -| awk '
> +| gawk '
> /SIGRTMIN/ || /SIGRTMAX/ || /SIGSTKSZ/ { next }
> /^#define[[:blank:]]*SIG[[:alnum:]]/ { signum[$2] = $3 }
> END {
> diff --git a/test/unittest/actions/symmod/tst.symmod.sh b/test/unittest/actions/symmod/tst.symmod.sh
> index f34a538d..2950c9b7 100755
> --- a/test/unittest/actions/symmod/tst.symmod.sh
> +++ b/test/unittest/actions/symmod/tst.symmod.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # pick a test symbol from /proc/kallsyms
> -read ADD NAM MOD <<< `awk '/ ksys_write/ {print $1, $3, $4}' /proc/kallsyms`
> +read ADD NAM MOD <<< `gawk '/ ksys_write/ {print $1, $3, $4}' /proc/kallsyms`
>
> # a blank module means the module is vmlinux
> if [ x$MOD == x ]; then
> diff --git a/test/unittest/actions/trace/tst.array.r.p b/test/unittest/actions/trace/tst.array.r.p
> index 3ee0b5a9..b8cc8daf 100755
> --- a/test/unittest/actions/trace/tst.array.r.p
> +++ b/test/unittest/actions/trace/tst.array.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
>
> # Some Linux kernel versions leave garbage at the end of the string.
> { sub(/( [0-9A-F]{2}){9} /, " 00 00 00 00 00 00 00 00 00 "); }
> diff --git a/test/unittest/aggs/tst.aggmod_full.sh b/test/unittest/aggs/tst.aggmod_full.sh
> index 120879d5..31d5cd23 100755
> --- a/test/unittest/aggs/tst.aggmod_full.sh
> +++ b/test/unittest/aggs/tst.aggmod_full.sh
> @@ -42,7 +42,7 @@ dtrace=$1
> # progress variables (read the timeout listed above)
> # (use "@''@" instead of "@@" so that runtest.sh will not see this line)
>
> -timeout=`awk '/^# @''@timeout: [0-9]/ {print $NF}' $0 | head -1`
> +timeout=`gawk '/^# @''@timeout: [0-9]/ {print $NF}' $0 | head -1`
> progress_stop_time=$((`date +%s` + $timeout - 5))
> progress_done=0
> progress_goal=0
> @@ -74,7 +74,7 @@ cd $DIRNAME
> # . type (3rd field) is "a"
> # . type (3rd field) is "A"
> # - can add special cases based on symbol name (4th field)
> -awk '
> +gawk '
> NF == 4 && $4 == "__init_scratch_begin" {
> while ($4 != "__init_scratch_end") getline;
> next;
> @@ -98,7 +98,7 @@ for x in \[*; do
> # dtrace: failed to enable $modname.d:
> # DIF program exceeds maximum program size
> shuf $x \
> - | awk '{printf "@[mod(0x%s)] = count();\n", $1;}' \
> + | gawk '{printf "@[mod(0x%s)] = count();\n", $1;}' \
> | split --lines=600 - $modname@
>
> # increment progress goal by the number of addresses
> @@ -142,7 +142,7 @@ while [[ $(find . -name "*@*" -print -quit | wc -l) -gt 0 ]]; do
> echo "}" >> D.d
>
> # run D script
> - $dtrace -q $dt_flags -s D.d -c echo | awk 'NF>0' >& D.out
> + $dtrace -q $dt_flags -s D.d -c echo | gawk 'NF>0' >& D.out
> status=$?
> if [[ "$status" -ne 0 ]]; then
> report_error "$tst: dtrace failed"
> @@ -186,8 +186,8 @@ while [[ $(find . -name "*@*" -print -quit | wc -l) -gt 0 ]]; do
> fi
>
> # extract the data
> - check_modname=`awk '{print $1}' D.out`
> - check_count=`awk '{print $2}' D.out`
> + check_modname=`gawk '{print $1}' D.out`
> + check_count=`gawk '{print $2}' D.out`
>
> # special case
> [[ $modname == "ctf" ]] && modname="shared_ctf"
> @@ -233,7 +233,7 @@ if [[ $progress_done -lt $progress_done_min ]]; then
> exit 1
> fi
>
> -echo $progress_done $progress_goal | awk '
> +echo $progress_done $progress_goal | gawk '
> {printf "SUCCESS: tested %d of %d addresses = %.1f%%\n", $1, $2, 100. * $1 / $2;}'
> exit 0
>
> diff --git a/test/unittest/aggs/tst.aggmod_full.x b/test/unittest/aggs/tst.aggmod_full.x
> index f06df66e..bfb4bc18 100755
> --- a/test/unittest/aggs/tst.aggmod_full.x
> +++ b/test/unittest/aggs/tst.aggmod_full.x
> @@ -16,7 +16,7 @@
> # often of the form __key.*. If there are few (2-3), the bug is present
> # and this test should not be run.
>
> -nzero=`awk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
> +nzero=`gawk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
>
> if [[ $nzero -lt 20 ]]; then
> echo "unpatched kernel? /proc/kallmodsyms symbol sizes look suspicious"
> diff --git a/test/unittest/aggs/tst.aggmod_full2.sh b/test/unittest/aggs/tst.aggmod_full2.sh
> index 100eb561..bb984af1 100755
> --- a/test/unittest/aggs/tst.aggmod_full2.sh
> +++ b/test/unittest/aggs/tst.aggmod_full2.sh
> @@ -173,7 +173,7 @@ fi
> # having the trigger bounce among CPUs. Then the (per-CPU) aggsize
> # could be reduced.
> $dtrace $dt_flags -xstrsize=48 -xaggsize=16m -c ./a.out -o output.txt -s /dev/stdin << EOF \
> - 2> errors.txt | sort | uniq -c | awk '{print $1, $2}' > modules.txt
> + 2> errors.txt | sort | uniq -c | gawk '{print $1, $2}' > modules.txt
> test_prov\$target:::
> {
> @[mod(arg0), copyinstr(arg1)] = count();
> @@ -201,7 +201,7 @@ fi
> # - sorted by module name
> # ==================================================
>
> -awk '
> +gawk '
> NF>0 {
> if ($1 != $2) { print "ERROR module name mismatch:", $0 };
> print $3, $1;
> @@ -212,7 +212,7 @@ if [[ `grep -c "ERROR module name mismatch" output2.txt` -gt 0 ]]; then
> echo "ERROR: DTrace mismatches between mod(addr) and modname"
> echo " first column is mod(addr)"
> echo " second column is modname"
> - awk '/ERROR module name mismatch/ {print $5, $6}' output2.txt
> + gawk '/ERROR module name mismatch/ {print $5, $6}' output2.txt
> exit 1
> fi
>
> diff --git a/test/unittest/aggs/tst.aggmod_full2.x b/test/unittest/aggs/tst.aggmod_full2.x
> index 9d684954..3660504a 100755
> --- a/test/unittest/aggs/tst.aggmod_full2.x
> +++ b/test/unittest/aggs/tst.aggmod_full2.x
> @@ -24,7 +24,7 @@ fi
> # often of the form __key.*. If there are few (2-3), the bug is present
> # and this test should not be run.
>
> -nzero=`awk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
> +nzero=`gawk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
>
> if [[ $nzero -lt 20 ]]; then
> echo "unpatched kernel? /proc/kallmodsyms symbol sizes look suspicious"
> diff --git a/test/unittest/aggs/tst.multicpus.sh b/test/unittest/aggs/tst.multicpus.sh
> index 23b5c08d..bc436684 100755
> --- a/test/unittest/aggs/tst.multicpus.sh
> +++ b/test/unittest/aggs/tst.multicpus.sh
> @@ -43,7 +43,7 @@ fi
> # Examine the results.
> #
>
> -awk '
> +gawk '
> BEGIN {
> xcnt = xavg = xstm = xstd = xsum = 0;
> xmin = +1000000000;
> diff --git a/test/unittest/bitfields/tst.bitfield-offset.x b/test/unittest/bitfields/tst.bitfield-offset.x
> index 783e15fe..ae57c2b5 100755
> --- a/test/unittest/bitfields/tst.bitfield-offset.x
> +++ b/test/unittest/bitfields/tst.bitfield-offset.x
> @@ -24,4 +24,4 @@ trap "rm -f $ctfa" EXIT ERR
> objcopy --add-section=.ctf=/lib/modules/$(uname -r)/kernel/vmlinux.ctfa /bin/true $ctfa
>
> objdump --ctf=.ctf --ctf-parent=shared_ctf $ctfa |\
> - awk '/Version: 3/ { exit 1; } /Version: / { exit 0; }'
> + gawk '/Version: 3/ { exit 1; } /Version: / { exit 0; }'
> diff --git a/test/unittest/codegen/tst.ALLOCA.r.p b/test/unittest/codegen/tst.ALLOCA.r.p
> index 49503319..158a693e 100755
> --- a/test/unittest/codegen/tst.ALLOCA.r.p
> +++ b/test/unittest/codegen/tst.ALLOCA.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
>
> # set flag to look for the clause
> BEGIN { read_clause = 0 }
> diff --git a/test/unittest/codegen/tst.DPTR.r.p b/test/unittest/codegen/tst.DPTR.r.p
> index c49fb909..2a7c0701 100755
> --- a/test/unittest/codegen/tst.DPTR.r.p
> +++ b/test/unittest/codegen/tst.DPTR.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
>
> # set flag to look for the clause
> BEGIN { read_clause = 0 }
> diff --git a/test/unittest/codegen/tst.kernel_read_str.r.p b/test/unittest/codegen/tst.kernel_read_str.r.p
> index 76273310..93c46bfa 100755
> --- a/test/unittest/codegen/tst.kernel_read_str.r.p
> +++ b/test/unittest/codegen/tst.kernel_read_str.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
>
> { print; }
> /^Linux version / { ok = 1; exit(0); }
> diff --git a/test/unittest/consumer/tst.merge_ranges_bug25767469.x b/test/unittest/consumer/tst.merge_ranges_bug25767469.x
> index 94239b47..7e265f2f 100755
> --- a/test/unittest/consumer/tst.merge_ranges_bug25767469.x
> +++ b/test/unittest/consumer/tst.merge_ranges_bug25767469.x
> @@ -12,7 +12,7 @@
> # often of the form __key.*. If there are few (2-3), the bug is present
> # and this test should not be run.
>
> -nzero=`awk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
> +nzero=`gawk '/ 0 /; / _end$/ || / __brk_limit$/ {exit(0);}' /proc/kallmodsyms | wc -l`
>
> if [[ $nzero -lt 20 ]]; then
> echo "unpatched kernel? /proc/kallmodsyms symbol sizes look suspicious"
> diff --git a/test/unittest/cpc/tst.allcpus.sh b/test/unittest/cpc/tst.allcpus.sh
> index 94304801..1a09267b 100755
> --- a/test/unittest/cpc/tst.allcpus.sh
> +++ b/test/unittest/cpc/tst.allcpus.sh
> @@ -28,9 +28,9 @@ cpc:::cpu_clock-all-1000000000
> tick-2s
> {
> exit(0);
> -}' | awk 'NF != 0 {print}' | sort > dtrace.out
> +}' | gawk 'NF != 0 {print}' | sort > dtrace.out
>
> -awk '/^processor/ {print $3}' /proc/cpuinfo | sort > cpuinfo.out
> +gawk '/^processor/ {print $3}' /proc/cpuinfo | sort > cpuinfo.out
>
> if ! diff -q dtrace.out cpuinfo.out > /dev/null; then
> echo dtrace output
> diff --git a/test/unittest/cpc/tst.args_kernel.sh b/test/unittest/cpc/tst.args_kernel.sh
> index 9d7bb652..81baec47 100755
> --- a/test/unittest/cpc/tst.args_kernel.sh
> +++ b/test/unittest/cpc/tst.args_kernel.sh
> @@ -43,7 +43,7 @@ $dtrace $dt_flags -qn '
> /pid == $target/
> {
> printf("%x %x\n", arg0, arg1);
> - }' -c "$utils/$target $niters" | awk 'NF == 2' | sort | uniq -c > D.out
> + }' -c "$utils/$target $niters" | gawk 'NF == 2' | sort | uniq -c > D.out
> if [[ $? -ne 0 ]]; then
> echo ERROR running DTrace
> cat D.out
> diff --git a/test/unittest/cpc/tst.args_user.sh b/test/unittest/cpc/tst.args_user.sh
> index 16feddf3..73643364 100755
> --- a/test/unittest/cpc/tst.args_user.sh
> +++ b/test/unittest/cpc/tst.args_user.sh
> @@ -18,7 +18,7 @@ cd $tmpfile
> target=workload_user
>
> # dump the loop PCs
> -$utils/workload_analyze_loop.sh $target | awk 'NF == 1' > PCs.txt
> +$utils/workload_analyze_loop.sh $target | gawk 'NF == 1' > PCs.txt
> echo PCs in the loop: `cat PCs.txt`
>
> # determine number of iterations for target number of seconds
> @@ -47,7 +47,7 @@ $dtrace $dt_flags -qn '
> /pid == $target/
> {
> printf("%x %x\n", arg0, arg1);
> - }' -c "$utils/$target $niters" | awk 'NF == 2' | sort | uniq -c > D.out
> + }' -c "$utils/$target $niters" | gawk 'NF == 2' | sort | uniq -c > D.out
> if [[ $? -ne 0 ]]; then
> echo ERROR running DTrace
> cat D.out
> diff --git a/test/unittest/cpc/tst.instructions.sh b/test/unittest/cpc/tst.instructions.sh
> index a4663837..a7fad3e7 100755
> --- a/test/unittest/cpc/tst.instructions.sh
> +++ b/test/unittest/cpc/tst.instructions.sh
> @@ -23,7 +23,7 @@ if [ $niters -lt 0 ]; then
> fi
>
> # determine the number of instructions per loop iteration
> -ninstructions_per_iter=`$utils/workload_analyze_loop.sh workload_user | awk '{print $1; exit 0}'`
> +ninstructions_per_iter=`$utils/workload_analyze_loop.sh workload_user | gawk '{print $1; exit 0}'`
> if [ $ninstructions_per_iter -lt 0 ]; then
> echo could not determine number of instructions per loop
> exit 1
> diff --git a/test/unittest/cpc/tst.list_cpc.sh b/test/unittest/cpc/tst.list_cpc.sh
> index 4455ea49..6b040f11 100755
> --- a/test/unittest/cpc/tst.list_cpc.sh
> +++ b/test/unittest/cpc/tst.list_cpc.sh
> @@ -20,7 +20,7 @@ if [ $? -ne 0 ]; then
> exit 1
> fi
>
> -awk '
> +gawk '
> BEGIN { cpu_clock = task_clock = 0 }
> $2 == "cpc" && index($3, "perf_count_sw_cpu_clock-") { cpu_clock = 1; next }
> $2 == "cpc" && index($3, "perf_count_sw_task_clock-") { task_clock = 1; next }
> diff --git a/test/unittest/disasm/tst.ann-agg.sh b/test/unittest/disasm/tst.ann-agg.sh
> index 3f8e74a4..48ec3706 100755
> --- a/test/unittest/disasm/tst.ann-agg.sh
> +++ b/test/unittest/disasm/tst.ann-agg.sh
> @@ -17,6 +17,6 @@ BEGIN
> @myvar_agg_min = min(myvar_global);
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_agg/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_agg/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-bvar.sh b/test/unittest/disasm/tst.ann-bvar.sh
> index 1986de66..6dc43424 100755
> --- a/test/unittest/disasm/tst.ann-bvar.sh
> +++ b/test/unittest/disasm/tst.ann-bvar.sh
> @@ -47,6 +47,6 @@ sdt:task::task_rename
> trace(walltimestamp);
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_bvar/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_bvar/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-endian.sh b/test/unittest/disasm/tst.ann-endian.sh
> index df3ac9c1..2bba127a 100755
> --- a/test/unittest/disasm/tst.ann-endian.sh
> +++ b/test/unittest/disasm/tst.ann-endian.sh
> @@ -16,7 +16,7 @@ sdt:task::task_rename
> htonll(1234);
> }
> ' 2>&1 | \
> - awk '/ tobe / {
> + gawk '/ tobe / {
> sub(/^[^:]+: /, "");
> sub(/^dc [0-9] /, "dc X ");
> sub(/%r[0-9],/, "%rX,");
> diff --git a/test/unittest/disasm/tst.ann-gvar-agg.sh b/test/unittest/disasm/tst.ann-gvar-agg.sh
> index 81f1c511..1b6ece91 100755
> --- a/test/unittest/disasm/tst.ann-gvar-agg.sh
> +++ b/test/unittest/disasm/tst.ann-gvar-agg.sh
> @@ -17,6 +17,6 @@ BEGIN
> myvar_global = 0xdeadbeef;
> exit(0);
> }
> -' 2>&1 | grep -A4 deadbeef | awk '/myvar_/ {print $NF}'
> +' 2>&1 | grep -A4 deadbeef | gawk '/myvar_/ {print $NF}'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-gvar-assoc.sh b/test/unittest/disasm/tst.ann-gvar-assoc.sh
> index 6690967d..4528be96 100755
> --- a/test/unittest/disasm/tst.ann-gvar-assoc.sh
> +++ b/test/unittest/disasm/tst.ann-gvar-assoc.sh
> @@ -17,6 +17,6 @@ BEGIN
> trace(ld[5]);
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-js-neg.sh b/test/unittest/disasm/tst.ann-js-neg.sh
> index 0914d3fe..6b266e83 100755
> --- a/test/unittest/disasm/tst.ann-js-neg.sh
> +++ b/test/unittest/disasm/tst.ann-js-neg.sh
> @@ -14,7 +14,7 @@ BEGIN, syscall::write:return
> exit(0);
> }
> ' 2>&1 | \
> - awk '/js[a-z]+/ {
> + gawk '/js[a-z]+/ {
> sub(/^[^:]+: /, "");
> sub(/ +!.*$/, "");
> sub(/ [0-9a-f]{4} /, " XXXX ");
> diff --git a/test/unittest/disasm/tst.ann-reg-spill.sh b/test/unittest/disasm/tst.ann-reg-spill.sh
> index 16786947..bfcebaaf 100755
> --- a/test/unittest/disasm/tst.ann-reg-spill.sh
> +++ b/test/unittest/disasm/tst.ann-reg-spill.sh
> @@ -22,6 +22,6 @@ BEGIN
> i = 9;
> trace(++a + (++b + (++c + (++d + (++e + (++f + (++g + (++h + ++i))))))));
> exit(0);
> -}' 2>&1 | awk '/! (spill|restore)/ { sub(/^[^:]+: /, ""); print; next; }
> +}' 2>&1 | gawk '/! (spill|restore)/ { sub(/^[^:]+: /, ""); print; next; }
> { s = $0; }
> END { print s; }'
> diff --git a/test/unittest/disasm/tst.ann-str_assoc.sh b/test/unittest/disasm/tst.ann-str_assoc.sh
> index 05d42705..6f36d5d2 100755
> --- a/test/unittest/disasm/tst.ann-str_assoc.sh
> +++ b/test/unittest/disasm/tst.ann-str_assoc.sh
> @@ -14,6 +14,6 @@ BEGIN
> CheckVariable[1234] = "abc";
> trace(CheckVariable[1234]);
> }
> -' 2>&1 | awk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-str_gvar.sh b/test/unittest/disasm/tst.ann-str_gvar.sh
> index 6b2d4d52..74f6b6a6 100755
> --- a/test/unittest/disasm/tst.ann-str_gvar.sh
> +++ b/test/unittest/disasm/tst.ann-str_gvar.sh
> @@ -14,7 +14,7 @@ BEGIN
> CheckVariable = "abc";
> trace(CheckVariable);
> }
> -' 2>&1 | awk '/ CheckV/ {
> +' 2>&1 | gawk '/ CheckV/ {
> sub(/^[^:]+: /, ""); # strip line number
>
> gsub(/%r[0-9]/, "%rX"); # hide reg numbers
> diff --git a/test/unittest/disasm/tst.ann-str_lvar.sh b/test/unittest/disasm/tst.ann-str_lvar.sh
> index 2708dab3..d80c0c99 100755
> --- a/test/unittest/disasm/tst.ann-str_lvar.sh
> +++ b/test/unittest/disasm/tst.ann-str_lvar.sh
> @@ -14,7 +14,7 @@ BEGIN
> this->CheckVariable = "abc";
> trace(this->CheckVariable);
> }
> -' 2>&1 | awk '/this->CheckV/ {
> +' 2>&1 | gawk '/this->CheckV/ {
> sub(/^[^:]+: /, ""); # strip line number
>
> gsub(/%r[0-9]/, "%rX"); # hide reg numbers
> diff --git a/test/unittest/disasm/tst.ann-str_tvar.sh b/test/unittest/disasm/tst.ann-str_tvar.sh
> index ebbdf8be..b5d42a82 100755
> --- a/test/unittest/disasm/tst.ann-str_tvar.sh
> +++ b/test/unittest/disasm/tst.ann-str_tvar.sh
> @@ -14,6 +14,6 @@ BEGIN
> self->CheckVariable = "abc";
> trace(self->CheckVariable);
> }
> -' 2>&1 | awk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-strconst-strtab.sh b/test/unittest/disasm/tst.ann-strconst-strtab.sh
> index 76a65604..fdbe0203 100755
> --- a/test/unittest/disasm/tst.ann-strconst-strtab.sh
> +++ b/test/unittest/disasm/tst.ann-strconst-strtab.sh
> @@ -22,7 +22,7 @@ BEGIN
> exit(0);
> }
> ' 2>&1 | \
> - awk '/^Disassembly of/ {
> + gawk '/^Disassembly of/ {
> kind = $3;
> next;
> }
> diff --git a/test/unittest/disasm/tst.ann-strconst.sh b/test/unittest/disasm/tst.ann-strconst.sh
> index 81e1268c..7ddaee42 100755
> --- a/test/unittest/disasm/tst.ann-strconst.sh
> +++ b/test/unittest/disasm/tst.ann-strconst.sh
> @@ -15,7 +15,7 @@ BEGIN
> exit(0);
> }
> ' 2>&1 | \
> - awk '/ ! "strconst"/ {
> + gawk '/ ! "strconst"/ {
> sub(/^[^:]+: /, "");
> sub(/^07 [0-9] /, "07 X ");
> sub(/[0-9a-f]{8} add/, "XXXXXXXX add");
> diff --git a/test/unittest/disasm/tst.ann-tramp-lvar.sh b/test/unittest/disasm/tst.ann-tramp-lvar.sh
> index 03f67ad6..3f25f4b6 100755
> --- a/test/unittest/disasm/tst.ann-tramp-lvar.sh
> +++ b/test/unittest/disasm/tst.ann-tramp-lvar.sh
> @@ -14,7 +14,7 @@ io:::start
> {
> exit(0);
> }
> -' 2>&1 | awk '/this->/ {
> +' 2>&1 | gawk '/this->/ {
> sub(/^[^:]+: /, "");
>
> gsub(/%r[0-9]/, "%rX");
> diff --git a/test/unittest/disasm/tst.ann-tramp-tvar.sh b/test/unittest/disasm/tst.ann-tramp-tvar.sh
> index c66e264c..a36dcff9 100755
> --- a/test/unittest/disasm/tst.ann-tramp-tvar.sh
> +++ b/test/unittest/disasm/tst.ann-tramp-tvar.sh
> @@ -14,6 +14,6 @@ io:::wait-done
> {
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-tvar-assoc.sh b/test/unittest/disasm/tst.ann-tvar-assoc.sh
> index 354d8fbe..3b0d6080 100755
> --- a/test/unittest/disasm/tst.ann-tvar-assoc.sh
> +++ b/test/unittest/disasm/tst.ann-tvar-assoc.sh
> @@ -17,6 +17,6 @@ BEGIN
> trace(self->ld[5]);
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_assoc/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-tvar.sh b/test/unittest/disasm/tst.ann-tvar.sh
> index 729e703c..6c47566d 100755
> --- a/test/unittest/disasm/tst.ann-tvar.sh
> +++ b/test/unittest/disasm/tst.ann-tvar.sh
> @@ -16,6 +16,6 @@ BEGIN
> self->three = 42;
> exit(0);
> }
> -' 2>&1 | awk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
> +' 2>&1 | gawk '/ call dt_get_tvar/ { sub(/^[^:]+: /, ""); print; }'
>
> exit $?
> diff --git a/test/unittest/disasm/tst.ann-var.sh b/test/unittest/disasm/tst.ann-var.sh
> index 68a827b6..60063b33 100755
> --- a/test/unittest/disasm/tst.ann-var.sh
> +++ b/test/unittest/disasm/tst.ann-var.sh
> @@ -50,4 +50,4 @@ BEGIN {
> trace(this->CheckVariable_x);
> trace( CheckVariable_Y);
> trace(this->CheckVariable_z);
> -}' |& awk '/ ! (|this->)CheckVariable_/ { print $NF }'
> +}' |& gawk '/ ! (|this->)CheckVariable_/ { print $NF }'
> diff --git a/test/unittest/disasm/tst.vartab-bvar-uregs0.sh b/test/unittest/disasm/tst.vartab-bvar-uregs0.sh
> index 9a37f4bd..41ddce1a 100755
> --- a/test/unittest/disasm/tst.vartab-bvar-uregs0.sh
> +++ b/test/unittest/disasm/tst.vartab-bvar-uregs0.sh
> @@ -23,7 +23,7 @@ sdt:task::task_rename
> trace(uregs[0]);
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/disasm/tst.vartab-bvar.sh b/test/unittest/disasm/tst.vartab-bvar.sh
> index 996cc332..098c1f45 100755
> --- a/test/unittest/disasm/tst.vartab-bvar.sh
> +++ b/test/unittest/disasm/tst.vartab-bvar.sh
> @@ -56,7 +56,7 @@ sdt:task::task_rename
> trace(walltimestamp);
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/dtrace-util/tst.DisOption.sh b/test/unittest/dtrace-util/tst.DisOption.sh
> index 8ed86b53..f473f838 100755
> --- a/test/unittest/dtrace-util/tst.DisOption.sh
> +++ b/test/unittest/dtrace-util/tst.DisOption.sh
> @@ -68,7 +68,7 @@ function run_dtrace() {
> fi
>
> # Avoid differences due to different BOOTTM values.
> - awk '/: 18 [0-9] 0 / && /lddw/ {
> + gawk '/: 18 [0-9] 0 / && /lddw/ {
> sub(/0x[0-9a-f]+/, 0x0);
> sub(/[0-9a-f]{8}/, "00000000");
> print;
> @@ -89,7 +89,7 @@ function run_dtrace() {
> # Avoid differences due to different tgid values in predicates.
> # If we see bpf_get_current_pid_tgid, omit the 3rd line if it's
> # "jne %r0, ..." since the check value will change from run to run.
> - awk '/call bpf_get_current_pid_tgid/ { ncount = 0 }
> + gawk '/call bpf_get_current_pid_tgid/ { ncount = 0 }
> { ncount++ }
> ncount == 3 && /^[ :0-9a-f]* jne *%r0, / { next }
> { print; }' $1.err > $1.tmp
> @@ -133,7 +133,7 @@ for x in 0 1 2 3; do
> touch $x.chk
> done
>
> -awk '
> +gawk '
> BEGIN { f = "/dev/null"; lastlineblank = 0; }
> lastlineblank == 1 {
> # if previous line was blank, see if we should change output file
> diff --git a/test/unittest/dtrace-util/tst.ListProbesModuleClause.sh b/test/unittest/dtrace-util/tst.ListProbesModuleClause.sh
> index e1344f49..24c55acb 100755
> --- a/test/unittest/dtrace-util/tst.ListProbesModuleClause.sh
> +++ b/test/unittest/dtrace-util/tst.ListProbesModuleClause.sh
> @@ -19,6 +19,6 @@
> dtrace=$1
>
> $dtrace $dt_flags -lm vmlinux'/probefunc == "read"/{printf("FOUND");}' \
> -| awk 'NF == 5 && $3 == "vmlinux" { print "success"; exit }'
> +| gawk 'NF == 5 && $3 == "vmlinux" { print "success"; exit }'
>
> exit 0
> diff --git a/test/unittest/error/tst.fault-location.sh b/test/unittest/error/tst.fault-location.sh
> index 8bf04779..714d863b 100755
> --- a/test/unittest/error/tst.fault-location.sh
> +++ b/test/unittest/error/tst.fault-location.sh
> @@ -24,7 +24,7 @@ ERROR
> exit(1);
> }
> ' 2>&1 | \
> - awk -vDTRACEFLT_DIVZERO=4 \
> + gawk -vDTRACEFLT_DIVZERO=4 \
> 'BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/fbtprovider/err.D_ARGS_IDX.void-void.x b/test/unittest/fbtprovider/err.D_ARGS_IDX.void-void.x
> index 64d198ef..35e10c72 100755
> --- a/test/unittest/fbtprovider/err.D_ARGS_IDX.void-void.x
> +++ b/test/unittest/fbtprovider/err.D_ARGS_IDX.void-void.x
> @@ -1,7 +1,7 @@
> #!/bin/bash
>
> # Skip test if FBT probes do not provide argument datatype info.
> -types=`$dtrace -lvn fbt::oops_enter:return | awk '/^[ ]*args\[/ { $1 = ""; print }' | sort -u`
> +types=`$dtrace -lvn fbt::oops_enter:return | gawk '/^[ ]*args\[/ { $1 = ""; print }' | sort -u`
>
> if [[ -z "$types" ]]; then
> echo "FBT probes without args[] type info"
> diff --git a/test/unittest/fbtprovider/err.D_ARGS_IDX.void.x b/test/unittest/fbtprovider/err.D_ARGS_IDX.void.x
> index 47953c7a..46cb9d0d 100755
> --- a/test/unittest/fbtprovider/err.D_ARGS_IDX.void.x
> +++ b/test/unittest/fbtprovider/err.D_ARGS_IDX.void.x
> @@ -1,7 +1,7 @@
> #!/bin/bash
>
> # Skip test if FBT probes do not provide argument datatype info.
> -types=`$dtrace -lvn fbt::exit_creds:return | awk '/^[ ]*args\[/ { $1 = ""; print }' | sort -u`
> +types=`$dtrace -lvn fbt::exit_creds:return | gawk '/^[ ]*args\[/ { $1 = ""; print }' | sort -u`
>
> if [[ -z "$types" ]]; then
> echo "FBT probes without args[] type info"
> diff --git a/test/unittest/funcs/alloca/tst.alloca0-values.sh b/test/unittest/funcs/alloca/tst.alloca0-values.sh
> index fce42423..07b2393a 100755
> --- a/test/unittest/funcs/alloca/tst.alloca0-values.sh
> +++ b/test/unittest/funcs/alloca/tst.alloca0-values.sh
> @@ -25,7 +25,7 @@ BEGIN {
> }
> EOT
>
> -awk '/:BEGIN/ && $2 == $3 && $3 == $4 && $4 == $5 { exit(0); }
> +gawk '/:BEGIN/ && $2 == $3 && $3 == $4 && $4 == $5 { exit(0); }
> /:BEGIN/ { print; exit(1); }' $tmpfile
>
> status=$?
> diff --git a/test/unittest/funcs/tst.rand_inter.sh b/test/unittest/funcs/tst.rand_inter.sh
> index 132611c1..e1d60964 100755
> --- a/test/unittest/funcs/tst.rand_inter.sh
> +++ b/test/unittest/funcs/tst.rand_inter.sh
> @@ -65,7 +65,7 @@ fi
>
> # Now the postprocessing.
>
> -awk '
> +gawk '
> BEGIN {
> nDistributions = noutlier2 = noutlier3 = noutlier4 = 0;
> nbins = 16;
> @@ -172,7 +172,7 @@ if [ $? -ne 0 ]; then
> exit 1
> fi
>
> -n=`awk '/number of iterations/ { print $4 }' $tmpfile`
> +n=`gawk '/number of iterations/ { print $4 }' $tmpfile`
> echo inter-word correlations tested for $n random numbers
> echo success
> rm -f $tmpfile $tmpfile.summary
> diff --git a/test/unittest/funcs/tst.rand_intra.sh b/test/unittest/funcs/tst.rand_intra.sh
> index f086c0d7..8afb124d 100755
> --- a/test/unittest/funcs/tst.rand_intra.sh
> +++ b/test/unittest/funcs/tst.rand_intra.sh
> @@ -46,7 +46,7 @@ fi
>
> # Now the postprocessing.
>
> -awk '
> +gawk '
> BEGIN {
> nDistributions = noutlier2 = noutlier3 = noutlier4 = 0;
> nbins = 16;
> @@ -153,7 +153,7 @@ if [ $? -ne 0 ]; then
> exit 1
> fi
>
> -n=`awk '/upper-bit errors/ { print $8 }' $tmpfile`
> +n=`gawk '/upper-bit errors/ { print $8 }' $tmpfile`
> echo intra-word correlations tested for $n random numbers
> echo success
> rm -f $tmpfile $tmpfile.summary
> diff --git a/test/unittest/io/check_io_probe_args.sh b/test/unittest/io/check_io_probe_args.sh
> index 69b653e1..8e1f5a4c 100755
> --- a/test/unittest/io/check_io_probe_args.sh
> +++ b/test/unittest/io/check_io_probe_args.sh
> @@ -179,7 +179,7 @@ fi
> #
>
> rm -f statname.txt
> -awk 'NF == 23 { print $16, $17, $22 }' $infile | sort | uniq > statname.txt
> +gawk 'NF == 23 { print $16, $17, $22 }' $infile | sort | uniq > statname.txt
> while read mymajor myminor mystatname; do
> read mymajor0 myminor0 <<< $(ls -l /dev | gawk '$NF == "'$mystatname'" { print $(NF-5), $(NF-4) }' | tr ',' ' ')
>
> @@ -212,7 +212,7 @@ gawk '{
> echo "BEGIN { exit(0); }" >> D.d
> echo "ERROR { printf(\"%d nfs\\n\", x) }" >> D.d
>
> -$dtrace $dt_flags -qs D.d | sort | awk 'NF != 0' > majnam.chk
> +$dtrace $dt_flags -qs D.d | sort | gawk 'NF != 0' > majnam.chk
>
> if ! diff majnam.txt majnam.chk > /dev/null; then
> echo " ERROR: major number mismatch with name"
> @@ -257,8 +257,8 @@ fi
>
> gawk 'NF == 23 { print $21, $16 }' $infile | sort | uniq > map-name-to-major.txt
> nmaps=`cat map-name-to-major.txt | wc -l`
> -nnames=`awk '{print $1}' map-name-to-major.txt | sort | uniq | wc -l`
> -nmajor=`awk '{print $2}' map-name-to-major.txt | sort | uniq | wc -l`
> +nnames=`gawk '{print $1}' map-name-to-major.txt | sort | uniq | wc -l`
> +nmajor=`gawk '{print $2}' map-name-to-major.txt | sort | uniq | wc -l`
> if [ $nnames -ne $nmaps -o $nmajor -ne $nmaps ]; then
> echo " ERROR: name-to-major-number is not a one-to-one mapping"
> cat map-name-to-major.txt
> diff --git a/test/unittest/io/tst.local.sh b/test/unittest/io/tst.local.sh
> index 551fcb36..d3dbf171 100755
> --- a/test/unittest/io/tst.local.sh
> +++ b/test/unittest/io/tst.local.sh
> @@ -30,7 +30,7 @@ mkdir $iodir
> test/triggers/io-mount-local.sh $iodir $fstype $fsoptions
>
> # determine the statname
> -mount=`losetup -j $iodir.img | awk 'BEGIN { FS = ":" } ; {print $1}'`
> +mount=`losetup -j $iodir.img | gawk 'BEGIN { FS = ":" } ; {print $1}'`
> statname=`basename $mount`
>
> $dtrace $dt_flags -c "test/triggers/doio.sh $tempfile $filesize test/triggers/io-mount-local.sh $iodir $fstype $fsoptions" -qs /dev/stdin <<EODTRACE
> diff --git a/test/unittest/io/tst.local2.sh b/test/unittest/io/tst.local2.sh
> index c16f288e..685a3ba0 100755
> --- a/test/unittest/io/tst.local2.sh
> +++ b/test/unittest/io/tst.local2.sh
> @@ -39,7 +39,7 @@ dd if=/dev/zero of=$iodir.img bs=1024 count=$((300*1024)) status=none
> mkfs.xfs $iodir.img > /dev/null
> mkdir $iodir
> mount -t xfs -o $fsoptions $iodir.img $iodir
> - devnam=`losetup -j $iodir.img | awk 'BEGIN { FS = ":" } ; {print $1}'`
> + devnam=`losetup -j $iodir.img | gawk 'BEGIN { FS = ":" } ; {print $1}'`
> statname=`basename $devnam`
> $rundt -o log.write -c ./write.sh
>
> @@ -94,18 +94,18 @@ END {
> }
> EOF
>
> -myaddr=`awk '$3 == "xfs_end_bio" {print $1}' /proc/kallsyms`
> +myaddr=`gawk '$3 == "xfs_end_bio" {print $1}' /proc/kallsyms`
> echo check start bytes in log.write with xfs_end_bio address $myaddr
> -awk -v myflags=520 -v nrecflag=1 -v myiodone=$myaddr -f awk.txt log.write
> +gawk -v myflags=520 -v nrecflag=1 -v myiodone=$myaddr -f awk.txt log.write
> if [ $? -ne 0 ]; then
> echo " ERROR: post-processing error log.write"
> cat log.write
> retval=1
> fi
>
> -myaddr=`awk '$3 == "iomap_read_end_io" {print $1}' /proc/kallsyms`
> +myaddr=`gawk '$3 == "iomap_read_end_io" {print $1}' /proc/kallsyms`
> echo check start bytes in log.read with iomap_read_end_io address $myaddr
> -awk -v myflags=460 -v nrecflag=2 -v myiodone=$myaddr -f awk.txt log.read
> +gawk -v myflags=460 -v nrecflag=2 -v myiodone=$myaddr -f awk.txt log.read
> if [ $? -ne 0 ]; then
> echo " ERROR: post-processing error log.read"
> cat log.read
> diff --git a/test/unittest/io/tst.lv-done.r.p b/test/unittest/io/tst.lv-done.r.p
> index c538e345..6b395d65 100755
> --- a/test/unittest/io/tst.lv-done.r.p
> +++ b/test/unittest/io/tst.lv-done.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
> NR == 1 { next; }
> NR == 2 { print "PROBE", $2, $3, $NF; next; }
> /^ *[0-9]+/ { exit; }
> diff --git a/test/unittest/io/tst.nfs2.sh b/test/unittest/io/tst.nfs2.sh
> index 8f5f260a..41a7a465 100755
> --- a/test/unittest/io/tst.nfs2.sh
> +++ b/test/unittest/io/tst.nfs2.sh
> @@ -33,7 +33,7 @@ mkdir $exdir
> mkdir $iodir
> mount -t nfs -o nfsvers=3 127.0.0.1:$exdir $iodir
> $rundt "dd if=/dev/urandom of=$tempfile count=$filesize bs=1 status=none" -o log.write
> - myinode=`stat $tempfile | awk '/ Inode: / {print $4}'`
> + myinode=`stat $tempfile | gawk '/ Inode: / {print $4}'`
> umount $iodir
> # flush caches and remount to force IO
> echo 3 > /proc/sys/vm/drop_caches
> @@ -87,7 +87,7 @@ END {
> EOF
>
> echo check start bytes in log.write
> -awk -v myflags=520 -v spill=4095 -f awk.txt log.write
> +gawk -v myflags=520 -v spill=4095 -f awk.txt log.write
> if [ $? -ne 0 ]; then
> echo " ERROR: post-processing error log.write"
> cat log.write
> @@ -95,7 +95,7 @@ if [ $? -ne 0 ]; then
> fi
>
> echo check start bytes in log.read
> -awk -v myflags=460 -v spill=0 -f awk.txt log.read
> +gawk -v myflags=460 -v spill=0 -f awk.txt log.read
> if [ $? -ne 0 ]; then
> echo " ERROR: post-processing error log.read"
> cat log.read
> diff --git a/test/unittest/io/tst.wait.sh b/test/unittest/io/tst.wait.sh
> index 2887908c..016b922e 100755
> --- a/test/unittest/io/tst.wait.sh
> +++ b/test/unittest/io/tst.wait.sh
> @@ -27,7 +27,7 @@ mkdir $iodir
> test/triggers/io-mount-local.sh $iodir $fstype $fsoptions
>
> # determine the statname
> -mount=`losetup -j $iodir.img | awk 'BEGIN { FS = ":" } ; {print $1}'`
> +mount=`losetup -j $iodir.img | gawk 'BEGIN { FS = ":" } ; {print $1}'`
> statname=`basename $mount`
>
> $dtrace $dt_flags -c "test/triggers/doio.sh $tempfile $filesize test/triggers/io-mount-local.sh $iodir $fstype $fsoptions" -qs /dev/stdin <<EODTRACE
> diff --git a/test/unittest/ip/tst.ipv6localicmp.sh b/test/unittest/ip/tst.ipv6localicmp.sh
> index 1807c4f3..79de9603 100755
> --- a/test/unittest/ip/tst.ipv6localicmp.sh
> +++ b/test/unittest/ip/tst.ipv6localicmp.sh
> @@ -32,7 +32,7 @@ local=::1
> /sbin/ip -o route get to $local > /dev/null || exit 67
>
> $dtrace $dt_flags -c "ping6 -q $local -c 3" -qs /dev/stdin <<EOF | \
> - awk '/ip::/ { print $0 }' | sort -n
> + gawk '/ip::/ { print $0 }' | sort -n
> ip:::send
> /args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" &&
> args[5]->ipv6_nexthdr == IPPROTO_ICMPV6/
> diff --git a/test/unittest/ip/tst.ipv6remoteicmp.sh b/test/unittest/ip/tst.ipv6remoteicmp.sh
> index 0b79f889..90fd48b4 100755
> --- a/test/unittest/ip/tst.ipv6remoteicmp.sh
> +++ b/test/unittest/ip/tst.ipv6remoteicmp.sh
> @@ -47,7 +47,7 @@ fi
> nolinkdest="$(printf "%s" "$dest" | sed 's,%.*,,')"
>
> $dtrace $dt_flags -c "ping6 -c 6 $dest" -qs /dev/stdin <<EOF | \
> - awk '/ip:::/ { print $0 }' | sort -n
> + gawk '/ip:::/ { print $0 }' | sort -n
> /*
> * We use a size match to include only things that are big enough to
> * be pings, rather than neighbor solicitations/advertisements.
> diff --git a/test/unittest/lockstat/tst.lv-adaptive-acquire-error.r.p b/test/unittest/lockstat/tst.lv-adaptive-acquire-error.r.p
> index c538e345..6b395d65 100755
> --- a/test/unittest/lockstat/tst.lv-adaptive-acquire-error.r.p
> +++ b/test/unittest/lockstat/tst.lv-adaptive-acquire-error.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
> NR == 1 { next; }
> NR == 2 { print "PROBE", $2, $3, $NF; next; }
> /^ *[0-9]+/ { exit; }
> diff --git a/test/unittest/lquantize/tst.normalize-bug26261502.sh b/test/unittest/lquantize/tst.normalize-bug26261502.sh
> index cab6845f..35c6c685 100755
> --- a/test/unittest/lquantize/tst.normalize-bug26261502.sh
> +++ b/test/unittest/lquantize/tst.normalize-bug26261502.sh
> @@ -57,7 +57,7 @@ if [ "$status" -ne 0 ]; then
> exit $status
> fi
>
> -n=`awk '/ < / {print $2}' $file`
> +n=`gawk '/ < / {print $2}' $file`
> if [ "$n" -ne 9 ]; then
> echo $tst: lowest-bucket name should be '"< 9"' but is '"< '$n'"'
> cat $file
> diff --git a/test/unittest/misc/tst.parser1.sh b/test/unittest/misc/tst.parser1.sh
> index 14bf28a6..aebd41e7 100755
> --- a/test/unittest/misc/tst.parser1.sh
> +++ b/test/unittest/misc/tst.parser1.sh
> @@ -78,7 +78,7 @@ EOF
>
> # Check results.
>
> -awk '
> +gawk '
> # Look for the BEGIN clause.
> /PDESC :::BEGIN / {
> # Print until we get the next clause.
> diff --git a/test/unittest/misc/tst.parser2.sh b/test/unittest/misc/tst.parser2.sh
> index e9ad1c5c..6c2616ce 100755
> --- a/test/unittest/misc/tst.parser2.sh
> +++ b/test/unittest/misc/tst.parser2.sh
> @@ -82,7 +82,7 @@ EOF
>
> # Check results.
>
> -awk '
> +gawk '
> # Look for the BEGIN clause.
> /PDESC :::BEGIN / {
> # Print until we get the next clause.
> diff --git a/test/unittest/misc/tst.parser4.sh b/test/unittest/misc/tst.parser4.sh
> index 13701d8f..65f441c8 100755
> --- a/test/unittest/misc/tst.parser4.sh
> +++ b/test/unittest/misc/tst.parser4.sh
> @@ -82,7 +82,7 @@ EOF
>
> # Check results.
>
> -awk '
> +gawk '
> # Look for the BEGIN clause.
> /PDESC :::BEGIN / {
> # Print until we get the next clause.
> diff --git a/test/unittest/options/err.ctfpath.sh b/test/unittest/options/err.ctfpath.sh
> index c629624c..9a4aa812 100755
> --- a/test/unittest/options/err.ctfpath.sh
> +++ b/test/unittest/options/err.ctfpath.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -xdebug -xctfpath=/dev/null -n 'BEGIN { exit(0); }' |&
> - awk '/Cannot open CTF archive \/dev\/null/ {
> + gawk '/Cannot open CTF archive \/dev\/null/ {
> sub(/^[^:]+: /, "");
> sub(/:.*$/, "");
> print;
> diff --git a/test/unittest/options/tst.S.sh b/test/unittest/options/tst.S.sh
> index 3d5e057d..5e2a9135 100755
> --- a/test/unittest/options/tst.S.sh
> +++ b/test/unittest/options/tst.S.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -S -n 'BEGIN { exit(0); }' 2>&1 | \
> - awk '{ print; }
> + gawk '{ print; }
> /^Disassembly of clause :::BEGIN/ { hdr = 1; next; }
> /^[0-9]{4} [0-9]{5}: [0-9a-f]{2} / { ins++; next; }
> END {
> diff --git a/test/unittest/options/tst.core.sh b/test/unittest/options/tst.core.sh
> index 18727c6a..df1b1bbd 100755
> --- a/test/unittest/options/tst.core.sh
> +++ b/test/unittest/options/tst.core.sh
> @@ -10,7 +10,7 @@ dtrace=$1
>
> $dtrace $dt_flags -xcore -n 'BEGIN { exit(0); }'
> file core | tee /dev/stderr | \
> - awk 'BEGIN { rc = 1; }
> + gawk 'BEGIN { rc = 1; }
> /ELF/ && /core file/ && /dtrace/ { rc = 0; next; }
> END { exit(rc); }'
> rc=$?
> diff --git a/test/unittest/options/tst.cppargs.sh b/test/unittest/options/tst.cppargs.sh
> index 9f60b162..043dae4e 100755
> --- a/test/unittest/options/tst.cppargs.sh
> +++ b/test/unittest/options/tst.cppargs.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -xcppargs='-H -dM' -Cs /dev/stdin << EOT 2>&1 | \
> - awk '/^\.+/ && /\.h$/ { cnt++; }
> + gawk '/^\.+/ && /\.h$/ { cnt++; }
> /invalid control directive: #define/ { cnt = -cnt; }
> { print; }
> END { exit(cnt < 0 ? 0 : 1); }'
> diff --git a/test/unittest/options/tst.cpphdrs.sh b/test/unittest/options/tst.cpphdrs.sh
> index b3362c74..22025c4a 100755
> --- a/test/unittest/options/tst.cpphdrs.sh
> +++ b/test/unittest/options/tst.cpphdrs.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -xcpphdrs -Cs /dev/stdin << EOT 2>&1 | \
> - awk '/^\.+/ && /\.h$/ { cnt++; }
> + gawk '/^\.+/ && /\.h$/ { cnt++; }
> { print; }
> END { exit(cnt > 0 ? 0 : 1); }'
> #include <linux/posix_types.h>
> diff --git a/test/unittest/options/tst.cpu-BEGIN.sh b/test/unittest/options/tst.cpu-BEGIN.sh
> index b62fdc23..1fbdab41 100755
> --- a/test/unittest/options/tst.cpu-BEGIN.sh
> +++ b/test/unittest/options/tst.cpu-BEGIN.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # Pick a CPU at random.
> -cpulist=( `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> +cpulist=( `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> ncpus=${#cpulist[@]}
> cpu0=${cpulist[$((RANDOM % $ncpus))]}
>
> diff --git a/test/unittest/options/tst.cpu-END.sh b/test/unittest/options/tst.cpu-END.sh
> index 4e19c54b..52b8ed4e 100755
> --- a/test/unittest/options/tst.cpu-END.sh
> +++ b/test/unittest/options/tst.cpu-END.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # Pick a CPU at random.
> -cpulist=( `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> +cpulist=( `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> ncpus=${#cpulist[@]}
> cpu0=${cpulist[$((RANDOM % $ncpus))]}
>
> diff --git a/test/unittest/options/tst.cpu-cpc.sh b/test/unittest/options/tst.cpu-cpc.sh
> index c5778a66..e839a753 100755
> --- a/test/unittest/options/tst.cpu-cpc.sh
> +++ b/test/unittest/options/tst.cpu-cpc.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # Pick a CPU at random.
> -cpulist=( `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> +cpulist=( `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> ncpus=${#cpulist[@]}
> cpu0=${cpulist[$((RANDOM % $ncpus))]}
>
> diff --git a/test/unittest/options/tst.cpu-profile.sh b/test/unittest/options/tst.cpu-profile.sh
> index 9efe12db..ab437aca 100755
> --- a/test/unittest/options/tst.cpu-profile.sh
> +++ b/test/unittest/options/tst.cpu-profile.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # Pick a CPU at random.
> -cpulist=( `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> +cpulist=( `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> ncpus=${#cpulist[@]}
> cpu0=${cpulist[$((RANDOM % $ncpus))]}
>
> diff --git a/test/unittest/options/tst.cpu-syscall.sh b/test/unittest/options/tst.cpu-syscall.sh
> index 3ebb585c..401839d5 100755
> --- a/test/unittest/options/tst.cpu-syscall.sh
> +++ b/test/unittest/options/tst.cpu-syscall.sh
> @@ -101,7 +101,7 @@ fi
> # Get CPU list and form expected-results file.
> #
>
> -cpulist=`awk '/^processor[ ]: [0-9]*$/ { print $3 }' /proc/cpuinfo`
> +cpulist=`gawk '/^processor[ ]: [0-9]*$/ { print $3 }' /proc/cpuinfo`
> echo $cpulist
>
> echo > expect.txt
> diff --git a/test/unittest/options/tst.cpu-tick.sh b/test/unittest/options/tst.cpu-tick.sh
> index 88163acc..5a4a5ed1 100755
> --- a/test/unittest/options/tst.cpu-tick.sh
> +++ b/test/unittest/options/tst.cpu-tick.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> # Pick a CPU at random.
> -cpulist=( `awk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> +cpulist=( `gawk '/^processor[ ]*: [0-9]*$/ {print $3}' /proc/cpuinfo` )
> ncpus=${#cpulist[@]}
> cpu0=${cpulist[$((RANDOM % $ncpus))]}
>
> diff --git a/test/unittest/options/tst.ctfpath.sh b/test/unittest/options/tst.ctfpath.sh
> index 9382a6e1..eb7a64d9 100755
> --- a/test/unittest/options/tst.ctfpath.sh
> +++ b/test/unittest/options/tst.ctfpath.sh
> @@ -12,7 +12,7 @@ dtrace=$1
> # First determine the location of the vmlinux CTF archive.
> #
> ctf=`$dtrace $dt_flags -xdebug |&
> - awk '/Loaded shared CTF from/ { $0 = $NF; sub(/\.$/, ""); print; }'`
> + gawk '/Loaded shared CTF from/ { $0 = $NF; sub(/\.$/, ""); print; }'`
>
> $dtrace $dt_flags -xctfpath=$ctf -n 'BEGIN { exit(0); }'
>
> diff --git a/test/unittest/options/tst.ctypes.sh b/test/unittest/options/tst.ctypes.sh
> index 7b3c318c..30a6c9b1 100755
> --- a/test/unittest/options/tst.ctypes.sh
> +++ b/test/unittest/options/tst.ctypes.sh
> @@ -22,14 +22,14 @@ if objdump --help | grep ctf >/dev/null; then
> fi
>
> objdump --ctf=.ctf $tmpdir/ctypes.o | \
> - awk '/CTF_VERSION/ { found = 1; next; }
> + gawk '/CTF_VERSION/ { found = 1; next; }
> found && $1 ~ /0x[0-9A-Fa-f]+:/ { cnt++; next; }
> END { print "C CTF data" (found ? " " : " NOT ") "found";
> exit(cnt > 0 ? 0 : 1); }'
> rc=$?
> else
> ctf_dump $tmpdir/ctypes.ctf | \
> - awk '/CTF file:/ { found = 1; next; }
> + gawk '/CTF file:/ { found = 1; next; }
> found && /ID [0-9A-Fa-f]+:/ { cnt++; next; }
> END { print "C CTF data" (found ? " " : " NOT ") "found";
> exit(cnt > 0 ? 0 : 1); }'
> diff --git a/test/unittest/options/tst.debug.sh b/test/unittest/options/tst.debug.sh
> index 0af09155..a0cfc339 100755
> --- a/test/unittest/options/tst.debug.sh
> +++ b/test/unittest/options/tst.debug.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -xdebug -n 'BEGIN { exit(0); }' 2>&1 | \
> - awk '$2 == "DEBUG" && int($3) > 0 {
> + gawk '$2 == "DEBUG" && int($3) > 0 {
> cnt[$1]++;
> }
> END {
> diff --git a/test/unittest/options/tst.dtypes.sh b/test/unittest/options/tst.dtypes.sh
> index d6b444e7..441de098 100755
> --- a/test/unittest/options/tst.dtypes.sh
> +++ b/test/unittest/options/tst.dtypes.sh
> @@ -22,14 +22,14 @@ if objdump --help | grep ctf >/dev/null; then
> fi
>
> objdump --ctf=.ctf $tmpdir/dtypes.o | \
> - awk '/CTF_VERSION/ { found = 1; next; }
> + gawk '/CTF_VERSION/ { found = 1; next; }
> found && $1 ~ /0x[0-9A-Fa-f]+:/ { cnt++; next; }
> END { print "D CTF data" (found ? " " : " NOT ") "found";
> exit(cnt > 0 ? 0 : 1); }'
> rc=$?
> else
> ctf_dump $tmpdir/dtypes.ctf | \
> - awk '/CTF file:/ { found = 1; next; }
> + gawk '/CTF file:/ { found = 1; next; }
> found && /ID [0-9A-Fa-f]+:/ { cnt++; next; }
> END { print "D CTF data" (found ? " " : " NOT ") "found";
> exit(cnt > 0 ? 0 : 1); }'
> diff --git a/test/unittest/options/tst.knodefs.sh b/test/unittest/options/tst.knodefs.sh
> index 791a51ee..ab9f619e 100755
> --- a/test/unittest/options/tst.knodefs.sh
> +++ b/test/unittest/options/tst.knodefs.sh
> @@ -10,7 +10,7 @@ dtrace=$1
>
> $dtrace $dt_flags -xlinkmode=dynamic -xknodefs \
> -Sn 'BEGIN { trace((string)&`linux_banner); exit(0); }' 2>&1 | \
> - awk '/^KREL/ {
> + gawk '/^KREL/ {
> print;
> while (getline == 1) {
> if (NF == 0)
> diff --git a/test/unittest/options/tst.linktype.sh b/test/unittest/options/tst.linktype.sh
> index 25bcaae0..e1ac9545 100755
> --- a/test/unittest/options/tst.linktype.sh
> +++ b/test/unittest/options/tst.linktype.sh
> @@ -61,7 +61,7 @@ function mytest() {
> fi
>
> # report whether the file format is recognized
> - objdump --file-headers prov.o |& awk '
> + objdump --file-headers prov.o |& gawk '
> /format not recognized/ {
> print "objdump does NOT recognize file format";
> exit(0);
> diff --git a/test/unittest/options/tst.modpath.sh b/test/unittest/options/tst.modpath.sh
> index 0f269123..7060a716 100755
> --- a/test/unittest/options/tst.modpath.sh
> +++ b/test/unittest/options/tst.modpath.sh
> @@ -53,9 +53,9 @@ fi
> # nbasic and nfinal should be substantial and likely identical (but
> # we allow a generous tolerance).
>
> -nbasic=`awk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' basic.out | wc -l`
> -nempty=`awk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' empty.out | wc -l`
> -nfinal=`awk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' final.out | wc -l`
> +nbasic=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' basic.out | wc -l`
> +nempty=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' empty.out | wc -l`
> +nfinal=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' final.out | wc -l`
>
> if [ $nempty -ne 0 ]; then
> echo ERROR: empty check turned up some CTF info
> diff --git a/test/unittest/options/tst.modpath.x b/test/unittest/options/tst.modpath.x
> index 6d483535..928f00cc 100755
> --- a/test/unittest/options/tst.modpath.x
> +++ b/test/unittest/options/tst.modpath.x
> @@ -9,7 +9,7 @@ fi
> # Skip test if CTF info is not used for rawtp args[] types. (If all rawtp
> # args[] types are "uint64_t", this is a symptom of our using the back-up
> # trial-and-error method.)
> -types=`$dtrace -lvP rawtp | awk '/^[ ]*args/ { $1 = ""; print }' | sort -u`
> +types=`$dtrace -lvP rawtp | gawk '/^[ ]*args/ { $1 = ""; print }' | sort -u`
> if [ "$types" == " uint64_t" ]; then
> echo "not using CTF for rawtp args types"
> exit 2
> diff --git a/test/unittest/options/tst.strip.sh b/test/unittest/options/tst.strip.sh
> index 2378b1a8..4df78ca5 100755
> --- a/test/unittest/options/tst.strip.sh
> +++ b/test/unittest/options/tst.strip.sh
> @@ -69,8 +69,8 @@ $objdump >& out.default.txt
> # but not in the stripped case -- but here we settle for the stripped
> # case simply being smaller than the default case.
>
> -nbytes_stripped=`wc -c out.stripped.txt | awk '{print $1}'`
> -nbytes_default=`wc -c out.default.txt | awk '{print $1}'`
> +nbytes_stripped=`wc -c out.stripped.txt | gawk '{print $1}'`
> +nbytes_default=`wc -c out.default.txt | gawk '{print $1}'`
>
> echo "number of bytes:"
> echo " stripped: $nbytes_stripped"
> diff --git a/test/unittest/options/tst.switchrate.sh b/test/unittest/options/tst.switchrate.sh
> index e47d78d9..0090caff 100755
> --- a/test/unittest/options/tst.switchrate.sh
> +++ b/test/unittest/options/tst.switchrate.sh
> @@ -21,7 +21,7 @@ for nexpect in 1 16; do
> # Time it. Round to the nearest number of seconds with int(t+0.5).
> nactual=`/usr/bin/time -f "%e" \
> $dtrace -xswitchrate=${nexpect}sec -qn 'BEGIN { exit(0) }' \
> - |& awk 'NF != 0 {print int($1 + 0.5)}'`
> + |& gawk 'NF != 0 {print int($1 + 0.5)}'`
>
> # Check the actual number of seconds to the expected value.
> # Actually, the actual time might be a few seconds longer than expected.
> diff --git a/test/unittest/options/tst.verbose.sh b/test/unittest/options/tst.verbose.sh
> index b9e1bdef..90ab5a62 100755
> --- a/test/unittest/options/tst.verbose.sh
> +++ b/test/unittest/options/tst.verbose.sh
> @@ -9,7 +9,7 @@
> dtrace=$1
>
> $dtrace $dt_flags -xverbose -n 'BEGIN { exit(0); }' 2>&1 | \
> - awk '{ print; }
> + gawk '{ print; }
> /^Disassembly of clause :::BEGIN/ { hdr = 1; next; }
> /^[0-9]{4} [0-9]{5}: [0-9a-f]{2} / { ins++; next; }
> END {
> diff --git a/test/unittest/options/tst.version.sh b/test/unittest/options/tst.version.sh
> index cd069aa7..ffffcdd8 100755
> --- a/test/unittest/options/tst.version.sh
> +++ b/test/unittest/options/tst.version.sh
> @@ -8,7 +8,7 @@
>
> dtrace=$1
>
> -myversion=`$dtrace $dt_flags -V | awk '{ print $NF }'`
> +myversion=`$dtrace $dt_flags -V | gawk '{ print $NF }'`
> echo version is $myversion
>
> $dtrace $dt_flags -xversion=$myversion -qn 'BEGIN { exit(0) }'
> diff --git a/test/unittest/pid/tst.offsets.sh b/test/unittest/pid/tst.offsets.sh
> index 63344698..a8070a54 100755
> --- a/test/unittest/pid/tst.offsets.sh
> +++ b/test/unittest/pid/tst.offsets.sh
> @@ -263,7 +263,7 @@ END {
> if [ $? -ne 0 ]; then
> cat D.out
> cat pcs.out
> - echo ERROR: awk postprocess
> + echo ERROR: gawk postprocess
> exit 1
> fi
>
> diff --git a/test/unittest/pid/tst.probemod.sh b/test/unittest/pid/tst.probemod.sh
> index ef278b9e..5a6dcdbe 100755
> --- a/test/unittest/pid/tst.probemod.sh
> +++ b/test/unittest/pid/tst.probemod.sh
> @@ -22,7 +22,7 @@ dtrace=$1
> # sleep(1)
> #
> names=`ldd /bin/sleep | \
> - awk '/libc.so/ {
> + gawk '/libc.so/ {
> n = split($1, a, /\./);
> l = a[1];
> s = l;
> diff --git a/test/unittest/printf/tst.wide-bug30404549.sh b/test/unittest/printf/tst.wide-bug30404549.sh
> index 7605a94a..3c3eb650 100755
> --- a/test/unittest/printf/tst.wide-bug30404549.sh
> +++ b/test/unittest/printf/tst.wide-bug30404549.sh
> @@ -17,7 +17,7 @@ fi
> dtrace=$1
>
> # abbreviate output to a simple statement of length. raw output is big (29M)
> -$dtrace -qs /dev/stdin << EOF | awk '{ print length($0); }'
> +$dtrace -qs /dev/stdin << EOF | gawk '{ print length($0); }'
> BEGIN
> {
> printf("%10000000d\n", 1);
> diff --git a/test/unittest/printf/tst.wide.sh b/test/unittest/printf/tst.wide.sh
> index 2c3a3197..479ab8d3 100755
> --- a/test/unittest/printf/tst.wide.sh
> +++ b/test/unittest/printf/tst.wide.sh
> @@ -17,7 +17,7 @@ fi
> dtrace=$1
>
> # abbreviate output, where the raw output of prints is big (29M)
> -$dtrace -qs /dev/stdin << EOF | awk '{
> +$dtrace -qs /dev/stdin << EOF | gawk '{
> if (match($0, " +"))
> printf("%s{%d* }%s\n", substr($0, 1, RSTART - 1),
> RLENGTH, substr($0, RSTART + RLENGTH));
> diff --git a/test/unittest/profile-n/tst.args_kernel.sh b/test/unittest/profile-n/tst.args_kernel.sh
> index c47f699f..e1bd95db 100755
> --- a/test/unittest/profile-n/tst.args_kernel.sh
> +++ b/test/unittest/profile-n/tst.args_kernel.sh
> @@ -38,7 +38,7 @@ $dtrace $dt_flags -qn '
> /pid == $target/
> {
> printf("%x %x\n", arg0, arg1);
> - }' -c "$utils/$target $niters" | awk 'NF == 2' | sort | uniq -c > D.out
> + }' -c "$utils/$target $niters" | gawk 'NF == 2' | sort | uniq -c > D.out
> if [[ $? -ne 0 ]]; then
> echo ERROR running DTrace
> cat D.out
> diff --git a/test/unittest/profile-n/tst.args_user.sh b/test/unittest/profile-n/tst.args_user.sh
> index 1eaadd9e..8d36e569 100755
> --- a/test/unittest/profile-n/tst.args_user.sh
> +++ b/test/unittest/profile-n/tst.args_user.sh
> @@ -18,7 +18,7 @@ cd $tmpfile
> target=workload_user
>
> # dump the loop PCs
> -$utils/workload_analyze_loop.sh $target | awk 'NF == 1' > PCs.txt
> +$utils/workload_analyze_loop.sh $target | gawk 'NF == 1' > PCs.txt
> echo PCs in the loop: `cat PCs.txt`
>
> # determine number of iterations for target number of seconds
> @@ -42,7 +42,7 @@ $dtrace $dt_flags -qn '
> /pid == $target/
> {
> printf("%x %x\n", arg0, arg1);
> - }' -c "$utils/$target $niters" | awk 'NF == 2' | sort | uniq -c > D.out
> + }' -c "$utils/$target $niters" | gawk 'NF == 2' | sort | uniq -c > D.out
> if [[ $? -ne 0 ]]; then
> echo ERROR running DTrace
> cat D.out
> diff --git a/test/unittest/profile-n/tst.ufunc.sh b/test/unittest/profile-n/tst.ufunc.sh
> index 28b7c05b..54090f35 100755
> --- a/test/unittest/profile-n/tst.ufunc.sh
> +++ b/test/unittest/profile-n/tst.ufunc.sh
> @@ -53,7 +53,7 @@ if ! grep -q 'bash`[a-zA-Z_]' $tmpfile; then
> fi
>
> # Check that functions are unique. (Exclude shared libraries and unresolved addresses.)
> -if awk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> +if gawk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> echo ERROR: duplicate ufunc
> status=1
> fi
> diff --git a/test/unittest/profile-n/tst.umod.sh b/test/unittest/profile-n/tst.umod.sh
> index ea4f7ec5..a5b1127f 100755
> --- a/test/unittest/profile-n/tst.umod.sh
> +++ b/test/unittest/profile-n/tst.umod.sh
> @@ -53,7 +53,7 @@ if ! grep -wq 'bash' $tmpfile; then
> fi
>
> # Check that modules are unique. (Exclude shared libraries and unresolved addresses.)
> -if awk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> +if gawk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> echo ERROR: duplicate umod
> status=1
> fi
> diff --git a/test/unittest/profile-n/tst.usym.sh b/test/unittest/profile-n/tst.usym.sh
> index 72ff4fd4..634e633b 100755
> --- a/test/unittest/profile-n/tst.usym.sh
> +++ b/test/unittest/profile-n/tst.usym.sh
> @@ -53,7 +53,7 @@ if ! grep -q 'bash`[a-zA-Z_]' $tmpfile; then
> fi
>
> # Check that symbols are unique. (Exclude shared libraries and unresolved addresses.)
> -if awk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> +if gawk '!/^ *lib/ && !/^ *0x/ {print $1}' $tmpfile | sort | uniq -c | grep -qv " 1 "; then
> echo ERROR: duplicate usym
> status=1
> fi
> diff --git a/test/unittest/providers/rawtp/err.lockmem-too-low.sh b/test/unittest/providers/rawtp/err.lockmem-too-low.sh
> index 760f9821..0c3d9a3c 100755
> --- a/test/unittest/providers/rawtp/err.lockmem-too-low.sh
> +++ b/test/unittest/providers/rawtp/err.lockmem-too-low.sh
> @@ -28,7 +28,7 @@ if $dtrace -xlockmem=1 -n 'BEGIN { exit(0); }' &> /dev/null; then
> fi
>
> $dtrace -xlockmem=1 -lvn rawtp:::sched_process_fork |& \
> - awk 'BEGIN {
> + gawk 'BEGIN {
> err = 0; # lockmem error messages
> CTF = 0; # arg types indicating CTF info
> try = 0; # arg types indicating trial-and-error
> diff --git a/test/unittest/providers/rawtp/tst.lv-sched_process_fork.r.p b/test/unittest/providers/rawtp/tst.lv-sched_process_fork.r.p
> index e83bac90..98aec2cd 100755
> --- a/test/unittest/providers/rawtp/tst.lv-sched_process_fork.r.p
> +++ b/test/unittest/providers/rawtp/tst.lv-sched_process_fork.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
> NR == 1 { next; }
> NR == 2 { print "PROBE", $2, $3, $NF; next; }
> /args\[[0-9]+\]: uint64_t$/ { sub(/:.*$/, ": TYPE-OK"); }
> diff --git a/test/unittest/sched/tst.lv-dequeue.r.p b/test/unittest/sched/tst.lv-dequeue.r.p
> index c538e345..6b395d65 100755
> --- a/test/unittest/sched/tst.lv-dequeue.r.p
> +++ b/test/unittest/sched/tst.lv-dequeue.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
> NR == 1 { next; }
> NR == 2 { print "PROBE", $2, $3, $NF; next; }
> /^ *[0-9]+/ { exit; }
> diff --git a/test/unittest/scripting/tst.egid.sh b/test/unittest/scripting/tst.egid.sh
> index 094731a7..b9f38819 100755
> --- a/test/unittest/scripting/tst.egid.sh
> +++ b/test/unittest/scripting/tst.egid.sh
> @@ -56,7 +56,7 @@ fi
>
> #Get the groupid of the calling process using ps
>
> -groupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null`
> +groupid=`ps -o pid,gid | grep "$$ " | gawk '{print $2}' 2>/dev/null`
> if [ $? -ne 0 ]; then
> echo "unable to get uid of the current process with pid = $$" >&2
> exit 1
> diff --git a/test/unittest/scripting/tst.euid.sh b/test/unittest/scripting/tst.euid.sh
> index 4c7f7d74..fc86182e 100755
> --- a/test/unittest/scripting/tst.euid.sh
> +++ b/test/unittest/scripting/tst.euid.sh
> @@ -48,7 +48,7 @@ EOF
>
> chmod 555 $dfilename
>
> -userid=`ps -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null`
> +userid=`ps -o pid,uid | grep "$$ " | gawk '{print $2}' 2>/dev/null`
> if [ $? -ne 0 ]; then
> print -u2 "unable to get uid of the current process with pid = $$"
> exit 1
> diff --git a/test/unittest/scripting/tst.sid-valid.sh b/test/unittest/scripting/tst.sid-valid.sh
> index 4df1a0d2..c8faf7e8 100755
> --- a/test/unittest/scripting/tst.sid-valid.sh
> +++ b/test/unittest/scripting/tst.sid-valid.sh
> @@ -50,7 +50,7 @@ EOF
>
> chmod 555 $dfilename
>
> -sessionid=`ps -o pid,sid | grep "$$ " | awk '{print $2}' 2>/dev/null`
> +sessionid=`ps -o pid,sid | grep "$$ " | gawk '{print $2}' 2>/dev/null`
> if [ $? -ne 0 ]; then
> echo "unable to get sid of the current process with pid = $$" >&2
> exit 1
> diff --git a/test/unittest/usdt/tst.dlclose1.r.p b/test/unittest/usdt/tst.dlclose1.r.p
> index 5c3b2580..85725f3b 100755
> --- a/test/unittest/usdt/tst.dlclose1.r.p
> +++ b/test/unittest/usdt/tst.dlclose1.r.p
> @@ -1,4 +1,4 @@
> -#!/usr/bin/awk -f
> +#!/usr/bin/gawk -f
> {
> # ignore the specific probe ID or process ID
> # (the script ensures the process ID is consistent)
> diff --git a/test/unittest/ustack/tst.jstack_unprintable-bug26045010.sh b/test/unittest/ustack/tst.jstack_unprintable-bug26045010.sh
> index c5fca2a5..ac3d5852 100755
> --- a/test/unittest/ustack/tst.jstack_unprintable-bug26045010.sh
> +++ b/test/unittest/ustack/tst.jstack_unprintable-bug26045010.sh
> @@ -89,10 +89,10 @@ kill %1
> wait
>
> # check results
> -n=`sed 's/[[:print:]]//g' $file | awk 'BEGIN {x = 0}; NF>0 {x += 1}; END {print x}'`
> +n=`sed 's/[[:print:]]//g' $file | gawk 'BEGIN {x = 0}; NF>0 {x += 1}; END {print x}'`
> if [ $n -gt 0 ]; then
> echo $tst: $n lines have unprintable characters
> - sed 's/[[:print:]]//g' $file | awk 'NF>0'
> + sed 's/[[:print:]]//g' $file | gawk 'NF>0'
> echo "==================== file start"
> cat $file
> echo "==================== file end"
> diff --git a/test/unittest/variables/bvar/tst.curcpu_cpu_id.sh b/test/unittest/variables/bvar/tst.curcpu_cpu_id.sh
> index b3ed129a..c436d4ac 100755
> --- a/test/unittest/variables/bvar/tst.curcpu_cpu_id.sh
> +++ b/test/unittest/variables/bvar/tst.curcpu_cpu_id.sh
> @@ -30,7 +30,7 @@ profile-3 {
> tick-2 {
> exit(0);
> }
> -' | awk '
> +' | gawk '
> BEGIN {
> nevents = 0;
> nerrors = 0;
> diff --git a/test/unittest/variables/bvar/tst.id-valid.sh b/test/unittest/variables/bvar/tst.id-valid.sh
> index c34679f4..aa3b5590 100755
> --- a/test/unittest/variables/bvar/tst.id-valid.sh
> +++ b/test/unittest/variables/bvar/tst.id-valid.sh
> @@ -30,7 +30,7 @@ profile-3 {
> tick-2 {
> exit(0);
> }
> -' | awk '
> +' | gawk '
> BEGIN {
> nevents = 0;
> nerrors = 0;
> diff --git a/test/unittest/variables/bvar/tst.offset-blank.sh b/test/unittest/variables/bvar/tst.offset-blank.sh
> index 3881ca2e..8fe11b4a 100755
> --- a/test/unittest/variables/bvar/tst.offset-blank.sh
> +++ b/test/unittest/variables/bvar/tst.offset-blank.sh
> @@ -22,7 +22,7 @@ BEGIN
> trace(pid);
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-array.sh b/test/unittest/variables/gvar/tst.alignment-array.sh
> index 9422af15..a74666d1 100755
> --- a/test/unittest/variables/gvar/tst.alignment-array.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-array.sh
> @@ -26,7 +26,7 @@ BEGIN
> var[3] = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-char.sh b/test/unittest/variables/gvar/tst.alignment-char.sh
> index ea4b5932..e3d52bef 100755
> --- a/test/unittest/variables/gvar/tst.alignment-char.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-char.sh
> @@ -25,7 +25,7 @@ BEGIN
> var = 0x12;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-int.sh b/test/unittest/variables/gvar/tst.alignment-int.sh
> index 2c948b71..c07ee504 100755
> --- a/test/unittest/variables/gvar/tst.alignment-int.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-int.sh
> @@ -25,7 +25,7 @@ BEGIN
> var = 0x12345678;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-long.sh b/test/unittest/variables/gvar/tst.alignment-long.sh
> index c7dde5f5..262f26b4 100755
> --- a/test/unittest/variables/gvar/tst.alignment-long.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-long.sh
> @@ -25,7 +25,7 @@ BEGIN
> var = 0x1234567887654321ull;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-ptr.sh b/test/unittest/variables/gvar/tst.alignment-ptr.sh
> index 7c82b5ed..b2bf9503 100755
> --- a/test/unittest/variables/gvar/tst.alignment-ptr.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-ptr.sh
> @@ -25,7 +25,7 @@ BEGIN
> var = 0;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-short.sh b/test/unittest/variables/gvar/tst.alignment-short.sh
> index 41f97371..9453556b 100755
> --- a/test/unittest/variables/gvar/tst.alignment-short.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-short.sh
> @@ -25,7 +25,7 @@ BEGIN
> var = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-struct-2.sh b/test/unittest/variables/gvar/tst.alignment-struct-2.sh
> index 2bd18500..db285ab3 100755
> --- a/test/unittest/variables/gvar/tst.alignment-struct-2.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-struct-2.sh
> @@ -26,7 +26,7 @@ BEGIN
> var.w = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.alignment-struct.sh b/test/unittest/variables/gvar/tst.alignment-struct.sh
> index 5c59e12f..2dab1bf7 100755
> --- a/test/unittest/variables/gvar/tst.alignment-struct.sh
> +++ b/test/unittest/variables/gvar/tst.alignment-struct.sh
> @@ -26,7 +26,7 @@ BEGIN
> var.u = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/gvar/tst.undecl-offset.sh b/test/unittest/variables/gvar/tst.undecl-offset.sh
> index e608c860..81c43454 100755
> --- a/test/unittest/variables/gvar/tst.undecl-offset.sh
> +++ b/test/unittest/variables/gvar/tst.undecl-offset.sh
> @@ -24,7 +24,7 @@ BEGIN
> b = a;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-array.sh b/test/unittest/variables/lvar/tst.alignment-array.sh
> index 2b6d115e..4b5b4351 100755
> --- a/test/unittest/variables/lvar/tst.alignment-array.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-array.sh
> @@ -26,7 +26,7 @@ BEGIN
> this->var[3] = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-char.sh b/test/unittest/variables/lvar/tst.alignment-char.sh
> index 320c71d9..0e8e8ca0 100755
> --- a/test/unittest/variables/lvar/tst.alignment-char.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-char.sh
> @@ -25,7 +25,7 @@ BEGIN
> this->var = 0x12;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-int.sh b/test/unittest/variables/lvar/tst.alignment-int.sh
> index f819ab1b..06800d65 100755
> --- a/test/unittest/variables/lvar/tst.alignment-int.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-int.sh
> @@ -25,7 +25,7 @@ BEGIN
> this->var = 0x12345678;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-long.sh b/test/unittest/variables/lvar/tst.alignment-long.sh
> index cf465ae6..6415a079 100755
> --- a/test/unittest/variables/lvar/tst.alignment-long.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-long.sh
> @@ -25,7 +25,7 @@ BEGIN
> this->var = 0x1234567887654321ull;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-ptr.sh b/test/unittest/variables/lvar/tst.alignment-ptr.sh
> index 5a9ccbd2..3f196e75 100755
> --- a/test/unittest/variables/lvar/tst.alignment-ptr.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-ptr.sh
> @@ -25,7 +25,7 @@ BEGIN
> this->var = 0;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-short.sh b/test/unittest/variables/lvar/tst.alignment-short.sh
> index 54b64b8e..db7f9afb 100755
> --- a/test/unittest/variables/lvar/tst.alignment-short.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-short.sh
> @@ -25,7 +25,7 @@ BEGIN
> this->var = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-struct-2.sh b/test/unittest/variables/lvar/tst.alignment-struct-2.sh
> index d970ae6d..f7a2b194 100755
> --- a/test/unittest/variables/lvar/tst.alignment-struct-2.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-struct-2.sh
> @@ -26,7 +26,7 @@ BEGIN
> this->var.w = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/lvar/tst.alignment-struct.sh b/test/unittest/variables/lvar/tst.alignment-struct.sh
> index 065e41ff..ae072fba 100755
> --- a/test/unittest/variables/lvar/tst.alignment-struct.sh
> +++ b/test/unittest/variables/lvar/tst.alignment-struct.sh
> @@ -26,7 +26,7 @@ BEGIN
> this->var.u = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-array.sh b/test/unittest/variables/tvar/tst.alignment-array.sh
> index 05abecd7..6a25087f 100755
> --- a/test/unittest/variables/tvar/tst.alignment-array.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-array.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var[3] = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-char.sh b/test/unittest/variables/tvar/tst.alignment-char.sh
> index d4284399..f7060ba0 100755
> --- a/test/unittest/variables/tvar/tst.alignment-char.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-char.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var = 0x12;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-int.sh b/test/unittest/variables/tvar/tst.alignment-int.sh
> index 48947790..ec6db159 100755
> --- a/test/unittest/variables/tvar/tst.alignment-int.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-int.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var = 0x12345678;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-long.sh b/test/unittest/variables/tvar/tst.alignment-long.sh
> index 2cde5847..9072b89f 100755
> --- a/test/unittest/variables/tvar/tst.alignment-long.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-long.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var = 0x1234567887654321ull;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-ptr.sh b/test/unittest/variables/tvar/tst.alignment-ptr.sh
> index ac179b3c..3b11bda4 100755
> --- a/test/unittest/variables/tvar/tst.alignment-ptr.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-ptr.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var = 0;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-short.sh b/test/unittest/variables/tvar/tst.alignment-short.sh
> index db1cf1b2..c71cece3 100755
> --- a/test/unittest/variables/tvar/tst.alignment-short.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-short.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-struct-2.sh b/test/unittest/variables/tvar/tst.alignment-struct-2.sh
> index 2f9d6dba..9b518608 100755
> --- a/test/unittest/variables/tvar/tst.alignment-struct-2.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-struct-2.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var.w = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/unittest/variables/tvar/tst.alignment-struct.sh b/test/unittest/variables/tvar/tst.alignment-struct.sh
> index 197edd8e..e6907548 100755
> --- a/test/unittest/variables/tvar/tst.alignment-struct.sh
> +++ b/test/unittest/variables/tvar/tst.alignment-struct.sh
> @@ -25,7 +25,7 @@ BEGIN
> self->var.u = 0x1234;
> exit(0);
> }
> -' 2>&1 | awk '
> +' 2>&1 | gawk '
> BEGIN {
> rc = 1;
> }
> diff --git a/test/utils/clean_probes.sh b/test/utils/clean_probes.sh
> index b0337e81..8292b309 100755
> --- a/test/utils/clean_probes.sh
> +++ b/test/utils/clean_probes.sh
> @@ -23,7 +23,7 @@ fi
> echo '==='
> cat ${EVENTS}
> } | \
> - awk -v kfn=${KPROBES} -v ufn=${UPROBES} \
> + gawk -v kfn=${KPROBES} -v ufn=${UPROBES} \
> 'function getTimestamp(dt) {
> cmd = "date +\"%s.%N\"";
> cmd | getline dt;
> diff --git a/test/utils/perf_count_event.sh b/test/utils/perf_count_event.sh
> index 606a18d6..957363e5 100755
> --- a/test/utils/perf_count_event.sh
> +++ b/test/utils/perf_count_event.sh
> @@ -20,7 +20,7 @@ shift
> # If the output is no good, report -1.
> # If the output is time in msec, convert to nsec.
> # Otherwise, just report the count.
> -perf stat -e $event --no-big-num -x\ $utils/$* |& awk '
> +perf stat -e $event --no-big-num -x\ $utils/$* |& gawk '
> /^[^0-9]/ { print -1; exit 1 }
> / msec / { print int(1000000. * $1); exit 0 }
> { print $1; exit 0 }'
> diff --git a/test/utils/workload_analyze_loop.sh b/test/utils/workload_analyze_loop.sh
> index 28f5fb4b..3bbadf78 100755
> --- a/test/utils/workload_analyze_loop.sh
> +++ b/test/utils/workload_analyze_loop.sh
> @@ -13,7 +13,7 @@ if [ ! -e $prog ]; then
> exit 1
> fi
>
> -objdump -d $prog | awk -v myarch=$(uname -m) '
> +objdump -d $prog | gawk -v myarch=$(uname -m) '
> # decide whether to track instructions (which we number n = 1, 2, 3, ...) or not (n < 0)
> # specifically, do not track instructions until we find the disassembly for <main>
> BEGIN { n = -1; }
> --
> 2.46.0
>
next prev parent reply other threads:[~2024-10-12 3:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 20:15 [PATCH 1/6] test: fix missing line continuation in tst.perf-types.sh Sam James
2024-08-29 20:15 ` [PATCH 2/6] test: fix broken shebang in tst.plddGrab32.sh Sam James
2024-10-12 3:30 ` Kris Van Hees
2024-08-29 20:15 ` [PATCH 3/6] test: awk -> gawk where we use strtonum Sam James
2024-10-12 3:30 ` Kris Van Hees
2024-08-29 20:15 ` [PATCH 4/6] test: fix 'CPU' typo Sam James
2024-10-12 3:30 ` Kris Van Hees
2024-08-29 20:15 ` [PATCH 5/6] test: libproc: cater to merged-usr systems Sam James
2024-10-12 3:30 ` Kris Van Hees
2024-08-29 20:15 ` [PATCH 6/6] test: awk -> gawk universally Sam James
2024-10-12 3:31 ` Kris Van Hees [this message]
2024-10-12 3:29 ` [PATCH 1/6] test: fix missing line continuation in tst.perf-types.sh Kris Van Hees
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zwnted8/jHZzG7PB@oracle.com \
--to=kris.van.hees@oracle.com \
--cc=dtrace@lists.linux.dev \
--cc=sam@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.