Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752266AbcLJFQo (ORCPT ); Sat, 10 Dec 2016 00:16:44 -0500 Received: from mail-yw0-f174.google.com ([209.85.161.174]:36191 "EHLO mail-yw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751288AbcLJFQn (ORCPT ); Sat, 10 Dec 2016 00:16:43 -0500 MIME-Version: 1.0 In-Reply-To: <20161130184822.GA15376@mwanda> References: <20161130184822.GA15376@mwanda> From: Stephane Eranian Date: Fri, 9 Dec 2016 21:16:41 -0800 Message-ID: Subject: Re: [bug report] perf jit: add source line info support To: Dan Carpenter Cc: Alexander Shishkin , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1437 Lines: 40 Hi Dan, On Wed, Nov 30, 2016 at 10:48 AM, Dan Carpenter wrote: > Hello Stephane Eranian, > > The patch 598b7c6919c7: "perf jit: add source line info support" from > Nov 30, 2015, leads to the following static checker warning: > > ./tools/perf/util/genelf_debug.c:211 emit_signed_LEB128() > warn: potential left shift more than type allows '57' > > ./tools/perf/util/genelf_debug.c > 202 static void emit_signed_LEB128(struct buffer_ext *be, long data) > 203 { > 204 int more = 1; > 205 int negative = data < 0; > 206 int size = sizeof(long) * CHAR_BIT; > 207 while (more) { > 208 ubyte cur = data & 0x7F; > 209 data >>= 7; > 210 if (negative) > 211 data |= - (1 << (size - 7)); > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > This is a no-op on 64 bit systems. I suspect it's not intentional? > I suspect size should be: size = sizeof(int) * CHAR_BIT; I will test that. > 212 if ((data == 0 && !(cur & 0x40)) || > 213 (data == -1l && (cur & 0x40))) > 214 more = 0; > 215 else > 216 cur |= 0x80; > 217 buffer_ext_add(be, &cur, 1); > 218 } > 219 } > > regards, > dan carpenter