1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-19 13:40:18 +02:00
openwrt-xburst/target/linux/generic/patches-3.0/000-upstream-fix-__packed.patch
acoul 1ec1b71c3c linux/generic: commit an upstream kernel 3.0 patch (fixes busubox-1.19.2 build failure)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28293 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-09-23 10:00:13 +00:00

34 lines
1.4 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
---
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 efb3be1..48462be 100644
--- a/scripts/headers_install.pl
+++ b/scripts/headers_install.pl
@@ -35,6 +35,7 @@ foreach my $file (@files) {
$line =~ s/([\s(])__iomem\s/$1/g;
$line =~ s/\s__attribute_const__\s/ /g;
$line =~ s/\s__attribute_const__$//g;
+ $line =~ s/\b__packed\b/__attribute__((packed))/g;
$line =~ s/^#include <linux\/compiler.h>//;
$line =~ s/(^|\s)(inline)\b/$1__$2__/g;
$line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g;