[Momonga-devel.ja:02808] Re: gcc3.4系の投入


kumaです.

On Sun, 03 Oct 2004 10:29:36 +0900
Kazuhiko <kazuhiko@xxxxxxxxxx> wrote:

> > それはそれとして、1. -> 2. と進んで 3. をやっているのですが、少なくない
> > 数のパッケージが、以下のようなエラーで失敗します。
> > 
> > In file included from /usr/include/asm/byteorder.h:57,
> >                  from /usr/include/linux/cdrom.h:14,
> >                  from cddb.c:32:
> > /usr/include/linux/byteorder/little_endian.h:43: error: parse error before "__cpu_to_le64p"
> > /usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p':
> > /usr/include/linux/byteorder/little_endian.h:45: error: `__le64' undeclared (first use in this function)
> > /usr/include/linux/byteorder/little_endian.h:45: error: (Each undeclared identifier is reported only once
> > /usr/include/linux/byteorder/little_endian.h:45: error: for each function it appears in.)
> 
> 環境を書き忘れました。
>   Athlon XP 1900+
>   kernel-2.6.9-0.3.1m
>   gcc-3.4.2-2m
>   glibc-2.3.2-13m

これは kernel-2.6.9-rc? から /usr/include/linux/types.h に

#ifdef __CHECKER__
#define __bitwise __attribute__((bitwise))
#else
#define __bitwise
#endif

typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __le32;
typedef __u32 __bitwise __be32;
typedef __u64 __bitwise __le64;
typedef __u64 __bitwise __be64;

こういうのが加わったためみたいです.
(kernel-2.6.8 で試していたので気づきませんでした... すみません)

http://www.uwsg.iu.edu/hypermail/linux/kernel/0409.2/1619.html
このパッチを取り込むのがいいですかね?(本家にはまだ取り込まれていないよ
うですが)