Re: [PATCH v4 03/14] modpost: split the section mismatch checks into section-check.c
From: Nick Desaulniers <hidden>
Date: 2022-05-11 20:01:38
Also in:
linux-kbuild, linux-modules, linux-s390, lkml, llvm
On Wed, May 11, 2022 at 12:51 PM Jeff Johnson [off-list ref] wrote:
On 5/11/2022 12:27 PM, Masahiro Yamada wrote:quoted
On Thu, May 12, 2022 at 3:48 AM Nick Desaulniers [off-list ref] wrote:quoted
On Mon, May 9, 2022 at 11:57 PM Masahiro Yamada [off-list ref] wrote:quoted
quoted
quoted
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index a78b75f0eeb0..e7e2c70a98f5 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c@@ -31,7 +31,7 @@ static bool external_module; /* Only warn about unresolved symbols */ static bool warn_unresolved; -static int sec_mismatch_count; +int sec_mismatch_count;^ this should go in modpost.h if it is to be used in two translation units, rather than forward declaring it in section-check.c. You did this for the functions.Sorry, I do not understand. In modpost.h, I put the declaration: extern int sec_mismatch_count; If I moved it to the header without 'extern' I would get multiple definitions.Yeah, you need to _declare_ it w/ extern in the header, then _define_ it in one source file. That way, if the type ever changes, the sources will agree on type in all source files. You will get a redefinition error if the definition changes the type of the variable since the last declaration. What you're doing is forward declaring, which works, and is a common pattern for (bloated) C++, but is less type safe than sharing a single common declaration between multiple source files via a single common shared header. (Sorry I didn't respond before you sent v5)Sorry, I still do not understand your suggestion. Could you provide me with a code diff showing how to do this better?I think you are doing exactly what he's asking for: declare it with extern in the header (modpost.h change) define it in one source file (modpost.c change)
Oh! Indeed, sorry, I'm getting lost here in the review. Sorry for the noise then. -- Thanks, ~Nick Desaulniers