Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/scripts/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 848 B image not shown  

Quelle  objdump-func   Sprache: unbekannt

 
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Disassemble a single function.
#
# usage: objdump-func <file> <func> [<func> ...]

set -o errexit
set -o nounset

OBJDUMP="${CROSS_COMPILE:-}objdump"

command -v gawk >/dev/null 2>&1 || die "gawk isn't installed"

usage() {
 echo "usage: objdump-func <file> <func> [<func> ...]" >&2
 exit 1
}

[[ $# -lt 2 ]] && usage

OBJ=$1; shift
FUNCS=("$@")

${OBJDUMP} -wdr $OBJ | gawk -M -v _funcs="${FUNCS[*]}" '
 BEGIN { split(_funcs, funcs); }
 /^$/ { func_match=0; }
 /<.*>:/ {
  f = gensub(/.*<(.*)>:/, "\\1", 1);
  for (i in funcs) {
   # match compiler-added suffixes like ".cold", etc
   if (f ~ "^" funcs[i] "(\\..*)?") {
    func_match = 1;
    base = strtonum("0x" $1);
    break;
   }
  }
 }
 {
  if (func_match) {
   addr = strtonum("0x" $1);
   printf("%04x ", addr - base);
   print;
  }
 }'

[ Dauer der Verarbeitung: 0.20 Sekunden  (vorverarbeitet)  ]