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