patches/linux/2.6.7/kaz-types.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
     1 The following fixes an error that occurs when building glibc-2.3.2 (but not glibc-2.2.5) for sh4:
     2 
     3 In file included from sys/ustat.h:30,
     4                  from ../sysdeps/unix/sysv/linux/ustat.c:21:
     5 ../sysdeps/generic/bits/ustat.h:26: error: redefinition of `struct ustat'
     6 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
     7 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'
     8 make[1]: *** [misc/subdir_lib] Error 2
     9 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'
    10 make: *** [all] Error 2
    11 
    12 ----------- snip ---------------
    13 
    14 Date: Fri, 06 Jun 2003 08:00:00 +0900
    15 From: kaz Kojima <kkojima@rr.iij4u.or.jp>
    16 Subject: [linux-sh:02770] Re: Compiling glibc-2.3.2 for sh4 fails with "include/asm/user.h:32:
    17  error: redefinition of `struct user_fpu_struct'"
    18 To: linux-sh@m17n.org
    19 Message-Id: <200306052250.h55Moeb08707@r-rr.iij4u.or.jp>
    20 
    21 Hi,
    22 
    23 Dan Kegel <dank@kegel.com> wrote:
    24 > When I try to build glibc-2.3.2 for sh4, it fails with the error
    25 [snip]
    26 > /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'
    27 > /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'
    28 [snip]
    29 > The error reminds me of the kind of thing fixed by
    30 > http://www.kegel.com/crossgcc/crosstool-0.4/glibc-2.3.2-patches/sh-user.patch
    31 
    32 It seems that the definitions in asm/user.h and the above patch collide.
    33 I'm not sure why you need this patch, but is it needed for the problem
    34 about struct ustat that you pointed out in this list, isn't it?
    35 I found why I don't hit ustat problem - my local kernel tree includes
    36 the following patch, though I can't recall about it.
    37 
    38 Regards,
    39 	kaz
    40 --
    41 diff -u linux-2.5.69-sf-orig/include/linux/types.h /usr/local/sh4-unknown-linux-gnu/include/linux/types.h
    42 --- linux-2.5.69-sf-orig/include/linux/types.h	Wed Mar  5 12:29:34 2003
    43 +++ sh4-unknown-linux-gnu/include/linux/types.h	Sat Apr 19 10:05:52 2003
    44 @@ -141,6 +141,7 @@
    45  
    46  #endif /* __KERNEL_STRICT_NAMES */
    47  
    48 +#ifdef	__KERNEL__
    49  /*
    50   * Below are truly Linux-specific types that should never collide with
    51   * any application/library that wants linux/types.h.
    52 @@ -152,5 +153,6 @@
    53  	char			f_fname[6];
    54  	char			f_fpack[6];
    55  };
    56 +#endif
    57  
    58  #endif /* _LINUX_TYPES_H */
    59 
    60