diff options
author | Markus Trippelsdorf <markus@trippelsdorf.de> | 2011-06-24 09:51:00 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2011-06-24 10:56:05 -0400 |
commit | f210735fe2f17a6225432ee3d1239bcf23a8659c (patch) | |
tree | ec612cad187f1e6b5fff656b7be2a1b5de0044fc | |
parent | 5e05981b5b79afb42adb754c558ee050092d2d85 (diff) |
headers_install: fix __packed in exported kernel headers
checkpatch.pl warns about using __attribute__((packed)) in kernel
headers: "__packed is preferred over __attribute__((packed))". If one
follows that advice it could cause problems in the exported header
files, because the outside world doesn't know about this shortcut.
For example busybox will fail to compile:
CC miscutils/ubi_attach_detach.o
In file included from miscutils/ubi_attach_detach.c:27:0:
/usr/include/mtd/ubi-user.h:330:3: error: conflicting types for ‘__packed’
/usr/include/mtd/ubi-user.h:314:3: note: previous declaration of ‘__packed’ was here
...
Fix the problem by substituting __packed with __attribute__((packed)) in
the header_install.pl script.
Cc: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
CC: Joe Perches <joe@perches.com>
Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r-- | scripts/headers_install.pl | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/headers_install.pl b/scripts/headers_install.pl index efb3be10d428..48462be328bb 100644 --- a/scripts/headers_install.pl +++ b/scripts/headers_install.pl | |||
@@ -35,6 +35,7 @@ foreach my $file (@files) { | |||
35 | $line =~ s/([\s(])__iomem\s/$1/g; | 35 | $line =~ s/([\s(])__iomem\s/$1/g; |
36 | $line =~ s/\s__attribute_const__\s/ /g; | 36 | $line =~ s/\s__attribute_const__\s/ /g; |
37 | $line =~ s/\s__attribute_const__$//g; | 37 | $line =~ s/\s__attribute_const__$//g; |
38 | $line =~ s/\b__packed\b/__attribute__((packed))/g; | ||
38 | $line =~ s/^#include <linux\/compiler.h>//; | 39 | $line =~ s/^#include <linux\/compiler.h>//; |
39 | $line =~ s/(^|\s)(inline)\b/$1__$2__/g; | 40 | $line =~ s/(^|\s)(inline)\b/$1__$2__/g; |
40 | $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g; | 41 | $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g; |