All of lore.kernel.org
 help / color / mirror / Atom feed
* [Patch] kbuild: fix headers_check.pl
@ 2009-06-05  2:12 Amerigo Wang
  2009-06-05  2:12 ` [Patch] kbuild: clean up scripts/headers.sh Amerigo Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Amerigo Wang @ 2009-06-05  2:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, sam, Amerigo Wang, linux-kbuild


'extern' checking information is not clear, refine it.
Plus, fix a comment.

Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Sam Ravnborg <sam@ravnborg.org>

----
diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
index 56f90a4..3923888 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,14 @@ 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/) {
+		if ($line =~ m/^\s*extern\b.*\(.*\)/) {
+			printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
+		} else {
+			printf STDERR "$filename:$lineno: exporting global variable to userspace is suspicious\n";
+		}
 	}
 }
 

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Patch] kbuild: clean up scripts/headers.sh
  2009-06-05  2:12 [Patch] kbuild: fix headers_check.pl Amerigo Wang
@ 2009-06-05  2:12 ` Amerigo Wang
  2009-06-05 21:41   ` Sam Ravnborg
  2009-06-05  9:21 ` [Patch] kbuild: fix headers_check.pl Arnd Bergmann
  2009-06-05 21:41 ` Sam Ravnborg
  2 siblings, 1 reply; 8+ messages in thread
From: Amerigo Wang @ 2009-06-05  2:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, sam, Amerigo Wang, linux-kbuild


'drop' variable is unused.

'ppc' and 'sparc64' directories don't exist in arch/,
and I think their headers can be well exported now, so
just remove them.

Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Sam Ravnborg <sam@ravnborg.org>

------
diff --git a/scripts/headers.sh b/scripts/headers.sh
index d33426f..0308ecc 100755
--- a/scripts/headers.sh
+++ b/scripts/headers.sh
@@ -15,19 +15,12 @@ do_command()
 	fi
 }
 
-# Do not try this architecture
-drop="generic um ppc sparc64 cris"
-
 archs=$(ls ${srctree}/arch)
 
 for arch in ${archs}; do
 	case ${arch} in
 	um)        # no userspace export
 		;;
-	ppc)       # headers exported by powerpc
-		;;
-	sparc64)   # headers exported by sparc
-		;;
 	cris)      # headers export are known broken
 		;;
 	*)

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: fix headers_check.pl
  2009-06-05  2:12 [Patch] kbuild: fix headers_check.pl Amerigo Wang
  2009-06-05  2:12 ` [Patch] kbuild: clean up scripts/headers.sh Amerigo Wang
@ 2009-06-05  9:21 ` Arnd Bergmann
  2009-06-05 10:22   ` Amerigo Wang
  2009-06-05 11:26   ` Artem Bityutskiy
  2009-06-05 21:41 ` Sam Ravnborg
  2 siblings, 2 replies; 8+ messages in thread
From: Arnd Bergmann @ 2009-06-05  9:21 UTC (permalink / raw)
  To: Amerigo Wang; +Cc: linux-kernel, akpm, sam, linux-kbuild

On Friday 05 June 2009, Amerigo Wang wrote:
> -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/) {
> +               if ($line =~ m/^\s*extern\b.*\(.*\)/) {
> +                       printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
> +               } else {
> +                       printf STDERR "$filename:$lineno: exporting global variable to userspace is suspicious\n";
> +               }
>         }
>  }

I don't think we really need that distinction here, the old
text applies to both. But please find a way to get rid of
the "extern's".

http://angryflower.com/bobsqu.gif

	Arnd <><

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: fix headers_check.pl
  2009-06-05  9:21 ` [Patch] kbuild: fix headers_check.pl Arnd Bergmann
@ 2009-06-05 10:22   ` Amerigo Wang
  2009-06-05 12:31     ` Arnd Bergmann
  2009-06-05 11:26   ` Artem Bityutskiy
  1 sibling, 1 reply; 8+ messages in thread
From: Amerigo Wang @ 2009-06-05 10:22 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, akpm, sam, linux-kbuild

Arnd Bergmann wrote:
> On Friday 05 June 2009, Amerigo Wang wrote:
>   
>> -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/) {
>> +               if ($line =~ m/^\s*extern\b.*\(.*\)/) {
>> +                       printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
>> +               } else {
>> +                       printf STDERR "$filename:$lineno: exporting global variable to userspace is suspicious\n";
>> +               }
>>         }
>>  }
>>     
>
> I don't think we really need that distinction here, the old
> text applies to both.
Even for function declarations?
> But please find a way to get rid of
> the "extern's".
>   
Here, that one has already been removed by other patch ...


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: fix headers_check.pl
  2009-06-05  9:21 ` [Patch] kbuild: fix headers_check.pl Arnd Bergmann
  2009-06-05 10:22   ` Amerigo Wang
@ 2009-06-05 11:26   ` Artem Bityutskiy
  1 sibling, 0 replies; 8+ messages in thread
From: Artem Bityutskiy @ 2009-06-05 11:26 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Amerigo Wang, linux-kernel, akpm, sam, linux-kbuild

Arnd Bergmann wrote:
> On Friday 05 June 2009, Amerigo Wang wrote:
>> -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/) {
>> +               if ($line =~ m/^\s*extern\b.*\(.*\)/) {
>> +                       printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
>> +               } else {
>> +                       printf STDERR "$filename:$lineno: exporting global variable to userspace is suspicious\n";
>> +               }
>>         }
>>  }
> 
> I don't think we really need that distinction here, the old
> text applies to both. But please find a way to get rid of
> the "extern's".
> 
> http://angryflower.com/bobsqu.gif

Hehe, made me smile :-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: fix headers_check.pl
  2009-06-05 10:22   ` Amerigo Wang
@ 2009-06-05 12:31     ` Arnd Bergmann
  0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2009-06-05 12:31 UTC (permalink / raw)
  To: Amerigo Wang; +Cc: linux-kernel, akpm, sam, linux-kbuild

On Friday 05 June 2009, Amerigo Wang wrote:
> 
> >
> > I don't think we really need that distinction here, the old
> > text applies to both.
>
> Even for function declarations?

Yes. Any use of 'extern' in a kernel header file by definition
refers to a symbol that is defined in the kernel and therefore
not accessibly in user space. It is the same problem for
variables and functions, with the complication that leaving
out the 'extern' statement on a function declaration will
hide it from this check, while leaving it out on a variable
declaration turns it into a definition.

	Arnd <><

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: fix headers_check.pl
  2009-06-05  2:12 [Patch] kbuild: fix headers_check.pl Amerigo Wang
  2009-06-05  2:12 ` [Patch] kbuild: clean up scripts/headers.sh Amerigo Wang
  2009-06-05  9:21 ` [Patch] kbuild: fix headers_check.pl Arnd Bergmann
@ 2009-06-05 21:41 ` Sam Ravnborg
  2 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2009-06-05 21:41 UTC (permalink / raw)
  To: Amerigo Wang; +Cc: linux-kernel, akpm, linux-kbuild

On Thu, Jun 04, 2009 at 10:12:01PM -0400, Amerigo Wang wrote:
> 
> 'extern' checking information is not clear, refine it.
> Plus, fix a comment.

Applied,
	Sam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Patch] kbuild: clean up scripts/headers.sh
  2009-06-05  2:12 ` [Patch] kbuild: clean up scripts/headers.sh Amerigo Wang
@ 2009-06-05 21:41   ` Sam Ravnborg
  0 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2009-06-05 21:41 UTC (permalink / raw)
  To: Amerigo Wang; +Cc: linux-kernel, akpm, linux-kbuild

On Thu, Jun 04, 2009 at 10:12:09PM -0400, Amerigo Wang wrote:
> 
> 'drop' variable is unused.
> 
> 'ppc' and 'sparc64' directories don't exist in arch/,
> and I think their headers can be well exported now, so
> just remove them.

Applied,
	Sam

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-06-05 21:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-05  2:12 [Patch] kbuild: fix headers_check.pl Amerigo Wang
2009-06-05  2:12 ` [Patch] kbuild: clean up scripts/headers.sh Amerigo Wang
2009-06-05 21:41   ` Sam Ravnborg
2009-06-05  9:21 ` [Patch] kbuild: fix headers_check.pl Arnd Bergmann
2009-06-05 10:22   ` Amerigo Wang
2009-06-05 12:31     ` Arnd Bergmann
2009-06-05 11:26   ` Artem Bityutskiy
2009-06-05 21:41 ` Sam Ravnborg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.