Messages in this thread |  | | Subject | Re: [BUG] Linux 3.0 commit 3627924acf70a broke include/mtd/ubi_user.h. | | From | Artem Bityutskiy <> | | Date | Mon, 15 Aug 2011 06:39:22 +0300 |
| |
On Sun, 2011-08-14 at 14:16 -0500, Rob Landley wrote: > On 08/14/2011 01:03 PM, Stefan Richter wrote: > > On Aug 14 Rob Landley wrote: > >> "make headers_install" copies include/mtd/ubi_user.h to userspace, where > >> things like busybox link against it. With 3.0, building defconfig > >> busybox gets this error: > >> > >> In file included from miscutils/ubi_tools.c:63: > >> /home/landley/aboriginal/aboriginal/build/simple-cross-compiler-i686/bin/../include/mtd/ubi-user.h:329: > >> error: conflicting types for '__packed' > >> /home/landley/aboriginal/aboriginal/build/simple-cross-compiler-i686/bin/../include/mtd/ubi-user.h:313: > >> error: previous declaration of '__packed' was here > >> > >> This is due to the Linux 3.0 commit in the title: > >> > >> UBI: use __packed instead of __attribute__((packed)) > >> > >> This relies on __packed being defined in: > >> > >> include/linux/compiler-gcc.h: > >> #define __packed __attribute__((packed)) > >> > >> Which is not exported to userspace. > >> > >> I.E. this "cleanup" broke the ability for userspace to use this header, > >> even though the header is exported to userspace by headers_install. > > > > As far as I can tell, the __packed or __attribute__((packed)) > > qualifications are superfluous in include/mtd/ubi-user.h anyway. > > And Adrian Hunter <adrian.hunter@nokia.com> (the other listed UBI > maintainer) also bounces. Did the developer exodus after Nokia decided > to cozy up to The Black Widow take 'em both out?
Yes, both of us have left Nokia recently. Adrian should fix the "MAINTAINERS" file.
WRT to the breakage - yes, it was my mistake to follow the new trend in the Linux kernel - the commit message has a reference to the other commit which inspired the check, and you can find out that some other projects made a similar change. Moreover, checkpatch.pl prints the following warning "WARN("__packed is preferred over __attribute__((packed))". So you hardly can blame :-)
Anyways, this problem was discussed in the "__packed vs. __attribute__((packed)) in kernel headers" thread in LKML.
Then a fix has been sent, see the "{PATCH] fix __packed in exported kernel headers" thread in LKML. This fix was accepted by "Michal Marek <mmarek@suse.cz>", whom I put to CC.
-- Best Regards, Artem Bityutskiy (Битюцкий Артём)
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |