Re: [PATCH 18/39] kbuild/headers_check: refine extern check

Amerigo Wang
2009-06-08T01:29:33Z

Sam Ravnborg wrote:
> On Sat, Jun 06, 2009 at 12:46:07AM +0000, Arnd Bergmann wrote:
>
>> On Friday 05 June 2009 11:42:36 pm Sam Ravnborg wrote:
>>
>>> From: Amerigo Wang <amwang@redhat.com>
>>>
>>> 'extern' checking information is not clear, refine it.
>>> Plus, fix a comment.
>>>
>>> Signed-off-by: WANG Cong <amwang@redhat.com>
>>> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
>>>
>> I still think this is pointless and should just be removed
>> (or replaced with a patch to kill the apostrophe in there).
>>
>
> So you wanted me to visit that link...
> I redid it like this:
>
> Subject: kbuild/headers_check: refine extern check
>
> 'extern' checking information is not clear, refine it.
> Plus, fix a comment.
>
> Signed-off-by: WANG Cong <amwang@redhat.com>
> [sam: redid the extern error message]
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
>

Yeah, after reading Arnd's comments, I agree on this patch.

Thanks, Sam!

> ---
> diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
> index 4414c43..db1dd7a 100644
> --- a/scripts/headers_check.pl
> +++ b/scripts/headers_check.pl
> @@ -2,7 +2,7 @@
> #
> # headers_check.pl execute a number of trivial consistency checks
> #
> -# Usage: headers_check.pl dir [files...]
> +# Usage: headers_check.pl dir arch [files...]
> # dir: dir to look for included files
> # arch: architecture
> # files: list of files to check
> @@ -37,7 +37,7 @@ foreach my $file (@files) {
> &check_include();
> &check_asm_types();
> &check_sizetypes();
> - &check_prototypes();
> + &check_declarations();
> # Dropped for now. Too much noise &check_config();
> }
> close FH;
> @@ -61,10 +61,12 @@ sub check_include
> }
> }
>
> -sub check_prototypes
> +sub check_declarations
> {
> - if ($line =~ m/^\s*extern\b/) {
> - printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
> + if ($line =~m/^\s*extern\b/) {
> + printf STDERR "$filename:$lineno: " .
> + "userspace cannot call function or variable " .
> + "defined in the kernel\n";
> }
> }
>
>