yann@402: The following fixes an error that occurs when building glibc-2.3.2 (but not glibc-2.2.5) for sh4: yann@402: yann@402: In file included from sys/ustat.h:30, yann@402: from ../sysdeps/unix/sysv/linux/ustat.c:21: yann@402: ../sysdeps/generic/bits/ustat.h:26: error: redefinition of `struct ustat' yann@402: make[2]: *** [/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/build-glibc/misc/ustat.o] Error 1 yann@402: make[2]: Leaving directory `/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/glibc-2.3.2/misc' yann@402: make[1]: *** [misc/subdir_lib] Error 2 yann@402: make[1]: Leaving directory `/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/glibc-2.3.2' yann@402: make: *** [all] Error 2 yann@402: yann@402: ----------- snip --------------- yann@402: yann@402: Date: Fri, 06 Jun 2003 08:00:00 +0900 yann@402: From: kaz Kojima yann@402: Subject: [linux-sh:02770] Re: Compiling glibc-2.3.2 for sh4 fails with "include/asm/user.h:32: yann@402: error: redefinition of `struct user_fpu_struct'" yann@402: To: linux-sh@m17n.org yann@402: Message-Id: <200306052250.h55Moeb08707@r-rr.iij4u.or.jp> yann@402: yann@402: Hi, yann@402: yann@402: Dan Kegel wrote: yann@402: > When I try to build glibc-2.3.2 for sh4, it fails with the error yann@402: [snip] yann@402: > /home3/dank/crosstool-0.3/result/sh4-linux/gcc-3.3-glibc-2.3.2/sh4-linux/include/asm/user.h:32: error: redefinition of `struct user_fpu_struct' yann@402: > /home3/dank/crosstool-0.3/result/sh4-linux/gcc-3.3-glibc-2.3.2/sh4-linux/include/asm/user.h:39: error: redefinition of `struct user' yann@402: [snip] yann@402: > The error reminds me of the kind of thing fixed by yann@402: > http://www.kegel.com/crossgcc/crosstool-0.4/glibc-2.3.2-patches/sh-user.patch yann@402: yann@402: It seems that the definitions in asm/user.h and the above patch collide. yann@402: I'm not sure why you need this patch, but is it needed for the problem yann@402: about struct ustat that you pointed out in this list, isn't it? yann@402: I found why I don't hit ustat problem - my local kernel tree includes yann@402: the following patch, though I can't recall about it. yann@402: yann@402: Regards, yann@402: kaz yann@402: -- yann@402: diff -u linux-2.5.69-sf-orig/include/linux/types.h /usr/local/sh4-unknown-linux-gnu/include/linux/types.h yann@402: --- linux-2.5.69-sf-orig/include/linux/types.h Wed Mar 5 12:29:34 2003 yann@402: +++ sh4-unknown-linux-gnu/include/linux/types.h Sat Apr 19 10:05:52 2003 yann@402: @@ -141,6 +141,7 @@ yann@402: yann@402: #endif /* __KERNEL_STRICT_NAMES */ yann@402: yann@402: +#ifdef __KERNEL__ yann@402: /* yann@402: * Below are truly Linux-specific types that should never collide with yann@402: * any application/library that wants linux/types.h. yann@402: @@ -152,5 +153,6 @@ yann@402: char f_fname[6]; yann@402: char f_fpack[6]; yann@402: }; yann@402: +#endif yann@402: yann@402: #endif /* _LINUX_TYPES_H */ yann@402: yann@402: