#!/bin/sh if [ $# -ne 2 ]; then echo "usage: `basename $0` kernel function+offset" >/dev/stderr exit 1 fi kern=$1 func=`echo $2 | awk -F+ '{print $1}'` off=`echo $2 | awk -F+ '{print $2}'` objdump -d ${kern} | egrep '^[0-9a-f]{8,16} <'${func}'>' | awk '{printf("0x%s\n", $1)}' | xargs -J ADDR printf "%u + %u\n" ADDR $off | bc | xargs printf "0x%x\n" | xargs addr2line -e ${kern}