summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_uprobe.tc
blob: f2048c24452615f09ed54a1e185001e639c5d049 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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