#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# description: Generic dynamic event - add/remove/test uprobe events
# requires: uprobe_events

if ! which readelf > /dev/null 2>&1 ; then
  echo "No readelf found. skipped."
  exit_unresolved
fi

echo 0 > events/enable
echo > dynamic_events

REALBIN=`readlink -f /bin/sh`
ENTRYPOINT=`readelf -h ${REALBIN} | grep Entry | sed -e 's/[^0]*//'`

echo "p:myevent ${REALBIN}:${ENTRYPOINT}" >> uprobe_events

grep -q myevent uprobe_events
test -d events/uprobes/myevent

echo 1 > events/uprobes/myevent/enable
echo 'ls' | /bin/sh > /dev/null
echo 0 > events/uprobes/myevent/enable
grep -q myevent trace

echo "-:myevent" >> uprobe_events
! grep -q myevent uprobe_events

echo > uprobe_events

clear_trace
