From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Linux Doc Mailing List <linux-doc@vger.kernel.org>,
Greg KH <gregkh@linuxfoundation.org>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
linux-kernel@vger.kernel.org
Subject: [PATCH 3/9] scripts: get_abi.pl: add an option to filter undefined results
Date: Wed, 8 Sep 2021 16:58:50 +0200 [thread overview]
Message-ID: <504f317750e978861fbc713072d1a309ac8b14b3.1631112725.git.mchehab+huawei@kernel.org> (raw)
In-Reply-To: <cover.1631112725.git.mchehab+huawei@kernel.org>
The output of this script can be too big. Add an option to
filter out results, in order to help finding issues at the
ABI files.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/get_abi.pl | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl
index 7600e50b53bb..9ca43b225d9a 100755
--- a/scripts/get_abi.pl
+++ b/scripts/get_abi.pl
@@ -18,6 +18,7 @@ my $enable_lineno = 0;
my $show_warnings = 1;
my $prefix="Documentation/ABI";
my $sysfs_prefix="/sys";
+my $search_string;
#
# If true, assumes that the description is formatted with ReST
@@ -31,6 +32,7 @@ GetOptions(
"dir=s" => \$prefix,
'help|?' => \$help,
"show-hints" => \$hint,
+ "search-string=s" => \$search_string,
man => \$man
) or pod2usage(2);
@@ -578,6 +580,7 @@ sub check_undefined_symbols {
my $defined = 0;
my $exact = 0;
my $whats = "";
+ my $found_string;
my $leave = $file;
$leave =~ s,.*/,,;
@@ -585,6 +588,11 @@ sub check_undefined_symbols {
my $path = $file;
$path =~ s,(.*/).*,$1,;
+ if ($search_string) {
+ $found_string = 1 if ($file =~ m#$search_string#);
+ }
+
+ print "--> $file\n" if ($found_string && $hint);
if (defined($leaf{$leave})) {
my $what = $leaf{$leave};
$whats .= " $what" if (!($whats =~ m/$what/));
@@ -610,6 +618,7 @@ sub check_undefined_symbols {
if (substr($file, 0, $len) eq $new) {
my $newf = $a . substr($file, $len);
+ print " $newf\n" if ($found_string && $hint);
foreach my $w (split / /, $what) {
if ($newf =~ m#^$w$#) {
$exact = 1;
@@ -632,10 +641,10 @@ sub check_undefined_symbols {
next if ($file =~ m#/parameters/#);
if ($hint && $defined) {
- print "$leave at $path might be one of:$whats\n";
+ print "$leave at $path might be one of:$whats\n" if (!$search_string || $found_string);
next;
}
- print "$file not found.\n";
+ print "$file not found.\n" if (!$search_string || $found_string);
}
}
@@ -686,6 +695,10 @@ sub undefined_symbols {
$what =~ s/\\([\[\]\(\)\|])/$1/g;
$what =~ s/(\d+)\\(-\d+)/$1$2/g;
+ if ($search_string) {
+ print "What: $what\n" if ($what =~ m#$search_string#);
+ }
+
$leave =~ s/[\(\)]//g;
foreach my $l (split /\|/, $leave) {
@@ -748,6 +761,7 @@ abi_book.pl - parse the Linux ABI files and produce a ReST book.
B<abi_book.pl> [--debug] [--enable-lineno] [--man] [--help]
[--(no-)rst-source] [--dir=<dir>] [--show-hints]
+ [--search-string <regex>]
<COMAND> [<ARGUMENT>]
Where <COMMAND> can be:
@@ -795,6 +809,11 @@ times, to increase verbosity.
Show hints about possible definitions for the missing ABI symbols.
Used only when B<undefined>.
+=item B<--search-string> [regex string]
+
+Show only occurences that match a search string.
+Used only when B<undefined>.
+
=item B<--help>
Prints a brief help message and exits.
--
2.31.1
next prev parent reply other threads:[~2021-09-08 14:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-08 14:58 [PATCH 0/9] get_abi.pl: Check for missing symbols at the ABI specs Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 1/9] scripts: " Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 2/9] scripts: get_abi.pl: detect softlinks Mauro Carvalho Chehab
2021-09-08 14:58 ` Mauro Carvalho Chehab [this message]
2021-09-08 14:58 ` [PATCH 4/9] ABI: sysfs-bus-usb: better document variable argument Mauro Carvalho Chehab
2021-09-13 11:55 ` Heikki Krogerus
2021-09-08 14:58 ` [PATCH 5/9] ABI: sysfs-module: better document module name parameter Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 6/9] ABI: sysfs-tty: " Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 7/9] ABI: sysfs-kernel-slab: use a wildcard for the cache name Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 8/9] ABI: security: fix location for evm and ima_policy Mauro Carvalho Chehab
2021-09-09 13:48 ` Mimi Zohar
2021-09-09 14:11 ` Mauro Carvalho Chehab
2021-09-08 14:58 ` [PATCH 9/9] ABI: sysfs-module: document initstate Mauro Carvalho Chehab
2021-09-09 13:51 ` [PATCH 0/9] get_abi.pl: Check for missing symbols at the ABI specs Greg KH
2021-09-14 14:24 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=504f317750e978861fbc713072d1a309ac8b14b3.1631112725.git.mchehab+huawei@kernel.org \
--to=mchehab+huawei@kernel.org \
--cc=corbet@lwn.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).