Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3237469pxb; Mon, 25 Jan 2021 10:20:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJxInalJ3rpjJQ0APgnQuVePcLXu1krFzgXO+94kcSO85sSP/EoCi8yQKfygl0LN9PE9PDS5 X-Received: by 2002:a05:6402:b2f:: with SMTP id bo15mr1628842edb.146.1611598851270; Mon, 25 Jan 2021 10:20:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611598851; cv=none; d=google.com; s=arc-20160816; b=A9gRkQrxtkGd99zH7PPYlSs3yvyHmnWNm6XeHq+1xKpFh6XuaN50VpTs2ruTbfjqq8 ZpXJsZWcV4XDt5SkW7AbF+kJ4zmSpJyPgSPj60Acnac0xkieskl8CLOGvkYvGSX6YRNs 7+/zQ2RQBIhzN0COtsQ+A4v83zo2eoipQsxWT6Ig+kg+1e2H+MjprOdbhOhjurDngEW3 DjKDRUGQvDQr3PFsweHrNJKMUz8pmgHrdzJsPMgKgd+fbwWT/9TF0rdFFa2egmSkfjS4 UYEBrpcN8XrNC1OyjCSbuLlJtQv9jnV7sp2cVaCL64gv15kNgC+vsDiIL4SkgN4MbmTK DrhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=ZCe2/FF+DvZDaRPvAZh3BnHgq5iKGe4t/Q1fBpszZFI=; b=W/YSZ4Mb45k1ufqGtlVUVhVtI0QtZ00krkc7bTA7RVRZwBce9deIg+R9C9LriYpgRT OQEAST6DEtHHJwp1PIt4/+nFSKPI07BtEfUzIIsSs2J/4XeEQ4VUcNsJXStgqu3IYoKv 1pp6tiOFxZF4ZHp0lkr314Cw5Na57AIehT2jqTYVA9+YDSd5z8arFBuXnm0Llpp2mtmg vIswk42orQxOriPtuAup2w3iR96Wf+Vz32EHKZIQuU+rbKODFr0wgnx0AjpwOv0eV4DT rEPcOnc6b8C0aZBw2Muec0qRoI3pyfdR99Z1o2/BikHX7RBy94xCbCuySDAubFEWoLOm AALw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Gi+ZKU1f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t7si4706703edr.333.2021.01.25.10.20.17; Mon, 25 Jan 2021 10:20:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Gi+ZKU1f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731168AbhAYSQu (ORCPT + 99 others); Mon, 25 Jan 2021 13:16:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730916AbhAYSQk (ORCPT ); Mon, 25 Jan 2021 13:16:40 -0500 Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E5CCC061574 for ; Mon, 25 Jan 2021 10:16:00 -0800 (PST) Received: by mail-pg1-x530.google.com with SMTP id q7so9476712pgm.5 for ; Mon, 25 Jan 2021 10:16:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZCe2/FF+DvZDaRPvAZh3BnHgq5iKGe4t/Q1fBpszZFI=; b=Gi+ZKU1fgDCC43LVWcDLZi1V+dwx/rGL4iwHTgjDq1/GzDKWVBq6+7M102wga4p9gm cUwDbRj2TBu4MeTHxmEQKFYLadgFOXz2euunjPwMOz/RPdraM6RFRyCQiRh0Brzlz9Tw FN/axQhY4MULtWEHP32q6YfgdwNPq5ytkQ+6oHFmwae9MqDVo1+eIbugfHC51vLDeqnK hyay/bTK2QwtHHdhEKN5sysPYR/pmw0tRrXerU59neaWXaamTJY52lLTvPGMlBEOJJS0 dNz6h76WyO+Fwq3T8K8HK1P4BizLK/8S6xHqfYOy/I1s1juPAyzkDbnyUmL89t6W0WFL ellw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZCe2/FF+DvZDaRPvAZh3BnHgq5iKGe4t/Q1fBpszZFI=; b=mmO3O8Hjf2B6OC8IqnPJrxlqOFP9gGzHXX5ADPsY8HsQBRBC3PIkIgodoUPQVyUNd8 pbuY+r4nvVQCLKZUkEMvT9Ocv0wLxWn2o89NcaRCAnKeQ5EgdQ4PdlQBw+rAEyxMUN+9 4rrTRSAGB7GBnzSXuVSnWr85ptEhNtwrtfR5yexKM0MyQ6mxksXB9oWEC7vfBT33W7lD BwICfXVvAG6Lxvdadlo5oVvG12pM5nPOs44/tsBxhSO9bpIyvH9CfPo7D7GkrcG98Kvx J0QXcHPxRTtWp/rlc+H11BLjSornrpL95kxQ7NYGsnVkJtBFhb4oRL1Ob5/KnxNYPWXQ pnfg== X-Gm-Message-State: AOAM530GGt2TTHyE/XF11jKC+ElSdFSSI3HOp2ZF9T37kODfhIfM9WRT p3CRMmbqacGaUghI1rnHOc9GmTbRTbpb1EsixynIOw== X-Received: by 2002:a63:1f47:: with SMTP id q7mr1786622pgm.10.1611598560014; Mon, 25 Jan 2021 10:16:00 -0800 (PST) MIME-Version: 1.0 References: <20210123190459.9701-1-yashsri421@gmail.com> In-Reply-To: From: Nick Desaulniers Date: Mon, 25 Jan 2021 10:15:49 -0800 Message-ID: Subject: Re: [PATCH v3] checkpatch: add warning for avoiding .L prefix symbols in assembly files To: Joe Perches Cc: Aditya Srivastava , Andrew Morton , Lukas Bulwahn , dwaipayanray1@gmail.com, Mark Brown , Josh Poimboeuf , linux-kernel-mentees@lists.linuxfoundation.org, clang-built-linux , LKML Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jan 23, 2021 at 1:01 PM Joe Perches wrote: > > On Sun, 2021-01-24 at 00:34 +0530, Aditya Srivastava wrote: > > objtool requires that all code must be contained in an ELF symbol. > > Symbol names that have a '.L' prefix do not emit symbol table entries, as > > they have special meaning for the assembler. > > > > '.L' prefixed symbols can be used within a code region, but should be > > avoided for denoting a range of code via 'SYM_*_START/END' annotations. > > > > Add a new check to emit a warning on finding the usage of '.L' symbols > > for '.S' files, if it denotes range of code via SYM_*_START/END > > annotation pair. > > > > Suggested-by: Mark Brown > > Link: https://lore.kernel.org/lkml/20210112210154.GI4646@sirena.org.uk > > Signed-off-by: Aditya Srivastava > > Acked-by: Joe Perches Acked-by: Nick Desaulniers Thanks for the patch Aditya! > > > --- > > * Applies perfectly on next-20210122 > > > > Changes in v3: > > - Modify regex for SYM_*_START/END pair > > - remove check for arch/x86/entry/* and arch/x86/lib/* > > - change 'Link:' in commit message to lkml > > - Modify commit description accordingly > > > > Changes in v2: > > - Reduce the check to only SYM_*_START/END lines > > - Reduce the check for only .S files in arch/x86/entry/* and arch/x86/lib/* as suggested by Josh and Nick > > - Modify commit message > > > > scripts/checkpatch.pl | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > index 7030c4d6d126..4a03326c87b6 100755 > > --- a/scripts/checkpatch.pl > > +++ b/scripts/checkpatch.pl > > @@ -3590,6 +3590,13 @@ sub process { > > } > > } > > > > > > +# check for .L prefix local symbols in .S files > > + if ($realfile =~ /\.S$/ && > > + $line =~ /^\+\s*(?:[A-Z]+_)?SYM_[A-Z]+_(?:START|END)(?:_[A-Z_]+)?\s*\(\s*\.L/) { > > + WARN("AVOID_L_PREFIX", > > + "Avoid using '.L' prefixed local symbol names for denoting a range of code via 'SYM_*_START/END' annotations; see Documentation/asm-annotations.rst\n" . $herecurr); > > + } > > + > > # check we are in a valid source file C or perl if not then ignore this hunk > > next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/); > > > > > > -- Thanks, ~Nick Desaulniers