scripts: get_abi.pl: call get_leave() a little late
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 23 Sep 2021 15:41:13 +0000 (17:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Sep 2021 16:45:08 +0000 (18:45 +0200)
The $what conversions need to replace some characters to avoid
breaking regex expressions found on some What:.

only after replacing them back, the script should get the
$leave devnode.

Fixes: ca8e055c2215 ("scripts: get_abi.pl: add a graph to speedup the undefined algorithm")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/a21631f8a884f50a962beafdd800f27891348d95.1632411447.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/get_abi.pl

index 65261f4..9eb8a03 100755 (executable)
@@ -777,8 +777,6 @@ sub undefined_symbols {
                        # (this happens on a few IIO definitions)
                        $what =~ s,\s*\=.*$,,;
 
-                       my $leave = get_leave($what);
-
                        # Escape all other symbols
                        $what =~ s/$escape_symbols/\\$1/g;
                        $what =~ s/\\\\/\\/g;
@@ -790,6 +788,7 @@ sub undefined_symbols {
                        # Special case: IIO ABI which a parenthesis.
                        $what =~ s/sqrt(.*)/sqrt\(.*\)/;
 
+                       my $leave = get_leave($what);
                        my $added = 0;
                        foreach my $l (split /\|/, $leave) {
                                if (defined($leaf{$l})) {