From nobody Fri Oct 3 23:06:00 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5959021B8E7 for ; Sat, 23 Aug 2025 00:33:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755909186; cv=none; b=uMkdSS6gl7wfQsPFmR2HLgHNcWA//3My3af1yJZG6EtAl+EuH6dJPF1JMCpcxpJco98UoUJec7z9ot0pbHGTMMOz+3ArNQ3cZ3w6FYTPVof+5rxxRdbyHeGJfT9FoyqKL/GX2Q2wgfJD+FKRQyWeK3zlNirQByr7dOtNHbFlt/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755909186; c=relaxed/simple; bh=nNl8XeIz7rmdK8TrpkAXR0eNEHS2Szv44iDFgQEBcSY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=gkY9ZKf80NatwujTS0KyrY3zS6iB0duaX72audVPkRpqCMQ1bZsRu4oGG8pciBJytEzwfXoeM+6VAtYN4MgM5sBDildT6uegg13eriNTwLj6YkAYr31iIfGSBAaN1VCJSvTdtCiGy14/dnvgc3i46cpuwBOq81OdjYvGZGQ0TK4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=XJZ4LpZ3; arc=none smtp.client-ip=209.85.216.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="XJZ4LpZ3" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-32326e09c5fso2658123a91.2 for ; Fri, 22 Aug 2025 17:33:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1755909184; x=1756513984; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=L3v3HudEygMo5HfsORW+tvM17Hs5+yg/IP3K1nOGU0U=; b=XJZ4LpZ3OVDrO1OrDUrwH4NmDEclP/VtcXQqO94tMTpRsGEF3dQ0CPVhEaesUA4pFq 3Xs1RWpxj1FaDZv21BJh+cPI3DXHy3TzOQg7Ri/O56KMNN8lV3Yz9Wc/mVb1Qrkm90wV xuP8tr0lnk9yL6An5ANZwfGQWzatadXGZRXs+dCNxVBSNmptpjnvqP362FIbX/kMV9nW CWH/L9OZEyDN2B8xOQfXP8Oyl3Itqlee+VuOKB88L6dFEUgIXcni0c9bsHvUqFnM82OG QSn42YJEqh5r1xoJsWTdt5mVnVxnmeZu5C/Vro6li5iLEA79SesH48C6cAUJ4DbcsRba vfnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755909184; x=1756513984; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L3v3HudEygMo5HfsORW+tvM17Hs5+yg/IP3K1nOGU0U=; b=aWUroGq9is+D/7cTNyMsKEb9Wj2pUAMPH/nB03bMZv7IM9Vtf9s7Ilk6dPLwkImpjG 2MnPguCsan7TJyOl+MM2uDDrfwtNxZXZxaAZbNu64ICPWircadNgmm4mfKCVzk8OSH4j HzqHguPVI8eXA72B/7nvAOLYWDQmw8hHuEf2iTP6U4wn3aiE1KiwHstNSWVLL3R42ZpY HCBUS1ismGnGpT+yPbb6r7q2/pzX83ZhYgpNN+nIJSGiBPLSUqQ+HwmbWjOe9pHDPgJC wL593rSDWGTp6nnB+mTxBHVdEoSb+rDRsSP1p5GbhTCKfV8G3cs8dm0R/KrWATP3qA9H dkDQ== X-Forwarded-Encrypted: i=1; AJvYcCV9HDm98S8tWVlrQt5w/EyNPgtCM+fVzBlTYxwTLvJRuWC+tlpN8dUeU68sgHE2BSkDCVGdIGFuVAipx1s=@vger.kernel.org X-Gm-Message-State: AOJu0YwWy2zuuzp6utR3qlt47b7pjHES2PbgCa039qVIPzpBaDmLGDMn baSZpK18hxwMpe1YRtYqfed2PJuYRs5oViWeB2aVBbc/UkRpMr4i+jo5FI3iQRr+gUw/IkZXnzl l5i2CLSjB8A== X-Google-Smtp-Source: AGHT+IE1SQVBgQ2XyyMCnryqhpVlGOBtpaIhxF+fA8xAn9tAPil+l8IjtrFZbHChPmd7AUiLEKJvuiQxQry1 X-Received: from pjbnw16.prod.google.com ([2002:a17:90b:2550:b0:321:c23e:5e41]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1d06:b0:321:87fa:e1f1 with SMTP id 98e67ed59e1d1-32515ea158cmr6422850a91.22.1755909183684; Fri, 22 Aug 2025 17:33:03 -0700 (PDT) Date: Fri, 22 Aug 2025 17:32:12 -0700 In-Reply-To: <20250823003216.733941-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250823003216.733941-1-irogers@google.com> X-Mailer: git-send-email 2.51.0.rc2.233.g662b1ed5c5-goog Message-ID: <20250823003216.733941-17-irogers@google.com> Subject: [PATCH v5 16/19] perf disasm: Remove disasm_bpf From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Aditya Gupta , "Steinar H. Gunderson" , Charlie Jenkins , Changbin Du , "Masami Hiramatsu (Google)" , James Clark , Kajol Jain , Athira Rajeev , Li Huafei , Dmitry Vyukov , Andi Kleen , Chaitanya S Prakash , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev, Song Liu , bpf@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BPF disassembly was handled in here by libbfd. The LLVM and capstone disassemblers now support BPF JIT disassembly. As libbfd support was removed the functions here no longer did anything remove them and associated error values. Signed-off-by: Ian Rogers --- tools/perf/util/Build | 1 - tools/perf/util/annotate.h | 1 - tools/perf/util/disasm.c | 12 +++--------- tools/perf/util/disasm_bpf.c | 29 ----------------------------- tools/perf/util/disasm_bpf.h | 12 ------------ 5 files changed, 3 insertions(+), 52 deletions(-) delete mode 100644 tools/perf/util/disasm_bpf.c delete mode 100644 tools/perf/util/disasm_bpf.h diff --git a/tools/perf/util/Build b/tools/perf/util/Build index d11625d3bdd4..3e912aadcbfd 100644 --- a/tools/perf/util/Build +++ b/tools/perf/util/Build @@ -14,7 +14,6 @@ perf-util-y +=3D copyfile.o perf-util-y +=3D ctype.o perf-util-y +=3D db-export.o perf-util-y +=3D disasm.o -perf-util-y +=3D disasm_bpf.o perf-util-y +=3D env.o perf-util-y +=3D event.o perf-util-y +=3D evlist.o diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h index 8b5131d257b0..9f96e6d44570 100644 --- a/tools/perf/util/annotate.h +++ b/tools/perf/util/annotate.h @@ -447,7 +447,6 @@ enum symbol_disassemble_errno { __SYMBOL_ANNOTATE_ERRNO__START =3D -10000, =20 SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX =3D __SYMBOL_ANNOTATE_ERRNO__START, - SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF, SYMBOL_ANNOTATE_ERRNO__ARCH_INIT_CPUID_PARSING, SYMBOL_ANNOTATE_ERRNO__ARCH_INIT_REGEXP, SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE, diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c index 54b38dd696fe..f7bba5e1e15a 100644 --- a/tools/perf/util/disasm.c +++ b/tools/perf/util/disasm.c @@ -17,7 +17,6 @@ #include "capstone.h" #include "debug.h" #include "disasm.h" -#include "disasm_bpf.h" #include "dso.h" #include "dwarf-regs.h" #include "env.h" @@ -1231,9 +1230,6 @@ int symbol__strerror_disassemble(struct map_symbol *m= s, int errnum, char *buf, s " --vmlinux vmlinux\n", build_id_msg ?: ""); } break; - case SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF: - scnprintf(buf, buflen, "Please link with binutils's libopcode to enable = BPF annotation"); - break; case SYMBOL_ANNOTATE_ERRNO__ARCH_INIT_REGEXP: scnprintf(buf, buflen, "Problems with arch specific instruction name reg= ular expressions."); break; @@ -1501,11 +1497,9 @@ static int symbol__disassemble_objdump(const char *f= ilename, struct symbol *sym, struct child_process objdump_process; int err; =20 - if (dso__binary_type(dso) =3D=3D DSO_BINARY_TYPE__BPF_PROG_INFO) - return symbol__disassemble_bpf(sym, args); - - if (dso__binary_type(dso) =3D=3D DSO_BINARY_TYPE__BPF_IMAGE) - return symbol__disassemble_bpf_image(sym, args); + if (dso__binary_type(dso) =3D=3D DSO_BINARY_TYPE__BPF_PROG_INFO || + dso__binary_type(dso) =3D=3D DSO_BINARY_TYPE__BPF_IMAGE) + return -1; =20 err =3D asprintf(&command, "%s %s%s --start-address=3D0x%016" PRIx64 diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c deleted file mode 100644 index a891a0b909a7..000000000000 --- a/tools/perf/util/disasm_bpf.c +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only - -#include "util/annotate.h" -#include "util/disasm_bpf.h" -#include "util/symbol.h" -#include -#include - -int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, struct anno= tate_args *args __maybe_unused) -{ - return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF; -} - -int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args= *args) -{ - struct annotation *notes =3D symbol__annotation(sym); - struct disasm_line *dl; - - args->offset =3D -1; - args->line =3D strdup("to be implemented"); - args->line_nr =3D 0; - args->fileloc =3D NULL; - dl =3D disasm_line__new(args); - if (dl) - annotation_line__add(&dl->al, ¬es->src->source); - - zfree(&args->line); - return 0; -} diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h deleted file mode 100644 index 2ecb19545388..000000000000 --- a/tools/perf/util/disasm_bpf.h +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only - -#ifndef __PERF_DISASM_BPF_H -#define __PERF_DISASM_BPF_H - -struct symbol; -struct annotate_args; - -int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args= ); -int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args= *args); - -#endif /* __PERF_DISASM_BPF_H */ --=20 2.51.0.rc2.233.g662b1ed5c5-goog