File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ # SPDX-License-Identifier: GPL-2.0
3
+ #
4
+ # Disassemble a single function.
5
+ #
6
+ # usage: objdump-func <file> <func>
7
+
8
+ set -o errexit
9
+ set -o nounset
10
+
11
+ OBJDUMP=" ${CROSS_COMPILE:- } objdump"
12
+
13
+ command -v gawk > /dev/null 2>&1 || die " gawk isn't installed"
14
+
15
+ usage () {
16
+ echo " usage: objdump-func <file> <func>" >&2
17
+ exit 1
18
+ }
19
+
20
+ [[ $# -lt 2 ]] && usage
21
+
22
+ OBJ=$1 ; shift
23
+ FUNC=$1 ; shift
24
+
25
+ # Secret feature to allow adding extra objdump args at the end
26
+ EXTRA_ARGS=$@
27
+
28
+ # Note this also matches compiler-added suffixes like ".cold", etc
29
+ ${OBJDUMP} -wdr $EXTRA_ARGS $OBJ | gawk -M -v f=$FUNC ' /^$/ { P=0; } $0 ~ "<" f "(\\..*)?>:" { P=1; O=strtonum("0x" $1); } { if (P) { o=strtonum("0x" $1); printf("%04x ", o-O); print $0; } }'
You can’t perform that action at this time.
0 commit comments