#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# description: Kprobe events - probe points
# requires: kprobe_events

TARGET_FUNC=tracefs_create_dir

dec_addr() { # hexaddr
  printf "%d" "0x"`echo $1 | tail -c 8`
}

set_offs() { # prev target next
  A1=`dec_addr $1`
  A2=`dec_addr $2`
  A3=`dec_addr $3`
  TARGET="0x$2" # an address
  PREV=`expr $A1 - $A2` # offset to previous symbol
  NEXT=+`expr $A3 - $A2` # offset to next symbol
  OVERFLOW=+`printf "0x%x" ${PREV}` # overflow offset to previous symbol
}

# We have to decode symbol addresses to get correct offsets.
# If the offset is not an instruction boundary, it cause -EILSEQ.
set_offs `grep -v __pfx_ /proc/kallsyms | grep -A1 -B1 ${TARGET_FUNC} | cut -f 1 -d " " | xargs`

UINT_TEST=no
# printf "%x" -1 returns (unsigned long)-1.
if [ `printf "%x" -1 | wc -c` != 9 ]; then
  UINT_TEST=yes
fi

echo "p:testprobe ${TARGET_FUNC}" > kprobe_events
echo "p:testprobe ${TARGET}" > kprobe_events
echo "p:testprobe ${TARGET_FUNC}${NEXT}" > kprobe_events
! echo "p:testprobe ${TARGET_FUNC}${PREV}" > kprobe_events
if [ "${UINT_TEST}" = yes ]; then
! echo "p:testprobe ${TARGET_FUNC}${OVERFLOW}" > kprobe_events
fi
