From nobody Mon Feb 9 07:07:43 2026 Received: from mail-ot1-f73.google.com (mail-ot1-f73.google.com [209.85.210.73]) (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 E3361220685 for ; Tue, 1 Apr 2025 18:25:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531912; cv=none; b=hWJDFO4NyiRxTzVNo7fSLPgsz80h3VV820poqpQKuDh9tLoDCEYhBB20BOFJrLq8PRwkgo+uCMBzknwFvebcFFLrWUPANclYLvHWQVivmKRGo1oV+lIeRc9lel1VScxgLk3fd48rBbjLAupaiQk28Vxb3eBH32n6z8WZ0/AnRCg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531912; c=relaxed/simple; bh=qDrp7dk7UR2vIDZlNdoIiVlhsgl8sqEUeq30Rm4CVOQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=sOhQdlAkmTUUThjjk8NL3ZEkHWu/baCPr+M/Cdi88rPviPS2CsLiqG78Beu6fuuPs7lHI+LQN3Uur3rW823HeTVRPFTcoq3JgjTNRIIU2RAUfENKW/QzEFn9z/N5YRzsMMphznnFf43dWKj6D/FXnhgjmcKSGz6sI6VoEs8nAd4= 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=jHkKoPk3; arc=none smtp.client-ip=209.85.210.73 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="jHkKoPk3" Received: by mail-ot1-f73.google.com with SMTP id 46e09a7af769-72c0050a956so4464993a34.2 for ; Tue, 01 Apr 2025 11:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531905; x=1744136705; 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=O/8NQLM9l0NGLIoAsEqb7s+pejmq1A+sdW/bucy2qKA=; b=jHkKoPk3JY1gJYE2gugJ+bnStU+pC6nzFly5P4QGTorn7+P3vMUV68Xz14GJ4v7gHK tu1GG4YMfKOUx2ZKhMFGNaQju9imJEYtqnMOKzRoHXiuh8ixc5L1+tDuIyjYb1RezWRw VL/v6BdasqSn/KSg5wTycAbH5N97G+kCEAQ2ychU02xeupNTex/+MuchX3Qa2Z7LaXxX LzdMcOGwX6u7/XpxnH7g1njLBia2DI423eUrZWVmU1TlS3vclcet+iMF3VRCFPih5GJe BE/8c7KqZQPh9fH3QAXByOI0zbtJAylicBNBVkhPT7hplOCXf8IJnXCruZJT9e1dTBpZ pOfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531905; x=1744136705; 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=O/8NQLM9l0NGLIoAsEqb7s+pejmq1A+sdW/bucy2qKA=; b=Bm4PwFgab8ynLi71lPCtZqqv5AlSD5ESfHchbHfiu+uBwOxpHFNakr7S26POLP+Ufk SOme/Jnc+O970PrUqnY0lakcwn1LRWhGm6JqlDZ9WmQxAGr5u0isfTZ4pNTpKhCHm4aG gKeWxd7TAeEu4s/m+T4Jja0k9W4r/6KU/ppsPQWYkmX1h0HtLnyADPnqcZ/dxuvhnzU1 99hdMLFocb7g7smfmzKCPY8vdhoRUJw3xSh9aANPXCcWgmU91PDEiKqRa4qxE/9sQXGG 7REt0stlshNnfzis1Asn560P+jq2enGqpEwf0vfKKMVYU/gcts+aJNrf2Du9oj8N7V6E xGWg== X-Forwarded-Encrypted: i=1; AJvYcCWyTvg3bPSQbqmk3s/p1azVENi3GW4M4SY9nV1KaFqUYU/bMG2FvPp1Y8pypjaeeQ006L35xNsR2NhP5JI=@vger.kernel.org X-Gm-Message-State: AOJu0YwciMfZwXsdy3yX7tVY1VHE6c2olo270B0Rb6unGqn1/ugH5Llc Sre9AuDVLw0pcqRp1/nbW7XwEhC7XPYord4uYIHUpWBW39OSar264POIo8AbhEuh9vf9JEUbQUC 22cJ+VA== X-Google-Smtp-Source: AGHT+IHwNaLSyfCZQ9yujF0xXANqRr9YjfymtsJ7oaqSCiXH/SKLc6pr1AzAS4LSQE5X0torr+Wm+aih3zPD X-Received: from oabvr7.prod.google.com ([2002:a05:6871:a0c7:b0:289:2c09:4e10]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6830:388c:b0:72b:8274:7c09 with SMTP id 46e09a7af769-72c6377e191mr9800632a34.4.1743531905060; Tue, 01 Apr 2025 11:25:05 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:12 -0700 In-Reply-To: <20250401182347.3422199-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: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-15-irogers@google.com> Subject: [PATCH v1 14/48] perf jvmti: Silence -Wshorten-64-to-32 warnings From: Ian Rogers To: Yury Norov , Rasmus Villemoes , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , Thomas Gleixner , Darren Hart , Davidlohr Bueso , "=?UTF-8?q?Andr=C3=A9=20Almeida?=" , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Yicong Yang , Jonathan Cameron , Nathan Chancellor , Bill Wendling , Justin Stitt , Josh Poimboeuf , Al Viro , Kyle Meyer , Ben Gainey , Athira Rajeev , Kajol Jain , Aditya Gupta , Eder Zulian , Dapeng Mi , Kuan-Wei Chiu , He Zhe , Dirk Gouders , Brian Geffon , Ravi Bangoria , Howard Chu , Charlie Jenkins , Colin Ian King , Dominique Martinet , Jann Horn , Masahiro Yamada , Arnd Bergmann , Yang Jihong , Dmitry Vyukov , Andi Kleen , Graham Woodward , Ilkka Koskinen , Anshuman Khandual , Zhongqiu Han , Hao Ge , Tengda Wu , Gabriele Monaco , Chun-Tse Shao , Casey Chen , "Dr. David Alan Gilbert" , Li Huafei , "Steinar H. Gunderson" , Levi Yun , Weilin Wang , Thomas Falcon , Thomas Richter , Andrew Kreimer , "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" , Christophe Leroy , Jean-Philippe Romain , Junhao He , "Masami Hiramatsu (Google)" , Xu Yang , Steve Clevenger , Zixian Cai , Stephen Brennan , Yujie Liu , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers --- tools/perf/jvmti/jvmti_agent.c | 6 +++--- tools/perf/util/genelf.c | 2 +- tools/perf/util/jitdump.c | 24 +++++++++++++----------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/tools/perf/jvmti/jvmti_agent.c b/tools/perf/jvmti/jvmti_agent.c index 526dcaf9f079..2e2be9d8a118 100644 --- a/tools/perf/jvmti/jvmti_agent.c +++ b/tools/perf/jvmti/jvmti_agent.c @@ -377,7 +377,7 @@ jvmti_write_code(void *agent, char const *sym, sym_len =3D strlen(sym) + 1; =20 rec.p.id =3D JIT_CODE_LOAD; - rec.p.total_size =3D sizeof(rec) + sym_len; + rec.p.total_size =3D (uint32_t)(sizeof(rec) + sym_len); rec.p.timestamp =3D perf_get_timestamp(); =20 rec.code_size =3D size; @@ -400,7 +400,7 @@ jvmti_write_code(void *agent, char const *sym, */ rec.code_index =3D code_generation++; =20 - ret =3D fwrite_unlocked(&rec, sizeof(rec), 1, fp); + ret =3D (int)fwrite_unlocked(&rec, sizeof(rec), 1, fp); fwrite_unlocked(sym, sym_len, 1, fp); =20 if (code) @@ -454,7 +454,7 @@ jvmti_write_debug_info(void *agent, uint64_t code, */ size +=3D nr_lines * sizeof(struct debug_entry); size +=3D flen; - rec.p.total_size =3D size; + rec.p.total_size =3D (uint32_t)size; =20 /* * If JVM is multi-threaded, multiple concurrent calls to agent diff --git a/tools/perf/util/genelf.c b/tools/perf/util/genelf.c index cdce7f173d00..6da8f3c53f7d 100644 --- a/tools/perf/util/genelf.c +++ b/tools/perf/util/genelf.c @@ -252,7 +252,7 @@ jit_write_elf(int fd, uint64_t load_addr, const char *s= ym, Elf_Shdr *shdr; uint64_t eh_frame_base_offset; char *strsym =3D NULL; - int symlen; + size_t symlen; int retval =3D -1; =20 if (elf_version(EV_CURRENT) =3D=3D EV_NONE) { diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c index 624964f01b5f..874ced77d0a4 100644 --- a/tools/perf/util/jitdump.c +++ b/tools/perf/util/jitdump.c @@ -160,7 +160,7 @@ jit_open(struct jit_buf_desc *jd, const char *name) */ flockfile(jd->in); =20 - ret =3D fread(buf, sizeof(header), 1, jd->in); + ret =3D (int)fread(buf, sizeof(header), 1, jd->in); if (ret !=3D 1) goto error; =20 @@ -226,7 +226,7 @@ jit_open(struct jit_buf_desc *jd, const char *name) bsz =3D bs; buf =3D n; /* read extra we do not know about */ - ret =3D fread(buf, bs - bsz, 1, jd->in); + ret =3D (int)fread(buf, bs - bsz, 1, jd->in); if (ret !=3D 1) goto error; } @@ -274,7 +274,7 @@ jit_get_next_entry(struct jit_buf_desc *jd) /* * file is still locked at this point */ - ret =3D fread(prefix, sizeof(*prefix), 1, jd->in); + ret =3D (int)fread(prefix, sizeof(*prefix), 1, jd->in); if (ret !=3D 1) return NULL; =20 @@ -304,7 +304,7 @@ jit_get_next_entry(struct jit_buf_desc *jd) =20 addr =3D ((void *)jd->buf) + sizeof(*prefix); =20 - ret =3D fread(addr, bs - sizeof(*prefix), 1, jd->in); + ret =3D (int)fread(addr, bs - sizeof(*prefix), 1, jd->in); if (ret !=3D 1) return NULL; =20 @@ -398,7 +398,7 @@ static uint64_t convert_timestamp(struct jit_buf_desc *= jd, uint64_t timestamp) return timestamp; =20 tc.time_shift =3D time_conv->time_shift; - tc.time_mult =3D time_conv->time_mult; + tc.time_mult =3D (unsigned int)time_conv->time_mult; tc.time_zero =3D time_conv->time_zero; =20 /* @@ -443,8 +443,8 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd= , union jr_entry *jr) nspid =3D jr->load.pid; pid =3D jr_entry_pid(jd, jr); tid =3D jr_entry_tid(jd, jr); - csize =3D jr->load.code_size; - usize =3D jd->unwinding_mapped_size; + csize =3D (int)jr->load.code_size; + usize =3D (int)jd->unwinding_mapped_size; addr =3D jr->load.code_addr; sym =3D (void *)((unsigned long)jr + sizeof(jr->load)); code =3D (unsigned long)jr + jr->load.p.total_size - csize; @@ -465,8 +465,10 @@ static int jit_repipe_code_load(struct jit_buf_desc *j= d, union jr_entry *jr) =20 size =3D PERF_ALIGN(size, sizeof(u64)); uaddr =3D (uintptr_t)code; - ret =3D jit_emit_elf(jd, filename, sym, addr, (const void *)uaddr, csize,= jd->debug_data, jd->nr_debug_entries, - jd->unwinding_data, jd->eh_frame_hdr_size, jd->unwinding_size); + ret =3D jit_emit_elf(jd, filename, sym, addr, (const void *)uaddr, csize,= jd->debug_data, + (int)jd->nr_debug_entries, jd->unwinding_data, + (uint32_t)jd->eh_frame_hdr_size, + (uint32_t)jd->unwinding_size); =20 if (jd->debug_data && jd->nr_debug_entries) { zfree(&jd->debug_data); @@ -559,8 +561,8 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd= , union jr_entry *jr) =20 nspid =3D jr->load.pid; pid =3D jr_entry_pid(jd, jr); - tid =3D jr_entry_tid(jd, jr); - usize =3D jd->unwinding_mapped_size; + tid =3D (int)jr_entry_tid(jd, jr); + usize =3D (int)jd->unwinding_mapped_size; idr_size =3D jd->machine->id_hdr_size; =20 /* --=20 2.49.0.504.g3bcea36a83-goog