1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3# description: Generic dynamic event - add/remove/test uprobe events
4# requires: uprobe_events
5
6if ! which readelf > /dev/null 2>&1 ; then
7  echo "No readelf found. skipped."
8  exit_unresolved
9fi
10
11echo 0 > events/enable
12echo > dynamic_events
13
14REALBIN=`readlink -f /bin/sh`
15ENTRYPOINT=`readelf -h ${REALBIN} | grep Entry | sed -e 's/[^0]*//'`
16
17echo "p:myevent ${REALBIN}:${ENTRYPOINT}" >> uprobe_events
18
19grep -q myevent uprobe_events
20test -d events/uprobes/myevent
21
22echo 1 > events/uprobes/myevent/enable
23echo 'ls' | /bin/sh > /dev/null
24echo 0 > events/uprobes/myevent/enable
25grep -q myevent trace
26
27echo "-:myevent" >> uprobe_events
28! grep -q myevent uprobe_events
29
30echo > uprobe_events
31
32clear_trace
33