xref: /linux/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_uprobe.tc (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
198f8faeaSMasami Hiramatsu (Google)#!/bin/sh
298f8faeaSMasami Hiramatsu (Google)# SPDX-License-Identifier: GPL-2.0
398f8faeaSMasami Hiramatsu (Google)# description: Generic dynamic event - add/remove/test uprobe events
498f8faeaSMasami Hiramatsu (Google)# requires: uprobe_events
598f8faeaSMasami Hiramatsu (Google)
6*dc4b1658SHeiko Carstensif ! which readelf > /dev/null 2>&1 ; then
7*dc4b1658SHeiko Carstens  echo "No readelf found. skipped."
8*dc4b1658SHeiko Carstens  exit_unresolved
9*dc4b1658SHeiko Carstensfi
10*dc4b1658SHeiko Carstens
1198f8faeaSMasami Hiramatsu (Google)echo 0 > events/enable
1298f8faeaSMasami Hiramatsu (Google)echo > dynamic_events
1398f8faeaSMasami Hiramatsu (Google)
1489ae6438SMasami Hiramatsu (Google)REALBIN=`readlink -f /bin/sh`
15*dc4b1658SHeiko CarstensENTRYPOINT=`readelf -h ${REALBIN} | grep Entry | sed -e 's/[^0]*//'`
1689ae6438SMasami Hiramatsu (Google)
17*dc4b1658SHeiko Carstensecho "p:myevent ${REALBIN}:${ENTRYPOINT}" >> uprobe_events
1898f8faeaSMasami Hiramatsu (Google)
1998f8faeaSMasami Hiramatsu (Google)grep -q myevent uprobe_events
2098f8faeaSMasami Hiramatsu (Google)test -d events/uprobes/myevent
2198f8faeaSMasami Hiramatsu (Google)
2298f8faeaSMasami Hiramatsu (Google)echo 1 > events/uprobes/myevent/enable
2398f8faeaSMasami Hiramatsu (Google)echo 'ls' | /bin/sh > /dev/null
2498f8faeaSMasami Hiramatsu (Google)echo 0 > events/uprobes/myevent/enable
2598f8faeaSMasami Hiramatsu (Google)grep -q myevent trace
2698f8faeaSMasami Hiramatsu (Google)
2798f8faeaSMasami Hiramatsu (Google)echo "-:myevent" >> uprobe_events
2898f8faeaSMasami Hiramatsu (Google)! grep -q myevent uprobe_events
2998f8faeaSMasami Hiramatsu (Google)
3098f8faeaSMasami Hiramatsu (Google)echo > uprobe_events
3198f8faeaSMasami Hiramatsu (Google)
3298f8faeaSMasami Hiramatsu (Google)clear_trace
33