Bug#222777: /usr/include/asm/byteorder.h:56: error: parse error before ':' token
On Wed, Dec 03, 2003 at 12:31:51AM -0300, Leonardo Soto wrote:
> Package: linux-kernel-headers
> Version: 2.5.999-test7-bk-9
> Severity: normal
>
>
> Compiling KDE from CVS, i got the following message:
>
> In file included from /usr/include/linux/cdrom.h:14
> from plat_linux_cdda.c:43:
> /usr/include/asm/byteorder.h: In function '___arch__swab64':
> /usr/include/asm/byteorder.h:56: error: parse error before ':' token
>
> The relevant part from plat_linux_cdda.c is:
>
> #ifndef __GNUC__
> #define __GNUC__ 1
> #endif
> #undef __STRICT_ANSI__
> #include <asm/types.h>
> /* ugly workaround for broken glibc shipped in SuSE 9.0 */
> #define inline __inline__
> #include <linux/cdrom.h>
> #undef inline
>
> And the referenced (buggy?) line from byteorder.h:
>
> asm("xchgl %0,%1" : "=r" (v.s.a), "=r" (v.s.b) : "0" (v.s.a),"1" (v.s.b));
This is an absolutely, wildly, crazily dumb way to work around a broken
header. Remove the #undef, and either linux-kernel-headers will work
or the next version uploaded will when uploads are re-enabled.
I believe Debian kde packages have already removed the #undef.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: