fixdep: fix CONFIG_IS_ENABLED etc. handling
authorStephen Warren <swarren@nvidia.com>
Wed, 8 Jul 2020 21:45:56 +0000 (15:45 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 17 Jul 2020 14:47:19 +0000 (10:47 -0400)
When fixdep detects CONFIG_IS_ENABLED and other similar macros, it must
parse the macro parameter to determine which actual CONFIG_ option is
being referenced. This involves moving a pointer forward through the
entire CONFIG_ option "word". Currently, the code uses variable q to walk
through the word, but doesn't actually initialize it to point at the
parameter before doing so. Consequently, the walking process immediately
fails since it sees the macro invocatoins's ( rather than the expected
alpha-numeric characters in the macro parameter. Fix this by adding the
missing initialization.

Fixes: 67f2ee86ccbe ("kbuild: fixdep: Resync this with v4.17")
Fixes: 7012865e961c ("gpio: fix test.py for gpio label lookup")
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
scripts/basic/fixdep.c

index 24be244..958668d 100644 (file)
@@ -266,6 +266,7 @@ static void parse_config_file(const char *p)
                    (q - p == 9 && !memcmp(p, "IS_MODULE(", 10)) ||
                    (q - p == 3 && !memcmp(p, "VAL(", 4))) {
                        p = q + 1;
+                       q  = p;
                        while (isalnum(*q) || *q == '_')
                                q++;
                        r = q;