patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,54 @@
     1.4 +(See similar patch for glibc-2.3.3)
     1.5 +
     1.6 +This fix discussed here:
     1.7 +http://gcc.gnu.org/ml/gcc/2005-01/msg00509.html
     1.8 +
     1.9 +Fixes
    1.10 +
    1.11 +In file included from ../linuxthreads_db/proc_service.h:20,
    1.12 +                 from ../linuxthreads_db/thread_dbP.h:6,
    1.13 +                 from internals.h:36,
    1.14 +                 from attr.c:23:
    1.15 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: error: syntax error before 'elf_vrreg_t'
    1.16 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: warning: type defaults to 'int' in declaration of 'elf_vrreg_t'
    1.17 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: warning: data definition has no type or storage class
    1.18 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: error: syntax error before 'elf_vrregset_t'
    1.19 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: warning: type defaults to 'int' in declaration of 'elf_vrregset_t'
    1.20 +../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: warning: data definition has no type or storage class
    1.21 +make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/powerpc-405-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/linuxthreads'
    1.22 +make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/powerpc-405-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/linuxthreads/attr.o] Error 1
    1.23 +
    1.24 +From: Martin Egholm Nielsen martin at egholm-nielsen dot dk
    1.25 +To: crossgcc at sources dot redhat dot com
    1.26 +Date: Thu, 24 Mar 2005 18:40:27 +0100
    1.27 +Subject: [Patch] CT 0.29 - glibc-2.2.5-allow-gcc-4.0-powerpc-procfs
    1.28 +
    1.29 +Hi Dan,
    1.30 +
    1.31 +I had to add the following patch in order to make CT 0.29 and glibc 
    1.32 +2.2.5 compile with gcc 4.0 (20050305) and Kernel 2.4.20...
    1.33 +
    1.34 +// Martin
    1.35 +
    1.36 +--- glibc-2.2.5/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h.old	2005-03-24 13:11:39.746062400 +0100
    1.37 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h	2005-03-24 13:15:11.810996800 +0100
    1.38 +@@ -42,15 +42,10 @@
    1.39 + typedef double elf_fpreg_t;
    1.40 + typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
    1.41 + 
    1.42 +-/* gcc 3.1 and newer support __uint128_t.  */
    1.43 +-#if !__GNUC_PREREQ(3,1)
    1.44 +-typedef struct {
    1.45 +-  unsigned long u[4];
    1.46 +-} __attribute((aligned(16))) __uint128_t;
    1.47 +-#endif
    1.48 +-
    1.49 + /* Altivec registers */
    1.50 +-typedef __uint128_t elf_vrreg_t;
    1.51 ++typedef struct {
    1.52 ++  unsigned int u[4];
    1.53 ++} __attribute__ ((aligned (16))) elf_vrreg_t;
    1.54 + typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
    1.55 + 
    1.56 + struct elf_siginfo
    1.57 +