Commit 614f806a authored by Chun-Tse Shao's avatar Chun-Tse Shao Committed by Namhyung Kim
Browse files

perf test: Replace grep perl regexp with awk



perl is not universal on all machines and should be replaced with awk,
which is much more common.

Before:
  $ perf test "probe libc's inet_pton & backtrace it with ping" -v
  --- start ---
  test child forked, pid 145431
  grep: Perl matching not supported in a --disable-perl-regexp build

  FAIL: could not add event
  ---- end(-1) ----
  121: probe libc's inet_pton & backtrace it with ping                 : FAILED!
After:
  $ perf test "probe libc's inet_pton & backtrace it with ping" -v
  121: probe libc's inet_pton & backtrace it with ping                 : Ok

Suggested-by: default avatarIan Rogers <irogers@google.com>
Signed-off-by: default avatarChun-Tse Shao <ctshao@google.com>
Reviewed-by: default avatarJames Clark <james.clark@linaro.org>
Link: https://lore.kernel.org/r/20250620174034.819894-1-ctshao@google.com


[ fold James' suggestion not to escape _ in the event pattern. ]
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent be59dba3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -18,12 +18,13 @@
libc=$(grep -w libc /proc/self/maps | head -1 | sed -r 's/.*[[:space:]](\/.*)/\1/g')
nm -Dg $libc 2>/dev/null | grep -F -q inet_pton || exit 254

event_pattern='probe_libc:inet_pton(\_[[:digit:]]+)?'
event_pattern='probe_libc:inet_pton(_[[:digit:]]+)?'

add_libc_inet_pton_event() {

	event_name=$(perf probe -f -x $libc -a inet_pton 2>&1 | tail -n +2 | head -n -5 | \
			grep -P -o "$event_pattern(?=[[:space:]]\(on inet_pton in $libc\))")
			awk -v ep="$event_pattern" -v l="$libc" '$0 ~ ep && $0 ~ \
			("\\(on inet_pton in " l "\\)") {print $1}')

	if [ $? -ne 0 ] || [ -z "$event_name" ] ; then
		printf "FAIL: could not add event\n"