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