diff options
Diffstat (limited to 'patches/glibc/2.3.3')
37 files changed, 0 insertions, 2872 deletions
diff --git a/patches/glibc/2.3.3/arm-ctl_bus_isa.patch b/patches/glibc/2.3.3/arm-ctl_bus_isa.patch deleted file mode 100644 index 3422070..0000000 --- a/patches/glibc/2.3.3/arm-ctl_bus_isa.patch +++ /dev/null @@ -1,51 +0,0 @@ -Applies to both glibc-2.2.5 and glibc-2.3.2, and probably glibc cvs as of Aug 2004. -Needed to build glibc with linux kernels 2.4.23 or higher on ARM, -Fixes following error: - -../sysdeps/unix/sysv/linux/arm/ioperm.c: In function `init_iosys': -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: `BUS_ISA' undeclared (first use in this function) -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (Each undeclared identifier is reported only once -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: for each function it appears in.) -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: initializer element is not constant -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (near initialization for `iobase_name[1]') -../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: initializer element is not constant -../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: (near initialization for `ioshift_name[1]') -make[2]: *** [/home/dank/crosstool-0.28/build/arm-softfloat-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/misc/ioperm.o] Error 1 - -cf. "[SYSCTL] BUS_ISA -> CTL_BUS_ISA", http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html - ---- glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c.old 2003-02-20 14:22:24.000000000 -0800 -+++ glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c 2004-01-31 16:01:50.000000000 -0800 -@@ -47,6 +47,12 @@ - #include <asm/page.h> - #include <sys/sysctl.h> - -+/* see http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html */ -+#include <linux/version.h> -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23)) -+#define CTL_BUS_ISA BUS_ISA /* and hope it's not the one from linux/input.h */ -+#endif -+ - #define PATH_ARM_SYSTYPE "/etc/arm_systype" - #define PATH_CPUINFO "/proc/cpuinfo" - -@@ -80,7 +86,7 @@ - * Initialize I/O system. There are several ways to get the information - * we need. Each is tried in turn until one succeeds. - * -- * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*). This is the preferred method -+ * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*). This is the preferred method - * but not all kernels support it. - * - * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE. -@@ -100,8 +106,8 @@ - { - char systype[256]; - int i, n; -- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE }; -- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT }; -+ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE }; -+ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT }; - size_t len = sizeof(io.base); - - if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0) diff --git a/patches/glibc/2.3.3/bad/glibc-2.3.3-alpha-pwrite64.patch b/patches/glibc/2.3.3/bad/glibc-2.3.3-alpha-pwrite64.patch deleted file mode 100644 index fadee0e..0000000 --- a/patches/glibc/2.3.3/bad/glibc-2.3.3-alpha-pwrite64.patch +++ /dev/null @@ -1,51 +0,0 @@ -Attempted fix for this error: - - -crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/build-glibc/libc_pic.os(.text+0xc8bd0): In function `__posix_fallocate64_l64': -: undefined reference to `__GI___pwrite64' -collect2: ld returned 1 exit status -make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/glibc-2.3.3' -make[1]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/alpha-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.3/build-glibc/libc.so] Error 1 -make: *** [all] Error 2 - -extracted from GLIBC CVS by Dan Kegel -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.14&r2=1.15&cvsroot=glibc' -(to match context of...) -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.16&r2=1.17&cvsroot=glibc' -and rediffed. - -cf. -http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html - -Originally thought we needed this hunk, too: -http://sources.redhat.com/ml/libc-alpha/2003-10/msg00037.html -but it seems the sysdep.h change is sufficient, and works better -when compiling against linux-2.4. - -And then rediffed again against glibc-2.3.3 - ---- glibc-2.3.3.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h Fri Jun 20 09:24:36 2003 -+++ glibc-2.3.3/sysdeps/unix/sysv/linux/alpha/sysdep.h Wed Mar 23 23:59:58 2005 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003 -+/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003, 2004 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. -@@ -63,6 +63,16 @@ - /* Help old kernel headers where particular syscalls are not available. */ - #ifndef __NR_semtimedop - # define __NR_semtimedop 423 -+#endif -+ -+/* This is a kludge to make syscalls.list find these under the names -+ pread and pwrite, since some kernel headers define those names -+ and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 - #endif - - /* diff --git a/patches/glibc/2.3.3/fixup.patch b/patches/glibc/2.3.3/fixup.patch deleted file mode 100644 index 5f1e8a4..0000000 --- a/patches/glibc/2.3.3/fixup.patch +++ /dev/null @@ -1,74 +0,0 @@ -Fixes -dl-runtime.c:56: error: conflicting types for 'fixup' -../sysdeps/i386/dl-machine.h:158: error: previous declaration of 'fixup' was here -when building with gcc-3.4.0 - -First hunk: -Define ARCH_FIXUP_ATTRIBUTE and use it in the fixup function declarations. -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/dl-machine.h.diff?r1=1.124&r2=1.125&cvsroot=glibc - -Second hunk: -If ARCH_FIXUP_ATTRIBUTE is not defined, provide dummy definition. -Use macro in fixup function definitions. -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-runtime.c.diff?r1=1.64&r2=1.65&cvsroot=glibc -[rediffed against glibc-2.3.2] - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/i386/dl-machine.h,v -retrieving revision 1.124 -retrieving revision 1.125 -diff -u -r1.124 -r1.125 ---- libc/sysdeps/i386/dl-machine.h 2004/03/05 10:14:49 1.124 -+++ libc/sysdeps/i386/dl-machine.h 2004/03/09 07:42:29 1.125 -@@ -154,11 +154,14 @@ - destroys the passed register information. */ - /* GKM FIXME: Fix trampoline to pass bounds so we can do - without the `__unbounded' qualifier. */ --static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) -- __attribute__ ((regparm (2), unused)); -+#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused)) -+ -+static ElfW(Addr) fixup (struct link_map *__unbounded l, -+ ElfW(Word) reloc_offset) -+ ARCH_FIXUP_ATTRIBUTE; - static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, - ElfW(Addr) retaddr) -- __attribute__ ((regparm (3), unused)); -+ ARCH_FIXUP_ATTRIBUTE; - # endif - - /* This code is used in dl-runtime.c to call the `fixup' function -=================================================================== ---- /home/dank/downloads/glibc-2.3.2/elf/dl-runtime.c Fri Feb 7 11:41:12 2003 -+++ glibc-2.3.2/elf/dl-runtime.c Thu Apr 8 22:24:26 2004 -@@ -36,6 +36,12 @@ - # define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) - #endif - -+/* The fixup functions might have need special attributes. If none -+ are provided define the macro as empty. */ -+#ifndef ARCH_FIXUP_ATTRIBUTE -+# define ARCH_FIXUP_ATTRIBUTE -+#endif -+ - - /* This function is called through a special trampoline from the PLT the - first time each PLT entry is called. We must perform the relocation -@@ -45,7 +51,7 @@ - function. */ - - #ifndef ELF_MACHINE_NO_PLT --static ElfW(Addr) __attribute_used__ -+static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE - fixup ( - # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS - ELF_MACHINE_RUNTIME_FIXUP_ARGS, -@@ -132,7 +138,7 @@ - - #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ - --static ElfW(Addr) __attribute_used__ -+static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE - profile_fixup ( - #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS - ELF_MACHINE_RUNTIME_FIXUP_ARGS, diff --git a/patches/glibc/2.3.3/glibc-2.2.5-allow-gcc-4.0-malloc.patch b/patches/glibc/2.3.3/glibc-2.2.5-allow-gcc-4.0-malloc.patch deleted file mode 100644 index 2d9f092..0000000 --- a/patches/glibc/2.3.3/glibc-2.2.5-allow-gcc-4.0-malloc.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fixes -programs/ld-collate.c: In function 'obstack_int32_grow': -programs/ld-collate.c:48: error: invalid lvalue in increment -programs/ld-collate.c: In function 'obstack_int32_grow_fast': -programs/ld-collate.c:57: error: invalid lvalue in increment - -Change taken by eyeball from version 1.20 at -http://sourceware.org/cgi-bin/cvsweb.cgi/libc/malloc/obstack.h?cvsroot=glibc - ---- /home/dank/downloads/glibc-2.2.5/malloc/obstack.h 2001-07-05 21:55:35.000000000 -0700 -+++ glibc-2.2.5/malloc/obstack.h 2005-03-11 16:12:16.175812224 -0800 -@@ -423,22 +423,29 @@ - ({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ -- *((void **)__o->next_free)++ = (datum); \ -- (void) 0; }) -+ obstack_ptr_grow_fast (__o, datum); }) - - # define obstack_int_grow(OBSTACK,datum) \ - __extension__ \ - ({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ -- *((int *)__o->next_free)++ = (datum); \ -+ obstack_int_grow_fast (__o, datum); }) -+ -+# define obstack_ptr_grow_fast(OBSTACK,aptr) \ -+__extension__ \ -+({ struct obstack *__o1 = (OBSTACK); \ -+ *(const void **) __o1->next_free = (aptr); \ -+ __o1->next_free += sizeof (const void *); \ - (void) 0; }) - --# define obstack_ptr_grow_fast(h,aptr) \ -- (*((void **) (h)->next_free)++ = (aptr)) -+# define obstack_int_grow_fast(OBSTACK,aint) \ -+__extension__ \ -+({ struct obstack *__o1 = (OBSTACK); \ -+ *(int *) __o1->next_free = (aint); \ -+ __o1->next_free += sizeof (int); \ -+ (void) 0; }) - --# define obstack_int_grow_fast(h,aint) \ -- (*((int *) (h)->next_free)++ = (aint)) - - # define obstack_blank(OBSTACK,length) \ - __extension__ \ diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.4-inline.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.4-inline.patch deleted file mode 100644 index cdcd7ba..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.4-inline.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fixes -cc1: error: invalid parameter `max-inline-insns' -make[2]: *** [/home/dank/wk/crosstool-0.28-rc6/build/powerpc64-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/elf/dl-load.o] Error 1 -when building with gcc-3.4.0, which no longer has a single ---max-inline-insns parameter. - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/powerpc/powerpc64/Makefile.diff?r1=1.3&r2=1.4&cvsroot=glibc - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/powerpc/powerpc64/Makefile,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -r1.3 -r1.4 ---- libc/sysdeps/powerpc/powerpc64/Makefile 2003/10/22 21:30:03 1.3 -+++ libc/sysdeps/powerpc/powerpc64/Makefile 2004/02/20 05:43:52 1.4 -@@ -20,5 +20,5 @@ - - ifeq ($(subdir),elf) - # help gcc inline asm code from dl-machine.h --+cflags += --param max-inline-insns=2000 -++cflags += -finline-limit=2000 - endif - diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-elf.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-elf.patch deleted file mode 100644 index 1bd61e5..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-elf.patch +++ /dev/null @@ -1,34 +0,0 @@ - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-load.c.diff?r1=1.235&r2=1.236&cvsroot=glibc - -Fixes gcc-3.5 errors - -dl-load.c: In function `_dl_map_object_from_fd': -dl-load.c:1179: error: invalid lvalue in assignment -dl-load.c:1205: error: invalid lvalue in assignment - -=================================================================== -RCS file: /cvs/glibc/libc/elf/dl-load.c,v -retrieving revision 1.235 -retrieving revision 1.236 -diff -u -r1.235 -r1.236 ---- libc/elf/dl-load.c 2004/02/09 07:03:48 1.235 -+++ libc/elf/dl-load.c 2004/02/21 18:25:41 1.236 -@@ -1228,7 +1228,7 @@ - } - else - /* Adjust the PT_PHDR value by the runtime load address. */ -- (ElfW(Addr)) l->l_phdr += l->l_addr; -+ l->l_phdr = (ElfW(Phdr) *) ((ElfW(Addr)) l->l_phdr + l->l_addr); - } - - #ifdef USE_TLS -@@ -1254,7 +1254,7 @@ - } - } - else -- (ElfW(Addr)) l->l_ld += l->l_addr; -+ l->l_ld = (ElfW(Dyn) *) ((ElfW(Addr)) l->l_ld + l->l_addr); - - l->l_entry += l->l_addr; - diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-gconv.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-gconv.patch deleted file mode 100644 index 3d6df5b..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-gconv.patch +++ /dev/null @@ -1,228 +0,0 @@ -Fixes -gconv_open.c: In function `__gconv_open': -gconv_open.c:186: error: invalid lvalue in assignment -when building glibc-2.3.2 with gcc-3.5. - -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/iconv/gconv_simple.c.diff?r1=1.59&r2=1.63&cvsroot=glibc' - * (internal_ucs4_loop): Fix typo in last change. - - * (internal_ucs4le_loop): Remove cast used as lvalue. - - * Fix last commit. - - * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as lvalue. - (internal_ucs4le_loop_single): Likewise. - (ucs4_internal_loop): Likewise. - (BODY): Likewise. - (internal_ucs4_loop_single): Likewise. - -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/iconv/gconv_open.c.diff?r1=1.32&r2=1.33&cvsroot=glibc' - * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as lvalue. - (internal_ucs4le_loop_single): Likewise. - (ucs4_internal_loop): Likewise. - (BODY): Likewise. - (internal_ucs4_loop_single): Likewise. - - -=================================================================== -RCS file: /cvs/glibc/libc/iconv/gconv_open.c,v -retrieving revision 1.32 -retrieving revision 1.33 -diff -u -r1.32 -r1.33 ---- libc/iconv/gconv_open.c 2001/11/29 04:51:58 1.32 -+++ libc/iconv/gconv_open.c 2004/02/07 15:56:32 1.33 -@@ -1,5 +1,5 @@ - /* Find matching transformation algorithms and initialize steps. -- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - -@@ -182,8 +182,13 @@ - || __builtin_expect (__gconv_translit_find (runp), 0) == 0) - lastp = runp; - else -- /* This means we haven't found the module. Remove it. */ -- (lastp == NULL ? trans : lastp->next) = runp->next; -+ { -+ /* This means we haven't found the module. Remove it. */ -+ if (lastp == NULL) -+ trans = runp->next; -+ else -+ lastp->next = runp->next; -+ } - } - - /* Allocate room for handle. */ -=================================================================== -RCS file: /cvs/glibc/libc/iconv/gconv_simple.c,v -retrieving revision 1.59 -retrieving revision 1.63 -diff -u -r1.59 -r1.63 ---- libc/iconv/gconv_simple.c 2003/06/11 21:36:37 1.59 -+++ libc/iconv/gconv_simple.c 2004/03/09 10:00:31 1.63 -@@ -1,5 +1,5 @@ - /* Simple transformations functions. -- Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc. -+ Copyright (C) 1997-2003, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - -@@ -87,12 +87,13 @@ - #if __BYTE_ORDER == __LITTLE_ENDIAN - /* Sigh, we have to do some real work. */ - size_t cnt; -+ uint32_t *outptr32 = (uint32_t *) outptr; - - for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4) -- *((uint32_t *) outptr)++ = bswap_32 (*(const uint32_t *) inptr); -+ *outptr32++ = bswap_32 (*(const uint32_t *) inptr); - - *inptrp = inptr; -- *outptrp = outptr; -+ *outptrp = (unsigned char *) outptr32; - #elif __BYTE_ORDER == __BIG_ENDIAN - /* Simply copy the data. */ - *inptrp = inptr + n_convert * 4; -@@ -192,13 +193,16 @@ - (*outptrp)[2] = state->__value.__wchb[1]; - (*outptrp)[3] = state->__value.__wchb[0]; - -- *outptrp += 4; - #elif __BYTE_ORDER == __BIG_ENDIAN - /* XXX unaligned */ -- *(*((uint32_t **) outptrp)++) = state->__value.__wch; -+ (*outptrp)[0] = state->__value.__wchb[0]; -+ (*outptrp)[1] = state->__value.__wchb[1]; -+ (*outptrp)[2] = state->__value.__wchb[2]; -+ (*outptrp)[3] = state->__value.__wchb[3]; - #else - # error "This endianess is not supported." - #endif -+ *outptrp += 4; - - /* Clear the state buffer. */ - state->__count &= ~7; -@@ -268,7 +272,8 @@ - return __GCONV_ILLEGAL_INPUT; - } - -- *((uint32_t *) outptr)++ = inval; -+ *((uint32_t *) outptr) = inval; -+ outptr += sizeof (uint32_t); - } - - *inptrp = inptr; -@@ -447,9 +452,11 @@ - #if __BYTE_ORDER == __BIG_ENDIAN - /* Sigh, we have to do some real work. */ - size_t cnt; -+ uint32_t *outptr32 = (uint32_t *) outptr; - - for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4) -- *((uint32_t *) outptr)++ = bswap_32 (*(const uint32_t *) inptr); -+ *outptr32++ = bswap_32 (*(const uint32_t *) inptr); -+ outptr = (unsigned char *) outptr32; - - *inptrp = inptr; - *outptrp = outptr; -@@ -555,12 +562,17 @@ - (*outptrp)[2] = state->__value.__wchb[1]; - (*outptrp)[3] = state->__value.__wchb[0]; - -- *outptrp += 4; - #else - /* XXX unaligned */ -- *(*((uint32_t **) outptrp)++) = state->__value.__wch; -+ (*outptrp)[0] = state->__value.__wchb[0]; -+ (*outptrp)[1] = state->__value.__wchb[1]; -+ (*outptrp)[2] = state->__value.__wchb[2]; -+ (*outptrp)[3] = state->__value.__wchb[3]; -+ - #endif - -+ *outptrp += 4; -+ - /* Clear the state buffer. */ - state->__count &= ~7; - -@@ -626,7 +638,8 @@ - return __GCONV_ILLEGAL_INPUT; - } - -- *((uint32_t *) outptr)++ = inval; -+ *((uint32_t *) outptr) = inval; -+ outptr += sizeof (uint32_t); - } - - *inptrp = inptr; -@@ -808,7 +821,8 @@ - } \ - else \ - /* It's an one byte sequence. */ \ -- *((uint32_t *) outptr)++ = *inptr++; \ -+ *((uint32_t *) outptr) = *inptr++; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #include <iconv/loop.c> -@@ -838,7 +852,8 @@ - } \ - else \ - /* It's an one byte sequence. */ \ -- *outptr++ = *((const uint32_t *) inptr)++; \ -+ *outptr++ = *((const uint32_t *) inptr); \ -+ inptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #include <iconv/loop.c> -@@ -1032,7 +1047,8 @@ - } \ - \ - /* Now adjust the pointers and store the result. */ \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - -@@ -1153,7 +1169,8 @@ - STANDARD_FROM_LOOP_ERR_HANDLER (2); \ - } \ - \ -- *((uint32_t *) outptr)++ = u1; \ -+ *((uint32_t *) outptr) = u1; \ -+ outptr += sizeof (uint32_t); \ - inptr += 2; \ - } - #define LOOP_NEED_FLAGS -@@ -1201,7 +1218,8 @@ - } \ - else \ - { \ -- *((uint16_t *) outptr)++ = val; \ -+ *((uint16_t *) outptr) = val; \ -+ outptr += sizeof (uint16_t); \ - inptr += 4; \ - } \ - } -@@ -1242,7 +1260,8 @@ - continue; \ - } \ - \ -- *((uint32_t *) outptr)++ = u1; \ -+ *((uint32_t *) outptr) = u1; \ -+ outptr += sizeof (uint32_t); \ - inptr += 2; \ - } - #define LOOP_NEED_FLAGS -@@ -1291,7 +1310,8 @@ - } \ - else \ - { \ -- *((uint16_t *) outptr)++ = bswap_16 (val); \ -+ *((uint16_t *) outptr) = bswap_16 (val); \ -+ outptr += sizeof (uint16_t); \ - inptr += 4; \ - } \ - } diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-msort.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-msort.patch deleted file mode 100644 index e2673de..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-msort.patch +++ /dev/null @@ -1,46 +0,0 @@ -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/stdlib/msort.c.diff?r1=1.20&r2=1.21&cvsroot=glibc - -Fixes - -msort.c: In function `msort_with_tmp': -msort.c:59: error: invalid lvalue in increment -msort.c:59: error: invalid lvalue in increment -msort.c:64: error: invalid lvalue in increment -msort.c:64: error: invalid lvalue in increment - -when building with gcc-3.5. - -=================================================================== -RCS file: /cvs/glibc/libc/stdlib/msort.c,v -retrieving revision 1.20 -retrieving revision 1.21 -diff -u -r1.20 -r1.21 ---- libc/stdlib/msort.c 2002/09/24 04:20:57 1.20 -+++ libc/stdlib/msort.c 2004/02/07 15:57:34 1.21 -@@ -1,6 +1,6 @@ - /* An alternative to qsort, with an identical interface. - This file is part of the GNU C Library. -- Copyright (C) 1992,95-97,99,2000,01,02 Free Software Foundation, Inc. -+ Copyright (C) 1992,95-97,99,2000,01,02,04 Free Software Foundation, Inc. - Written by Mike Haertel, September 1988. - - The GNU C Library is free software; you can redistribute it and/or -@@ -56,12 +56,16 @@ - if ((*cmp) (b1, b2) <= 0) - { - --n1; -- *((op_t *) tmp)++ = *((op_t *) b1)++; -+ *((op_t *) tmp) = *((op_t *) b1); -+ tmp += sizeof (op_t); -+ b1 += sizeof (op_t); - } - else - { - --n2; -- *((op_t *) tmp)++ = *((op_t *) b2)++; -+ *((op_t *) tmp) = *((op_t *) b2); -+ tmp += sizeof (op_t); -+ b2 += sizeof (op_t); - } - } - else diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch deleted file mode 100644 index 5a68bc2..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch +++ /dev/null @@ -1,233 +0,0 @@ -http://sources.redhat.com/ml/libc-hacker/2004-02/msg00005.html -[Also in CVS, but the original patch is easier to get.] - -Fixes errors like - -clnt_perr.c: In function `_buf': -clnt_perr.c:67: error: invalid lvalue in assignment - -when building with gcc-3.5. - -To: libc-hacker at sources dot redhat dot com -Subject: Fix cast as lvalue in sunrpc -From: Andreas Schwab <schwab at suse dot de> -X-Yow: SHHHH!! I hear SIX TATTOOED TRUCK-DRIVERS tossing ENGINE BLOCKS - into empty OIL DRUMS dot dot -Date: Sun, 08 Feb 2004 17:38:31 +0100 -Message-ID: <je4qu1frw8.fsf@sykes.suse.de> - -This fixes the uses of casts as lvalue in the sunrpc code. - -Andreas. - -2004-02-08 Andreas Schwab <schwab@suse.de> - - * include/rpc/rpc.h: Declare thread variables with their correct - type. - * sunrpc/clnt_perr.c: Don't cast thread variables. - * sunrpc/clnt_raw.c: Likewise. - * sunrpc/clnt_simp.c: Likewise. - * sunrpc/key_call.c: Likewise. - * sunrpc/svcauth_des.c: Likewise. - * sunrpc/svc.c: Likewise. - * sunrpc/svc_raw.c: Likewise. - * sunrpc/svc_simple.c: Likewise. - -Index: include/rpc/rpc.h -=================================================================== -RCS file: /cvs/glibc/libc/include/rpc/rpc.h,v -retrieving revision 1.8 -diff -u -p -a -r1.8 rpc.h ---- glibc/include/rpc/rpc.h 5 Aug 2002 22:10:59 -0000 1.8 -+++ glibc/include/rpc/rpc.h 8 Feb 2004 14:19:14 -0000 -@@ -17,24 +17,24 @@ struct rpc_thread_variables { - struct pollfd *svc_pollfd_s; /* Global, rpc_common.c */ - int svc_max_pollfd_s; /* Global, rpc_common.c */ - -- void *clnt_perr_buf_s; /* clnt_perr.c */ -+ char *clnt_perr_buf_s; /* clnt_perr.c */ - -- void *clntraw_private_s; /* clnt_raw.c */ -+ struct clntraw_private_s *clntraw_private_s; /* clnt_raw.c */ - -- void *callrpc_private_s; /* clnt_simp.c */ -+ struct callrpc_private_s *callrpc_private_s; /* clnt_simp.c */ - -- void *key_call_private_s; /* key_call.c */ -+ struct key_call_private *key_call_private_s; /* key_call.c */ - -- void *authdes_cache_s; /* svcauth_des.c */ -- void *authdes_lru_s; /* svcauth_des.c */ -+ struct cache_entry *authdes_cache_s; /* svcauth_des.c */ -+ int *authdes_lru_s; /* svcauth_des.c */ - -- void *svc_xports_s; /* svc.c */ -- void *svc_head_s; /* svc.c */ -+ SVCXPRT **svc_xports_s; /* svc.c */ -+ struct svc_callout *svc_head_s; /* svc.c */ - -- void *svcraw_private_s; /* svc_raw.c */ -+ struct svcraw_private_s *svcraw_private_s; /* svc_raw.c */ - -- void *svcsimple_proglst_s; /* svc_simple.c */ -- void *svcsimple_transp_s; /* svc_simple.c */ -+ struct proglst_ *svcsimple_proglst_s; /* svc_simple.c */ -+ SVCXPRT *svcsimple_transp_s; /* svc_simple.c */ - }; - - extern struct rpc_thread_variables *__rpc_thread_variables(void) -Index: sunrpc/clnt_perr.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/clnt_perr.c,v -retrieving revision 1.19 -diff -u -p -a -r1.19 clnt_perr.c ---- glibc/sunrpc/clnt_perr.c 1 Nov 2002 20:43:54 -0000 1.19 -+++ glibc/sunrpc/clnt_perr.c 8 Feb 2004 14:19:14 -0000 -@@ -55,7 +55,7 @@ static char *auth_errmsg (enum auth_stat - * buf variable in a few functions. Overriding a global variable - * with a local variable of the same name is a bad idea, anyway. - */ --#define buf ((char *)RPC_THREAD_VARIABLE(clnt_perr_buf_s)) -+#define buf RPC_THREAD_VARIABLE(clnt_perr_buf_s) - #else - static char *buf; - #endif -Index: sunrpc/clnt_raw.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/clnt_raw.c,v -retrieving revision 1.10 -diff -u -p -a -r1.10 clnt_raw.c ---- glibc/sunrpc/clnt_raw.c 15 May 2002 00:21:00 -0000 1.10 -+++ glibc/sunrpc/clnt_raw.c 8 Feb 2004 14:19:14 -0000 -@@ -61,7 +61,7 @@ struct clntraw_private_s - u_int mcnt; - }; - #ifdef _RPC_THREAD_SAFE_ --#define clntraw_private ((struct clntraw_private_s *)RPC_THREAD_VARIABLE(clntraw_private_s)) -+#define clntraw_private RPC_THREAD_VARIABLE(clntraw_private_s) - #else - static struct clntraw_private_s *clntraw_private; - #endif -Index: sunrpc/clnt_simp.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/clnt_simp.c,v -retrieving revision 1.14 -diff -u -p -a -r1.14 clnt_simp.c ---- glibc/sunrpc/clnt_simp.c 15 May 2002 00:21:00 -0000 1.14 -+++ glibc/sunrpc/clnt_simp.c 8 Feb 2004 14:19:14 -0000 -@@ -55,7 +55,7 @@ struct callrpc_private_s - char *oldhost; - }; - #ifdef _RPC_THREAD_SAFE_ --#define callrpc_private ((struct callrpc_private_s *)RPC_THREAD_VARIABLE(callrpc_private_s)) -+#define callrpc_private RPC_THREAD_VARIABLE(callrpc_private_s) - #else - static struct callrpc_private_s *callrpc_private; - #endif -Index: sunrpc/key_call.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/key_call.c,v -retrieving revision 1.16 -diff -u -p -a -r1.16 key_call.c ---- glibc/sunrpc/key_call.c 6 Aug 2002 06:08:50 -0000 1.16 -+++ glibc/sunrpc/key_call.c 8 Feb 2004 14:19:14 -0000 -@@ -370,7 +370,7 @@ struct key_call_private { - uid_t uid; /* user-id at last authorization */ - }; - #ifdef _RPC_THREAD_SAFE_ --#define key_call_private_main ((struct key_call_private *)RPC_THREAD_VARIABLE(key_call_private_s)) -+#define key_call_private_main RPC_THREAD_VARIABLE(key_call_private_s) - #else - static struct key_call_private *key_call_private_main; - #endif -Index: sunrpc/svc.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/svc.c,v -retrieving revision 1.17 -diff -u -p -a -r1.17 svc.c ---- glibc/sunrpc/svc.c 29 Aug 2003 07:45:18 -0000 1.17 -+++ glibc/sunrpc/svc.c 8 Feb 2004 14:19:14 -0000 -@@ -44,7 +44,7 @@ - #include <sys/poll.h> - - #ifdef _RPC_THREAD_SAFE_ --#define xports ((SVCXPRT **)RPC_THREAD_VARIABLE(svc_xports_s)) -+#define xports RPC_THREAD_VARIABLE(svc_xports_s) - #else - static SVCXPRT **xports; - #endif -@@ -63,7 +63,7 @@ struct svc_callout { - void (*sc_dispatch) (struct svc_req *, SVCXPRT *); - }; - #ifdef _RPC_THREAD_SAFE_ --#define svc_head ((struct svc_callout *)RPC_THREAD_VARIABLE(svc_head_s)) -+#define svc_head RPC_THREAD_VARIABLE(svc_head_s) - #else - static struct svc_callout *svc_head; - #endif -Index: sunrpc/svc_raw.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/svc_raw.c,v -retrieving revision 1.5 -diff -u -p -a -r1.5 svc_raw.c ---- glibc/sunrpc/svc_raw.c 26 Feb 2002 01:43:56 -0000 1.5 -+++ glibc/sunrpc/svc_raw.c 8 Feb 2004 14:19:14 -0000 -@@ -54,7 +54,7 @@ struct svcraw_private_s - char verf_body[MAX_AUTH_BYTES]; - }; - #ifdef _RPC_THREAD_SAFE_ --#define svcraw_private ((struct svcraw_private_s *)RPC_THREAD_VARIABLE(svcraw_private_s)) -+#define svcraw_private RPC_THREAD_VARIABLE(svcraw_private_s) - #else - static struct svcraw_private_s *svcraw_private; - #endif -Index: sunrpc/svc_simple.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/svc_simple.c,v -retrieving revision 1.16 -diff -u -p -a -r1.16 svc_simple.c ---- glibc/sunrpc/svc_simple.c 6 Aug 2002 05:10:30 -0000 1.16 -+++ glibc/sunrpc/svc_simple.c 8 Feb 2004 14:19:14 -0000 -@@ -61,7 +61,7 @@ struct proglst_ - struct proglst_ *p_nxt; - }; - #ifdef _RPC_THREAD_SAFE_ --#define proglst ((struct proglst_ *)RPC_THREAD_VARIABLE(svcsimple_proglst_s)) -+#define proglst RPC_THREAD_VARIABLE(svcsimple_proglst_s) - #else - static struct proglst_ *proglst; - #endif -@@ -69,7 +69,7 @@ static struct proglst_ *proglst; - - static void universal (struct svc_req *rqstp, SVCXPRT *transp_s); - #ifdef _RPC_THREAD_SAFE_ --#define transp ((SVCXPRT *)RPC_THREAD_VARIABLE(svcsimple_transp_s)) -+#define transp RPC_THREAD_VARIABLE(svcsimple_transp_s) - #else - static SVCXPRT *transp; - #endif -Index: sunrpc/svcauth_des.c -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/svcauth_des.c,v -retrieving revision 1.8 -diff -u -p -a -r1.8 svcauth_des.c ---- glibc/sunrpc/svcauth_des.c 20 Aug 2001 06:37:09 -0000 1.8 -+++ glibc/sunrpc/svcauth_des.c 8 Feb 2004 14:19:14 -0000 -@@ -72,8 +72,8 @@ struct cache_entry - char *localcred; /* generic local credential */ - }; - #ifdef _RPC_THREAD_SAFE_ --#define authdes_cache ((struct cache_entry *)RPC_THREAD_VARIABLE(authdes_cache_s)) --#define authdes_lru ((int *)RPC_THREAD_VARIABLE(authdes_lru_s)) -+#define authdes_cache RPC_THREAD_VARIABLE(authdes_cache_s) -+#define authdes_lru RPC_THREAD_VARIABLE(authdes_lru_s) - #else - static struct cache_entry *authdes_cache; - static int *authdes_lru; - --- -Andreas Schwab, SuSE Labs, schwab@suse.de -SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany -Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 -"And now for something completely different." - diff --git a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-xdr.patch b/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-xdr.patch deleted file mode 100644 index 4d811e9..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-xdr.patch +++ /dev/null @@ -1,44 +0,0 @@ -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sunrpc/rpc/xdr.h.diff?r1=1.27&r2=1.28&cvsroot=glibc -(but see also http://sources.redhat.com/ml/libc-alpha/2004-03/msg00267.html -and http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02056.html) - -Fixes errors - -rpc_cmsg.c: In function `xdr_callmsg': -rpc_cmsg.c:70: error: invalid lvalue in increment -rpc_cmsg.c:71: error: invalid lvalue in increment -rpc_cmsg.c:74: error: invalid lvalue in increment -rpc_cmsg.c:77: error: invalid lvalue in increment -rpc_cmsg.c:78: error: invalid lvalue in increment -rpc_cmsg.c:79: error: invalid lvalue in increment -rpc_cmsg.c:81: error: invalid lvalue in increment -rpc_cmsg.c:89: error: invalid lvalue in increment -rpc_cmsg.c:106: error: invalid lvalue in increment -rpc_cmsg.c:107: error: invalid lvalue in increment -rpc_cmsg.c:112: error: invalid lvalue in increment -rpc_cmsg.c:117: error: invalid lvalue in increment -rpc_cmsg.c:118: error: invalid lvalue in increment -rpc_cmsg.c:119: error: invalid lvalue in increment -rpc_cmsg.c:121: error: invalid lvalue in increment -rpc_cmsg.c:160: error: invalid lvalue in increment - -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/rpc/xdr.h,v -retrieving revision 1.27 -retrieving revision 1.28 -diff -u -r1.27 -r1.28 ---- libc/sunrpc/rpc/xdr.h 2002/12/16 02:05:49 1.27 -+++ libc/sunrpc/rpc/xdr.h 2004/03/22 10:52:33 1.28 -@@ -262,10 +262,8 @@ - * and shouldn't be used any longer. Code which use this defines or longs - * in the RPC code will not work on 64bit Solaris platforms ! - */ --#define IXDR_GET_LONG(buf) \ -- ((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++)) --#define IXDR_PUT_LONG(buf, v) \ -- (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v))) -+#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf)) -+#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v))) - #define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf)) - #define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v)) - diff --git a/patches/glibc/2.3.3/glibc-2.3.2-arm-fix-strlen.patch b/patches/glibc/2.3.3/glibc-2.3.2-arm-fix-strlen.patch deleted file mode 100644 index 03e5c5b..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-arm-fix-strlen.patch +++ /dev/null @@ -1,54 +0,0 @@ -See also -http://lists.gnu.org/archive/html/bug-glibc/2002-12/msg00056.html -http://lists.arm.linux.org.uk/pipermail/linux-arm-toolchain/2004-June/000016.html - -2002-12-12 Andreas Schwab <schwab@suse.de> - * sysdeps/arm/strlen.S: Fix last word check for big endian. - -To: libc-alpha at sources dot redhat dot com -Subject: [PATCH] REPOST: ARM big-endian strlen() fix -References: <m3brjy27mo.fsf@defiant.pm.waw.pl> -From: Krzysztof Halasa <khc at pm dot waw dot pl> -Date: Thu, 10 Jun 2004 13:41:44 +0200 -Message-ID: <m3r7sn8wsn.fsf@defiant.pm.waw.pl> -MIME-Version: 1.0 -Content-Type: multipart/mixed; boundary="=-=-=" - ---=-=-= - -The attached patch fixes strlen() on big-endian ARM. Please apply. -Thanks. --- -Krzysztof Halasa, B*FH - ---=-=-= -Content-Type: text/x-patch -Content-Disposition: inline; filename=glibc-strlen.patch - ---- glibc-2.3.3.old/sysdeps/arm/strlen.S 2003-04-30 00:47:20.000000000 +0200 -+++ glibc-2.3.3/sysdeps/arm/strlen.S 2004-06-06 03:21:48.351931240 +0200 -@@ -53,12 +53,21 @@ - ldrne r2, [r1], $4 @ and we continue to the next word - bne Laligned @ - Llastword: @ drop through to here once we find a -+#ifdef __ARMEB__ -+ tst r2, $0xff000000 @ word that has a zero byte in it -+ addne r0, r0, $1 @ -+ tstne r2, $0x00ff0000 @ and add up to 3 bytes on to it -+ addne r0, r0, $1 @ -+ tstne r2, $0x0000ff00 @ (if first three all non-zero, 4th -+ addne r0, r0, $1 @ must be zero) -+#else - tst r2, $0x000000ff @ word that has a zero byte in it - addne r0, r0, $1 @ - tstne r2, $0x0000ff00 @ and add up to 3 bytes on to it - addne r0, r0, $1 @ - tstne r2, $0x00ff0000 @ (if first three all non-zero, 4th - addne r0, r0, $1 @ must be zero) -+#endif - RETINSTR(mov,pc,lr) - END(strlen) - libc_hidden_builtin_def (strlen) - ---=-=-=-- - diff --git a/patches/glibc/2.3.3/glibc-2.3.2-pr139-fix.patch b/patches/glibc/2.3.3/glibc-2.3.2-pr139-fix.patch deleted file mode 100644 index 96e8fb3..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-pr139-fix.patch +++ /dev/null @@ -1,104 +0,0 @@ -2004-04-29 Jakub Jelinek <jakub@redhat.com> - - * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31 - for single precision register, add it to __asm clobbers [BZ #139]. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31 - for single precision register, add it to __asm clobbers. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox - instead of fqtoi in QP_HANDLE_EXCEPTIONS. - * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise. - Reported by M. H. VanLeeuwen <vanl@megsinet.net>. - -See http://sources.redhat.com/bugzilla/show_bug.cgi?id=139 -Fixes error -qp_qtoi.s:261: Error: Illegal operands: There are only 32 single precision f registers; [0-31] -plus a couple other things vanl noticed. - -diff -ur orig/qp_qtoi.c new/qp_qtoi.c ---- orig/qp_qtoi.c Sat May 1 00:40:06 2004 -+++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c Sat May 1 00:39:40 2004 -@@ -1,6 +1,6 @@ - /* Software floating-point emulation. - Return (int)(*a) -- Copyright (C) 1997,1999 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@cygnus.com) and - Jakub Jelinek (jj@ultra.linux.cz). -@@ -38,9 +38,9 @@ - __asm ( - " ldd [%1], %%f52\n" - " ldd [%1+8], %%f54\n" --" fqtoi %%f52, %%f60\n" --" st %%f60, [%0]\n" --" " : : "r" (&rx), "r" (a) : QP_CLOBBER); -+" fqtoi %%f52, %%f31\n" -+" st %%f31, [%0]\n" -+" " : : "r" (&rx), "r" (a) : QP_CLOBBER, "f31"); - r = rx); - - return r; -diff -ur orig/qp_qtoui.c new/qp_qtoui.c ---- orig/qp_qtoui.c Sat May 1 00:40:06 2004 -+++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c Sat May 1 00:39:40 2004 -@@ -1,6 +1,6 @@ - /* Software floating-point emulation. - Return (unsigned int)(*a) -- Copyright (C) 1997,1999 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@cygnus.com) and - Jakub Jelinek (jj@ultra.linux.cz). -@@ -38,9 +38,9 @@ - __asm ( - " ldd [%1], %%f52\n" - " ldd [%1+8], %%f54\n" --" fqtoi %%f52, %%f60\n" --" st %%f60, [%0]\n" --" " : : "r" (&rx), "r" (a) : QP_CLOBBER); -+" fqtoi %%f52, %%f31\n" -+" st %%f31, [%0]\n" -+" " : : "r" (&rx), "r" (a) : QP_CLOBBER, "f31"); - r = rx); - - return r; -diff -ur orig/qp_qtoux.c new/qp_qtoux.c ---- orig/qp_qtoux.c Sat May 1 00:40:06 2004 -+++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c Sat May 1 00:39:40 2004 -@@ -1,6 +1,6 @@ - /* Software floating-point emulation. - Return (unsigned long)(*a) -- Copyright (C) 1997,1999 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@cygnus.com) and - Jakub Jelinek (jj@ultra.linux.cz). -@@ -38,7 +38,7 @@ - __asm ( - " ldd [%1], %%f52\n" - " ldd [%1+8], %%f54\n" --" fqtoi %%f52, %%f60\n" -+" fqtox %%f52, %%f60\n" - " std %%f60, [%0]\n" - " " : : "r" (&rx), "r" (a) : QP_CLOBBER); - r = rx); -diff -ur orig/qp_qtox.c new/qp_qtox.c ---- orig/qp_qtox.c Sat May 1 00:40:06 2004 -+++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c Sat May 1 00:39:40 2004 -@@ -1,6 +1,6 @@ - /* Software floating-point emulation. - Return (long)(*a) -- Copyright (C) 1997,1999 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@cygnus.com) and - Jakub Jelinek (jj@ultra.linux.cz). -@@ -38,7 +38,7 @@ - __asm ( - " ldd [%1], %%f52\n" - " ldd [%1+8], %%f54\n" --" fqtoi %%f52, %%f60\n" -+" fqtox %%f52, %%f60\n" - " std %%f60, [%0]\n" - " " : : "r" (&rx), "r" (a) : QP_CLOBBER); - r = rx); diff --git a/patches/glibc/2.3.3/glibc-2.3.2-sparc32-sysdep.patch b/patches/glibc/2.3.3/glibc-2.3.2-sparc32-sysdep.patch deleted file mode 100644 index 289f66e..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-sparc32-sysdep.patch +++ /dev/null @@ -1,46 +0,0 @@ -Fixes the error - -<stdin>: Assembler messages: -<stdin>:2: Error: junk at end of line, first unrecognized character is `1' ... -<stdin>:2: Error: Illegal operands: PC-relative operand can't be a constant -make[4]: *** [/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/io/rtld-open.os] Error 1 -make[4]: Leaving directory `/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/glibc-2.3.2/io' -make[3]: *** [/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/io/rtld-xstat64.os] Error 2 -make[3]: Leaving directory `/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/glibc-2.3.2/elf' -make[2]: *** [/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/elf/rtld-libc.a] Error 2 -make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc13/build/sparc-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/glibc-2.3.2/elf' -make[1]: *** [elf/subdir_lib] Error 2 - -when building glibc-2.3.2 with gcc-3.4.0 for sparc32. - -The .s file left behind by -save-temps contains the big long line - -.text; .global __libc_open; .align 4; __libc_open:; .type __libc_open,@function;; mov 5, %g1; ta 0x10; bcs __syscall_error_handler; nop; .section .gnu.linkonce.t. 1 .get_pic.l7,"ax",@progbits; .globl 1 .get_pic.l7; .hidden 1 .get_pic.l7; .type 1 .get_pic.l7,@function; 1 .get_pic.l7: retl; add %o7, %l7, %l7; .previous; .subsection 3; __syscall_error_handler: save %sp,-96,%sp; sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7; call 1 .get_pic.l7; add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7; ld [%l7 + errno], %l0; st %i0, [%l0]; jmpl %i7+8, %g0; restore %g0, -1, %o0; .previous; - retl; nop - -The error messages appear to refer to the '1 .get_pic.17', e.g. - .globl 1 .get_pic.l7; .hidden 1 .get_pic.l7; -which seems to come from -glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h -where it appears originally as - .globl __sparc.get_pic.l7; \ - .hidden __sparc.get_pic.l7; \ - -Note that __sparc is a predefined symbol on Solaris and some other environments; -it's not surprising to see it predefined on Linux, too. - - ---- glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h.old 2004-05-15 10:23:11.000000000 -0700 -+++ glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 2004-05-15 10:24:12.000000000 -0700 -@@ -39,6 +39,11 @@ - #undef END - #undef LOC - -+/* gcc-3.4.0 seems to expand __sparc as a predefined preprocessor symbol, which we don't want here */ -+#ifdef __sparc -+#undef __sparc -+#endif -+ - #define ENTRY(name) \ - .global C_SYMBOL_NAME(name); \ - .align 4;\ diff --git a/patches/glibc/2.3.3/glibc-2.3.2-sparc64-dl-machine.patch b/patches/glibc/2.3.3/glibc-2.3.2-sparc64-dl-machine.patch deleted file mode 100644 index 20cb799..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-sparc64-dl-machine.patch +++ /dev/null @@ -1,29 +0,0 @@ -See http://gcc.gnu.org/PR15345 - -Quick kludge by H.J.Lu -Works around gcc-3.4.0 error which shows up when building glibc-2.3.2 for sparc64: - -.../sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/libc.a(dl-reloc.o)(.text+0x4b4): In function `elf_machine_load_address.3': -: undefined reference to `_DYNAMIC' -collect2: ld returned 1 exit status -make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/elf/sln] Error 1 - - ---- glibc-2.3.2/sysdeps/sparc/sparc64/dl-machine.h.orig Sat May 8 20:54:26 2004 -+++ glibc-2.3.2/sysdeps/sparc/sparc64/dl-machine.h Sat May 8 17:18:04 2004 -@@ -65,6 +65,7 @@ - } - - /* Return the run-time load address of the shared object. */ -+#ifdef IS_IN_rtld - static inline Elf64_Addr - elf_machine_load_address (void) - { -@@ -84,6 +85,7 @@ - pc[3]*4 is l_addr + _GLOBAL_OFFSET_TABLE_ - (long)pc - 12 */ - return (Elf64_Addr) got - *got + (Elf32_Sword) ((pc[2] - pc[3]) * 4) - 4; - } -+#endif - - /* We have 4 cases to handle. And we code different code sequences - for each one. I love V9 code models... */ diff --git a/patches/glibc/2.3.3/glibc-2.3.2-without-fp.patch b/patches/glibc/2.3.3/glibc-2.3.2-without-fp.patch deleted file mode 100644 index 76cdfaa..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.2-without-fp.patch +++ /dev/null @@ -1,89 +0,0 @@ -Sender: libc-alpha-owner@sources.redhat.com -Date: Tue, 29 Jul 2003 17:49:47 -0400 -From: Daniel Jacobowitz <drow@mvista.com> -To: GNU C Library <libc-alpha@sources.redhat.com> -Subject: Re: __sim_exceptions undefined when linking glibc-2.3.2's libm.so with --without-fp -Message-ID: <20030729214947.GA29932@nevyn.them.org> - -On Tue, Jul 29, 2003 at 02:53:33PM -0700, Dan Kegel wrote: -> On ppc405, I'm getting the following when linking glibc's libm: -> /gcc-3.3-glibc-2.3.2/build-glibc/math/libm_pic.a(fclrexcpt.os)(.text+0x1a): -> In function `feclearexcept@GLIBC_2.1': -> : undefined reference to `__sim_exceptions' -> -> That symbol seems to be present in libc.so. nm shows - ---without-fp doesn't work. Try this. Make up a changelog entry if it -works. - -Date: Tue, 29 Jul 2003 14:56:50 -0700 -Message-Id: <200307292156.h6TLuol24356@magilla.sf.frob.com> -From: Roland McGrath <roland@redhat.com> -To: Daniel Jacobowitz <drow@mvista.com> -Cc: GNU C Library <libc-alpha@sources.redhat.com> -Subject: Re: __sim_exceptions undefined when linking glibc-2.3.2's libm.so with --without-fp -In-Reply-To: Daniel Jacobowitz's message of Tuesday, 29 July 2003 17:49:47 -0400 <20030729214947.GA29932@nevyn.them.org> - -> +int __sim_exceptions __attribute__ ((section(".bss"))); - -Use __attribute__ ((nocommon)) instead (and please watch the standard -whitespace conventions, i.e. ``section (''). - -diff -purN glibc-2.3.2.orig/sysdeps/powerpc/nofpu/sim-full.c glibc-2.3.2/sysdeps/powerpc/nofpu/sim-full.c ---- glibc-2.3.2.orig/sysdeps/powerpc/nofpu/sim-full.c 2002-10-19 16:06:29.000000000 -0400 -+++ glibc-2.3.2/sysdeps/powerpc/nofpu/sim-full.c 2003-05-14 15:10:42.000000000 -0400 -@@ -24,11 +24,14 @@ - - /* Global to store sticky exceptions. */ --int __sim_exceptions; -+int __sim_exceptions __attribute__ ((nocommon)); -+libc_hidden_data_def (__sim_exceptions); - - /* By default, no exceptions should trap. */ - int __sim_disabled_exceptions = 0xffffffff; -+libc_hidden_data_def (__sim_disabled_exceptions); - --int __sim_round_mode; -+int __sim_round_mode __attribute__ ((nocommon)); -+libc_hidden_data_def (__sim_round_mode); - - void - __simulate_exceptions (int x) -diff -purN glibc-2.3.2.orig/sysdeps/powerpc/nofpu/soft-supp.h glibc-2.3.2/sysdeps/powerpc/nofpu/soft-supp.h ---- glibc-2.3.2.orig/sysdeps/powerpc/nofpu/soft-supp.h 2002-10-19 16:06:29.000000000 -0400 -+++ glibc-2.3.2/sysdeps/powerpc/nofpu/soft-supp.h 2003-05-14 15:09:53.000000000 -0400 -@@ -27,7 +27,11 @@ typedef union - } fenv_union_t; - - --extern int __sim_exceptions attribute_hidden; --extern int __sim_disabled_exceptions attribute_hidden; --extern int __sim_round_mode attribute_hidden; -+extern int __sim_exceptions; -+libc_hidden_proto (__sim_exceptions); -+extern int __sim_disabled_exceptions; -+libc_hidden_proto (__sim_disabled_exceptions); -+extern int __sim_round_mode; -+libc_hidden_proto (__sim_round_mode); -+ - extern void __simulate_exceptions (int x) attribute_hidden; -diff -urp glibc-2.3.2.orig/sysdeps/powerpc/soft-fp/sfp-machine.h glibc-2.3.2/sysdeps/powerpc/soft-fp/sfp-machine.h ---- glibc-2.3.2.orig/sysdeps/powerpc/soft-fp/sfp-machine.h 2002-10-17 18:36:14.000000000 -0400 -+++ glibc-2.3.2/sysdeps/powerpc/soft-fp/sfp-machine.h 2003-05-14 16:48:13.000000000 -0400 -@@ -52,7 +52,11 @@ - #define FP_HANDLE_EXCEPTIONS __simulate_exceptions (_fex) - #define FP_ROUNDMODE __sim_round_mode - --extern int __sim_exceptions attribute_hidden; --extern int __sim_disabled_exceptions attribute_hidden; --extern int __sim_round_mode attribute_hidden; -+extern int __sim_exceptions; -+libc_hidden_proto (__sim_exceptions); -+extern int __sim_disabled_exceptions; -+libc_hidden_proto (__sim_disabled_exceptions); -+extern int __sim_round_mode; -+libc_hidden_proto (__sim_round_mode); -+ - extern void __simulate_exceptions (int x) attribute_hidden; - - diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-configure.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-configure.patch deleted file mode 100644 index 3f568ae..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-configure.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fixes following problem building glibc-2.3.3 with gcc-4.0: - -checking version of i686-unknown-linux-gnu-gcc ... 4.0.0, bad -checking for gnumake... no -checking for gmake... gmake -checking version of gmake... 3.79.1, ok -checking for gnumsgfmt... no -checking for gmsgfmt... no -checking for msgfmt... msgfmt -checking version of msgfmt... 0.11.4, ok -checking for makeinfo... makeinfo -checking version of makeinfo... 4.3, ok -checking for sed... sed -checking version of sed... 4.0.5, ok -checking for autoconf... autoconf -checking whether autoconf works... yes -configure: error: -*** These critical programs are missing or too old: gcc - ---- glibc-2.3.3/configure.old Mon Mar 14 12:01:10 2005 -+++ glibc-2.3.3/configure Mon Mar 14 12:02:03 2005 -@@ -3899,7 +3899,7 @@ - ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.[2-9]*) -+ 3.[2-9]*|4.[01]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-2.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-2.patch deleted file mode 100644 index 3a235a4..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-2.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fixes - -In file included from dynamic-link.h:310, - from dl-reloc.c:265: -do-rel.h:56: error: invalid storage class for function 'elf_dynamic_do_rela' -In file included from dl-reloc.c:265: -dynamic-link.h: In function '_dl_relocate_object': -dynamic-link.h:33: error: invalid storage class for function 'elf_get_dynamic_info' - -when building glibc-2.3.3 with gcc-4.0 -2nd hunk is like http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/dynamic-link.h.diff?r1=1.50&r2=1.51&cvsroot=glibc -but works with older compilers, too - ---- glibc-2.3.3/elf/do-rel.h.old 2005-03-16 13:09:37.000000000 -0800 -+++ glibc-2.3.3/elf/do-rel.h 2005-03-16 13:10:50.000000000 -0800 -@@ -49,7 +49,14 @@ - relocations; they should be set up to call _dl_runtime_resolve, rather - than fully resolved now. */ - --static inline void __attribute__ ((always_inline)) -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_dynamic_do_rel (struct link_map *map, - ElfW(Addr) reladdr, ElfW(Addr) relsize, - int lazy) ---- glibc-2.3.3/elf/dynamic-link.h.old 2005-03-16 13:22:35.000000000 -0800 -+++ glibc-2.3.3/elf/dynamic-link.h 2005-03-16 13:26:23.000000000 -0800 -@@ -27,8 +27,17 @@ - - - /* Read the dynamic section at DYN and fill in INFO with indices DT_*. */ -- --static inline void __attribute__ ((unused, always_inline)) -+#if !defined(RESOLVE) || __GNUC__ < 4 -+static -+#else -+auto -+#endif -+inline void -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute__ ((unused, always_inline)) -+#else -+ __attribute__ ((unused)) -+#endif - elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) - { - ElfW(Dyn) *dyn = l->l_ld; diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-3.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-3.patch deleted file mode 100644 index 354bdee..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-3.patch +++ /dev/null @@ -1,79 +0,0 @@ -Fixes -In file included from ldconfig.c:136: -../sysdeps/i386/dl-procinfo.c:53: error: static declaration of '_dl_x86_cap_flags' follows non-static declaration -../sysdeps/i386/dl-procinfo.c:61: error: previous declaration of '_dl_x86_cap_flags' was here -../sysdeps/i386/dl-procinfo.c:72: error: static declaration of '_dl_x86_platforms' follows non-static declaration -../sysdeps/i386/dl-procinfo.c:77: error: previous declaration of '_dl_x86_platforms' was here -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/glibc-2.3.3/elf' -when building with gcc-4.0. - -2004-07-10 Ulrich Drepper <drepper@redhat.com> - - * elf/ldconfig.c: Define PROCINFO_CLASS as static before including - ldsodefs.h. - * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not - already defined. - * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not - already defined. - -See -http://sources.redhat.com/ml/glibc-cvs/2004-q3/msg00093.html -http://sources.redhat.com/ml/glibc-cvs/2004-q3/msg00097.html -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/dl-procinfo.c.diff?cvsroot=glibc&r1=1.1&r2=1.2 - -rediffed against glibc-2.3.3 - -diff -ur glibc-2.3.3.orig/elf/ldconfig.c glibc-2.3.3/elf/ldconfig.c ---- glibc-2.3.3.orig/elf/ldconfig.c Tue Aug 26 01:07:19 2003 -+++ glibc-2.3.3/elf/ldconfig.c Sat Mar 19 12:02:08 2005 -@@ -17,6 +17,7 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#define PROCINFO_CLASS static - #include <alloca.h> - #include <argp.h> - #include <dirent.h> -diff -ur glibc-2.3.3.orig/sysdeps/generic/ldsodefs.h glibc-2.3.3/sysdeps/generic/ldsodefs.h ---- glibc-2.3.3.orig/sysdeps/generic/ldsodefs.h Mon Nov 24 14:56:07 2003 -+++ glibc-2.3.3/sysdeps/generic/ldsodefs.h Sat Mar 19 12:02:08 2005 -@@ -348,7 +348,9 @@ - - /* Get architecture specific definitions. */ - #define PROCINFO_DECL --#define PROCINFO_CLASS EXTERN -+#ifndef PROCINFO_CLASS -+# define PROCINFO_CLASS EXTERN -+#endif - #include <dl-procinfo.c> - - /* Structure describing the dynamic linker itself. */ -Only in glibc-2.3.3/sysdeps/generic: ldsodefs.h~ -diff -ur glibc-2.3.3.orig/sysdeps/i386/dl-procinfo.c glibc-2.3.3/sysdeps/i386/dl-procinfo.c ---- glibc-2.3.3.orig/sysdeps/i386/dl-procinfo.c Wed Sep 24 20:54:54 2003 -+++ glibc-2.3.3/sysdeps/i386/dl-procinfo.c Sat Mar 19 12:02:08 2005 -@@ -1,5 +1,5 @@ - /* Data for i386 version of processor capability information. -- Copyright (C) 2001,2002,2003 Free Software Foundation, Inc. -+ Copyright (C) 2001,2002,2003, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - -@@ -24,7 +24,7 @@ - If anything should be added here check whether the size of each string - is still ok with the given array size. - -- All the #ifdefs in the definitions ar equite irritating but -+ All the #ifdefs in the definitions are quite irritating but - necessary if we want to avoid duplicating the information. There - are three different modes: - -@@ -41,7 +41,7 @@ - */ - - #ifndef PROCINFO_CLASS --#define PROCINFO_CLASS -+# define PROCINFO_CLASS - #endif - - #if !defined PROCINFO_DECL && defined SHARED diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-i386.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-i386.patch deleted file mode 100644 index d0ebb13..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-i386.patch +++ /dev/null @@ -1,111 +0,0 @@ -Fixes - -In file included from dynamic-link.h:22, - from dl-reloc.c:265: -../sysdeps/i386/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/i386/dl-machine.h:395: error: invalid storage class for function 'elf_machine_rel' -../sysdeps/i386/dl-machine.h:539: error: invalid storage class for function 'elf_machine_rela' -../sysdeps/i386/dl-machine.h:640: error: invalid storage class for function 'elf_machine_rel_relative' -../sysdeps/i386/dl-machine.h:650: error: invalid storage class for function 'elf_machine_rela_relative' -../sysdeps/i386/dl-machine.h:659: error: invalid storage class for function 'elf_machine_lazy_rel' -../sysdeps/i386/dl-machine.h:680: error: invalid storage class for function 'elf_machine_lazy_rela' -make[2]: *** [/home/dank/queue/jobdir.dual2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/build-glibc/elf/dl-reloc.o] Error 1 - ---- glibc-2.3.3/sysdeps/i386/dl-machine.h.old Wed Mar 16 22:24:09 2005 -+++ glibc-2.3.3/sysdeps/i386/dl-machine.h Thu Mar 17 01:30:09 2005 -@@ -385,7 +385,14 @@ - /* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -@@ -529,7 +536,14 @@ - } - - #ifndef RTLD_BOOTSTRAP --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -@@ -631,7 +645,14 @@ - } - #endif /* !RTLD_BOOTSTRAP */ - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc, - void *const reloc_addr_arg) - { -@@ -641,7 +662,14 @@ - } - - #ifndef RTLD_BOOTSTRAP --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - void *const reloc_addr_arg) - { -@@ -650,7 +678,14 @@ - } - #endif /* !RTLD_BOOTSTRAP */ - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rel *reloc) - { -@@ -671,7 +706,14 @@ - - #ifndef RTLD_BOOTSTRAP - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rela (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rela *reloc) - { diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconv.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconv.patch deleted file mode 100644 index 1aa023b..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconv.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fixes -iconvconfig.c: In function 'write_output': -iconvconfig.c:1014: error: invalid storage class for function 'name_insert' -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/x86_64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/glibc-2.3.3/iconv' - -Like http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/iconv/iconvconfig.c.diff?r1=1.19&r2=1.20&cvsroot=glibc -but works with older compilers - ---- glibc-2.3.3/iconv/iconvconfig.c.old Thu Mar 17 01:23:04 2005 -+++ glibc-2.3.3/iconv/iconvconfig.c Thu Mar 17 01:24:56 2005 -@@ -1010,7 +1010,12 @@ - char finalname[prefix_len + sizeof (GCONV_MODULES_CACHE)]; - - /* Function to insert the names. */ -- static void name_insert (const void *nodep, VISIT value, int level) -+#if __GNUC__ >= 4 -+ auto void -+#else -+ static void -+#endif -+ name_insert (const void *nodep, VISIT value, int level) - { - struct name *name; - unsigned int idx; diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata-2.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata-2.patch deleted file mode 100644 index 98e9903..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata-2.patch +++ /dev/null @@ -1,124 +0,0 @@ -To: Glibc hackers <libc-hacker at sources dot redhat dot com> -Subject: iconvdata: Get rid of lvalue casts -From: Andreas Jaeger <aj at suse dot de> -Date: Sun, 07 Mar 2004 08:29:47 +0100 -Message-ID: <m3fzclt8r8.fsf@gromit.moeb> - -Here's one more patch to get rid of lvalues to make GCC 3.5 happy. It -generates the same code as before on my machine and passes the -testsuite. - -Ok to commit? - -Andreas - -2004-03-07 Andreas Jaeger <aj@suse.de> - - * iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue. - * iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise. - -[rediffed to make crosstool happy] - -diff -ur glibc-2.3.3.orig/iconvdata/euc-jisx0213.c glibc-2.3.3.new/iconvdata/euc-jisx0213.c ---- glibc-2.3.3.orig/iconvdata/euc-jisx0213.c Mon Dec 2 14:07:54 2002 -+++ glibc-2.3.3.new/iconvdata/euc-jisx0213.c Fri Mar 18 09:29:22 2005 -@@ -1,5 +1,5 @@ - /* Conversion from and to EUC-JISX0213. -- Copyright (C) 2002 Free Software Foundation, Inc. -+ Copyright (C) 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Bruno Haible <bruno@clisp.org>, 2002. - -@@ -83,7 +83,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ -diff -ur glibc-2.3.3.orig/iconvdata/iso-2022-cn-ext.c glibc-2.3.3.new/iconvdata/iso-2022-cn-ext.c ---- glibc-2.3.3.orig/iconvdata/iso-2022-cn-ext.c Fri Jun 28 14:13:14 2002 -+++ glibc-2.3.3.new/iconvdata/iso-2022-cn-ext.c Fri Mar 18 09:29:22 2005 -@@ -1,5 +1,5 @@ - /* Conversion module for ISO-2022-CN-EXT. -- Copyright (C) 2000-2002 Free Software Foundation, Inc. -+ Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000. - -@@ -377,7 +377,8 @@ - } \ - } \ - \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define EXTRA_LOOP_DECLS , int *setp - #define INIT_PARAMS int set = (*setp >> 3) & CURRENT_MASK; \ -diff -ur glibc-2.3.3.orig/iconvdata/shift_jisx0213.c glibc-2.3.3.new/iconvdata/shift_jisx0213.c ---- glibc-2.3.3.orig/iconvdata/shift_jisx0213.c Mon Dec 2 14:07:56 2002 -+++ glibc-2.3.3.new/iconvdata/shift_jisx0213.c Fri Mar 18 09:29:22 2005 -@@ -1,5 +1,5 @@ - /* Conversion from and to Shift_JISX0213. -- Copyright (C) 2002 Free Software Foundation, Inc. -+ Copyright (C) 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Bruno Haible <bruno@clisp.org>, 2002. - -@@ -83,7 +83,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ -diff -ur glibc-2.3.3.orig/iconvdata/tcvn5712-1.c glibc-2.3.3.new/iconvdata/tcvn5712-1.c ---- glibc-2.3.3.orig/iconvdata/tcvn5712-1.c Mon Dec 2 14:07:52 2002 -+++ glibc-2.3.3.new/iconvdata/tcvn5712-1.c Fri Mar 18 09:29:22 2005 -@@ -1,5 +1,5 @@ - /* Conversion to and from TCVN5712-1. -- Copyright (C) 2001, 2002 Free Software Foundation, Inc. -+ Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - -@@ -68,7 +68,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ -diff -ur glibc-2.3.3.orig/iconvdata/tscii.c glibc-2.3.3.new/iconvdata/tscii.c ---- glibc-2.3.3.orig/iconvdata/tscii.c Mon Sep 23 20:39:45 2002 -+++ glibc-2.3.3.new/iconvdata/tscii.c Fri Mar 18 09:29:22 2005 -@@ -1,5 +1,5 @@ - /* Conversion from and to TSCII. -- Copyright (C) 2002 Free Software Foundation, Inc. -+ Copyright (C) 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Bruno Haible <bruno@clisp.org>, 2002. - -@@ -98,7 +98,8 @@ - break; \ - } \ - /* Write out the pending character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 8; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 8; \ -+ outbuf += sizeof (uint32_t); \ - /* Retrieve the successor state. */ \ - data->__statep->__count = \ - tscii_next_state[(data->__statep->__count >> 4) & 0x0f]; \ diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata.patch deleted file mode 100644 index e0ceba6..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata.patch +++ /dev/null @@ -1,142 +0,0 @@ -Fixes - -In file included from jis0208.c:23: -jis0208.h:32: error: array type has incomplete element type -when building with gcc-4.0 - -In file included from cp1258.c:869: -../iconv/skeleton.c: In function 'gconv': -../iconv/skeleton.c:323: error: invalid lvalue in increment - -In file included from cp1255.c:550: -../iconv/skeleton.c: In function 'gconv': -../iconv/skeleton.c:323: error: invalid lvalue in increment - -In file included from gb18030.c:22114: -../iconv/loop.c: In function 'from_gb18030': -../iconv/loop.c:282: error: invalid lvalue in increment -../iconv/loop.c: In function 'from_gb18030_single': -../iconv/loop.c:384: error: invalid lvalue in increment - -In file included from iso8859-1.c:43: -../iconv/loop.c: In function 'from_iso8859_1': -../iconv/loop.c:311: error: invalid lvalue in increment - -Rediffed, updated for glibc-2.3.3, added: - -In file included from armscii-8.c:85: -../iconv/loop.c: In function 'from_armscii_8': -../iconv/loop.c:311: error: invalid lvalue in increment -../iconv/loop.c:311: error: invalid lvalue in increment - ---- glibc-2.3.3.orig/iconvdata/armscii-8.c Mon Dec 2 14:07:52 2002 -+++ glibc-2.3.3/iconvdata/armscii-8.c Thu Mar 17 16:01:23 2005 -@@ -57,11 +57,17 @@ - uint_fast8_t ch = *inptr; \ - \ - if (ch <= 0xa0) \ -- /* Upto and including 0xa0 the ARMSCII-8 corresponds to Unicode. */ \ -- *((uint32_t *) outptr)++ = ch; \ -+ { \ -+ /* Upto and including 0xa0 the ARMSCII-8 corresponds to Unicode. */ \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ -+ } \ - else if (ch >= 0xa2 && ch <= 0xfe) \ -- /* Use the table. */ \ -- *((uint32_t *) outptr)++ = map_from_armscii_8[ch - 0xa2]; \ -+ { \ -+ /* Use the table. */ \ -+ *((uint32_t *) outptr) = map_from_armscii_8[ch - 0xa2]; \ -+ outptr += sizeof (uint32_t); \ -+ } \ - else \ - { \ - /* This is an illegal character. */ \ -diff -ur glibc-2.3.3.orig/iconvdata/cp1255.c glibc-2.3.3/iconvdata/cp1255.c ---- glibc-2.3.3.orig/iconvdata/cp1255.c Mon Dec 2 14:07:52 2002 -+++ glibc-2.3.3/iconvdata/cp1255.c Thu Mar 17 08:20:13 2005 -@@ -69,7 +69,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ -diff -ur glibc-2.3.3.orig/iconvdata/cp1258.c glibc-2.3.3/iconvdata/cp1258.c ---- glibc-2.3.3.orig/iconvdata/cp1258.c Mon Dec 2 14:07:52 2002 -+++ glibc-2.3.3/iconvdata/cp1258.c Thu Mar 17 08:20:13 2005 -@@ -70,7 +70,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ -diff -ur glibc-2.3.3.orig/iconvdata/gb18030.c glibc-2.3.3/iconvdata/gb18030.c ---- glibc-2.3.3.orig/iconvdata/gb18030.c Mon Dec 2 14:07:54 2002 -+++ glibc-2.3.3/iconvdata/gb18030.c Thu Mar 17 08:20:13 2005 -@@ -25769,7 +25769,8 @@ - } \ - } \ - \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #define ONEBYTE_BODY \ -diff -ur glibc-2.3.3.orig/iconvdata/iso8859-1.c glibc-2.3.3/iconvdata/iso8859-1.c ---- glibc-2.3.3.orig/iconvdata/iso8859-1.c Mon Dec 2 14:07:56 2002 -+++ glibc-2.3.3/iconvdata/iso8859-1.c Thu Mar 17 08:20:47 2005 -@@ -35,7 +35,8 @@ - #define MIN_NEEDED_OUTPUT MIN_NEEDED_TO - #define LOOPFCT FROM_LOOP - #define BODY \ -- *((uint32_t *) outptr)++ = *inptr++; -+ *((uint32_t *) outptr) = *inptr++; \ -+ outptr += sizeof (uint32_t); - #define ONEBYTE_BODY \ - { \ - return c; \ -diff -ur glibc-2.3.3.orig/iconvdata/jis0208.h glibc-2.3.3/iconvdata/jis0208.h ---- glibc-2.3.3.orig/iconvdata/jis0208.h Wed Jun 11 14:40:42 2003 -+++ glibc-2.3.3/iconvdata/jis0208.h Thu Mar 17 08:20:13 2005 -@@ -24,15 +24,6 @@ - #include <gconv.h> - #include <stdint.h> - --/* Conversion table. */ --extern const uint16_t __jis0208_to_ucs[]; -- --extern const char __jisx0208_from_ucs4_lat1[256][2]; --extern const char __jisx0208_from_ucs4_greek[0xc1][2]; --extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; --extern const char __jisx0208_from_ucs_tab[][2]; -- -- - /* Struct for table with indeces in UCS mapping table. */ - struct jisx0208_ucs_idx - { -@@ -40,6 +31,15 @@ - uint16_t end; - uint16_t idx; - }; -+ -+ -+/* Conversion table. */ -+extern const uint16_t __jis0208_to_ucs[]; -+ -+extern const char __jisx0208_from_ucs4_lat1[256][2]; -+extern const char __jisx0208_from_ucs4_greek[0xc1][2]; -+extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; -+extern const char __jisx0208_from_ucs_tab[][2]; - - - static inline uint32_t diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-locale.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-locale.patch deleted file mode 100644 index a085822..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-locale.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- glibc-2.3.3/locale/weight.h.old 2003-06-11 14:52:12.000000000 -0700 -+++ glibc-2.3.3/locale/weight.h 2005-03-15 12:05:37.000000000 -0800 -@@ -18,8 +18,14 @@ - 02111-1307 USA. */ - - /* Find index of weight. */ -+#if __GNUC__ >= 4 -+auto inline int32_t -+#else - static inline int32_t -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - findidx (const unsigned char **cpp) - { - int_fast32_t i = table[*(*cpp)++]; ---- glibc-2.3.3/locale/weightwc.h.old 2003-06-13 13:44:58.000000000 -0700 -+++ glibc-2.3.3/locale/weightwc.h 2005-03-15 12:06:46.000000000 -0800 -@@ -18,8 +18,14 @@ - 02111-1307 USA. */ - - /* Find index of weight. */ -+#if __GNUC__ >= 4 -+auto inline int32_t -+#else - static inline int32_t -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - findidx (const wint_t **cpp) - { - int32_t i; diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-posix.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-posix.patch deleted file mode 100644 index 20f8825..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-posix.patch +++ /dev/null @@ -1,77 +0,0 @@ -Fixes errors - -regcomp.c: In function 'parse_bracket_exp': -regcomp.c:2724: error: invalid storage class for function 'seek_collating_symbol_entry' -regcomp.c:2757: error: invalid storage class for function 'lookup_collation_sequence_value' -regcomp.c:2826: error: invalid storage class for function 'build_range_exp' -regcomp.c:2913: error: invalid storage class for function 'build_collating_symbol' -... -make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-dev/build/x86_64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/build-glibc/posix/regex.o] Error 1 - -See also http://sources.redhat.com/ml/glibc-cvs/2004-q3/msg01071.html -That fix requires gcc-4.0, but the fix proposed here works with older compilers, too - ---- glibc-2.3.3/posix/regcomp.c.old 2005-03-16 11:40:55.000000000 -0800 -+++ glibc-2.3.3/posix/regcomp.c 2005-03-16 11:50:31.000000000 -0800 -@@ -2718,8 +2718,14 @@ - Seek the collating symbol entry correspondings to NAME. - Return the index of the symbol in the SYMB_TABLE. */ - -+#if __GNUC__ >= 4 -+ auto inline int32_t -+#else - static inline int32_t -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - seek_collating_symbol_entry (name, name_len) - const unsigned char *name; - size_t name_len; -@@ -2751,8 +2757,14 @@ - Look up the collation sequence value of BR_ELEM. - Return the value if succeeded, UINT_MAX otherwise. */ - -+#if __GNUC__ >= 4 -+ auto inline unsigned int -+#else - static inline unsigned int -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - lookup_collation_sequence_value (br_elem) - bracket_elem_t *br_elem; - { -@@ -2819,8 +2831,14 @@ - mbcset->range_ends, is a pointer argument sinse we may - update it. */ - -- static inline reg_errcode_t -+#if __GNUC__ >= 4 -+ auto inline reg_errcode_t -+#else -+ static inline reg_errcode_t -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - # ifdef RE_ENABLE_I18N - build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) - re_charset_t *mbcset; -@@ -2906,8 +2924,14 @@ - COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a - pointer argument sinse we may update it. */ - -- static inline reg_errcode_t -+#if __GNUC__ >= 4 -+ auto inline reg_errcode_t -+#else -+ static inline reg_errcode_t -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) - __attribute ((always_inline)) -+#endif - # ifdef RE_ENABLE_I18N - build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) - re_charset_t *mbcset; diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-powerpc-procfs.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-powerpc-procfs.patch deleted file mode 100644 index 0c824bc..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-powerpc-procfs.patch +++ /dev/null @@ -1,65 +0,0 @@ -(Combined with earlier fix old/glibc-2.3.2-powerpc-procfs.patch -from http://sources.redhat.com/ml/libc-alpha/2003-12/msg00101.html) - -This fix discussed here: -http://gcc.gnu.org/ml/gcc/2005-01/msg00509.html - -Revision 1.12, Wed Mar 2 20:11:38 2005 UTC by roland -Branch: MAIN -CVS Tags: fedora-glibc-20050303T1335, HEAD -Changes since 1.11: +3 -8 lines -Diff to previous 1.11 (colored) - -2005-02-21 Alan Modra <amodra@bigpond.net.au> - - * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (elf_vrreg_t): Don't - use __uint128_t. - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h?cvsroot=glibc -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h.diff?r1=1.11&r2=1.12&cvsroot=glibc - -Fixes - -In file included from ../linuxthreads_db/proc_service.h:20, - from ../linuxthreads_db/thread_dbP.h:7, - from ../linuxthreads/descr.h:44, - from ../linuxthreads/internals.h:30, - from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27, - from ../sysdeps/generic/ldsodefs.h:38, - from ../sysdeps/unix/sysv/linux/ldsodefs.h:25, - from <stdin>:2: -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: error: syntax error before 'elf_vrreg_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: warning: type defaults to 'int' in declaration of 'elf_vrreg_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: warning: data definition has no type or storage class -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: error: syntax error before 'elf_vrregset_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: warning: type defaults to 'int' in declaration of 'elf_vrregset_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: warning: data definition has no type or storage class -make[2]: make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/powerpc-750-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/glibc-2.3-20050307/csu' - -Rediffed against glibc-2.3.3 - ---- glibc-2.3.3.orig/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h Sun Jan 12 00:24:23 2003 -+++ glibc-2.3.3.new/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h Fri Mar 18 11:20:58 2005 -@@ -45,18 +45,13 @@ - - typedef double elf_fpreg_t; - typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; --#endif -- --/* gcc 3.1 and newer support __uint128_t. */ --#if !__GNUC_PREREQ(3,1) --typedef struct { -- unsigned long u[4]; --} __attribute((aligned(16))) __uint128_t; --#endif - - /* Altivec registers */ --typedef __uint128_t elf_vrreg_t; -+typedef struct { -+ unsigned int u[4]; -+} __attribute__ ((aligned (16))) elf_vrreg_t; - typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; -+#endif - - struct elf_siginfo - { diff --git a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch b/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch deleted file mode 100644 index c85aab9..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch +++ /dev/null @@ -1,60 +0,0 @@ -Fixes - -In file included from dynamic-link.h:22, - from dl-reloc.c:265: -../sysdeps/x86_64/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/x86_64/dl-machine.h:361: error: invalid storage class for function 'elf_machine_rela' -../sysdeps/x86_64/dl-machine.h:525: error: invalid storage class for function 'elf_machine_rela_relative' -../sysdeps/x86_64/dl-machine.h:534: error: invalid storage class for function 'elf_machine_lazy_rel' -make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-dev/build/x86_64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/build-glibc/elf/dl-reloc.o] Error 1 - ---- glibc-2.3.3/sysdeps/x86_64/dl-machine.h.old Wed Mar 16 16:19:15 2005 -+++ glibc-2.3.3/sysdeps/x86_64/dl-machine.h Wed Mar 16 16:22:09 2005 -@@ -354,7 +354,14 @@ - /* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, - const Elf64_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -@@ -519,7 +526,14 @@ - } - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, - void *const reloc_addr_arg) - { -@@ -528,7 +542,14 @@ - *reloc_addr = l_addr + reloc->r_addend; - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf64_Addr l_addr, const Elf64_Rela *reloc) - { diff --git a/patches/glibc/2.3.3/glibc-2.3.3-alpha-pwrite64.patch b/patches/glibc/2.3.3/glibc-2.3.3-alpha-pwrite64.patch deleted file mode 100644 index 7baea61..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-alpha-pwrite64.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix for this error: - -crosstool-0.32/build/alpha-unknown-linux-gnu/gcc-3.3.5-glibc-2.3.3/build-glibc/libc_pic.os(.text+0xc8bd0): In function `__posix_fallocate64_l64': -: undefined reference to `__GI___pwrite64' -collect2: ld returned 1 exit status -make[1]: *** [crosstool-0.32/build/alpha-unknown-linux-gnu/gcc-3.3.5-glibc-2.3.3/build-glibc/libc.so] Error 1 -make[1]: Leaving directory `crosstool-0.32/build/alpha-unknown-linux-gnu/gcc-3.3.5-glibc-2.3.3/glibc-2.3.3' -make: *** [all] Error 2 - -extracted from GLIBC CVS by Dan Kegel -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.16&r2=1.17&cvsroot=glibc' - -cf. -http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html - - ---- glibc-2.3.3/sysdeps/unix/sysv/linux/alpha/sysdep.h.old 2003-06-20 09:24:36.000000000 -0700 -+++ glibc-2.3.3/sysdeps/unix/sysv/linux/alpha/sysdep.h 2005-04-27 11:23:46.000000000 -0700 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003 -+/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003, 2004 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. -@@ -65,6 +65,16 @@ - # define __NR_semtimedop 423 - #endif - -+/* This is a kludge to make syscalls.list find these under the names -+ pread and pwrite, since some kernel headers define those names -+ and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 -+#endif -+ - /* - * In order to get the hidden arguments for rt_sigaction set up - * properly, we need to call the assembly version. This shouldn't diff --git a/patches/glibc/2.3.3/glibc-2.3.3-cygwin.patch b/patches/glibc/2.3.3/glibc-2.3.3-cygwin.patch deleted file mode 100644 index 0ad9a71..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-cygwin.patch +++ /dev/null @@ -1,103 +0,0 @@ -Fixes -elf/librtld.os: In function `process_envvars': : undefined reference to `__access' -... -when building glibc-2.3.3 on cygwin - -Idea from -http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch -Basically, make glibc use .oST as suffix for 'object static' -instead of .oS, since cygwin has trouble distinguishing .os from .oS -(Original patch had .on, but .oST is more mnemonic for 'object static') - -glibc-linuxthreads-2.3.3 also requires a patch, see -../glibc-linuxthreads-2.3.3/glibc-linuxthreads-2.3.3-cygwin.patch - -[ Rediffed against glibc-2.3.3 ] - - -diff -aur glibc-2.3.3/Makeconfig glibc-2.3.3-cygwin/Makeconfig ---- glibc-2.3.3/Makeconfig 2003-09-17 01:36:10.000000000 -0700 -+++ glibc-2.3.3-cygwin/Makeconfig 2004-08-27 20:34:43.000000000 -0700 -@@ -439,13 +439,13 @@ - # run the linked programs. - link-libc = -Wl,-rpath-link=$(rpath-link) \ - $(common-objpfx)libc.so$(libc.so-version) \ -- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) -+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) - # This is how to find at build-time things that will be installed there. - rpath-dirs = math elf dlfcn nss nis rt resolv crypt - else - ifneq (,$(filter aix aix%,$(config-os))) - link-libc = $(common-objpfx)libc.a \ -- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) -+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) - rpath-dirs = math dlfcn nss nis rt resolv crypt - endif - endif -@@ -658,7 +658,7 @@ - # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX}) - # to pass different flags for each flavor. - libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o)) --all-object-suffixes := .o .os .op .og .ob .oS -+all-object-suffixes := .o .os .op .og .ob .oST - object-suffixes := - CPPFLAGS-.o = $(pic-default) - CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) -@@ -714,14 +714,14 @@ - - ifeq (yes,$(build-shared)) - # Build special library that contains the static-only routines for libc. --object-suffixes-for-libc += .oS -+object-suffixes-for-libc += .oST - - # Must build the routines as PIC, though, because they can end up in (users') - # shared objects. We don't want to use CFLAGS-os because users may, for - # example, make that processor-specific. --CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag) --CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 --libtype.oS = lib%_nonshared.a -+CFLAGS-.oST = $(CFLAGS-.o) $(pic-ccflag) -+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 -+libtype.oST = lib%_nonshared.a - endif - - # The assembler can generate debug information too. -diff -aur glibc-2.3.3/Makerules glibc-2.3.3-cygwin/Makerules ---- glibc-2.3.3/Makerules 2003-10-31 16:35:57.000000000 -0800 -+++ glibc-2.3.3-cygwin/Makerules 2004-08-27 20:33:47.000000000 -0700 -@@ -414,7 +414,7 @@ - # Bounded pointer thunks are only built for *.ob - elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks)) - --elide-routines.oS += $(filter-out $(static-only-routines),\ -+elide-routines.oST += $(filter-out $(static-only-routines),\ - $(routines) $(aux) $(sysdep_routines)) \ - $(elide-bp-thunks) - elide-routines.os += $(static-only-routines) $(elide-bp-thunks) -@@ -934,7 +934,7 @@ - install: $(inst_libdir)/libc.so - $(inst_libdir)/libc.so: $(common-objpfx)format.lds \ - $(common-objpfx)libc.so$(libc.so-version) \ -- $(inst_libdir)/$(patsubst %,$(libtype.oS),\ -+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\ - $(libprefix)$(libc-name)) \ - $(+force) - (echo '/* GNU ld script';\ -@@ -942,7 +942,7 @@ - echo ' the static library, so try that secondarily. */';\ - cat $<; \ - echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \ -- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ -+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\ - ')' \ - ) > $@.new - mv -f $@.new $@ -diff -aur glibc-2.3.3/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.3-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile ---- glibc-2.3.3/sysdeps/sparc/sparc32/sparcv9/Makefile 2002-08-29 03:41:15.000000000 -0700 -+++ glibc-2.3.3-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-27 20:35:43.000000000 -0700 -@@ -10,4 +10,4 @@ - ASFLAGS-.op += -Wa,-Av9a - ASFLAGS-.og += -Wa,-Av9a - ASFLAGS-.ob += -Wa,-Av9a --ASFLAGS-.oS += -Wa,-Av9a -+ASFLAGS-.oST += -Wa,-Av9a diff --git a/patches/glibc/2.3.3/glibc-2.3.3-libeh-kludge.patch b/patches/glibc/2.3.3/glibc-2.3.3-libeh-kludge.patch deleted file mode 100644 index 6ddc020..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-libeh-kludge.patch +++ /dev/null @@ -1,75 +0,0 @@ -wget "http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2003-09&msgid=20030911190500.GE12344%40sunsite.ms.mff.cuni.cz" -aka http://sources.redhat.com/ml/libc-alpha/2003-09/msg00104.html - -This seems to fix the error - gcc-3.4.1-glibc-2.3.3/lib/gcc/powerpc-7400-linux-gnu/3.4.1/../../../../powerpc-7400-linux-gnu/bin/ld: cannot find -lgcc_eh - make[1]: *** [build/powerpc-7400-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/libc.so] Error 1 -but I assume it might cause trouble with nptl -FIXME: once we figure out why this patch is wrong, fix it right :-) - -Date: Thu, 11 Sep 2003 21:05:00 +0200 -From: Jakub Jelinek <jakub at redhat dot com> -To: libc-alpha at sources dot redhat dot com -Subject: Re: Another ugly bootstrapping patch for libgcc_eh -Message-ID: <20030911190500.GE12344@sunsite.ms.mff.cuni.cz> -Reply-To: Jakub Jelinek <jakub at redhat dot com> -References: <20030911194944.GA6104@nevyn.them.org> <20030911180703.GD12344@sunsite.ms.mff.cuni.cz> <20030911203621.GA31503@nevyn.them.org> -In-Reply-To: <20030911203621 dot GA31503 at nevyn dot them dot org> - -On Thu, Sep 11, 2003 at 04:36:21PM -0400, Daniel Jacobowitz wrote: -> > Why exactly do you need that? -> > What exact library needs the functions from libgcc_eh.a? -> > There shouldn't be any these days (__register_*/__frame_state_for etc. -> > functions should come from sysdeps/generic on arches which need them, -> > _Unwind_* come from unwind*.c). -> > IMHO both: -> > -> > # Force the backward compatibility EH functions to be linked. -> > LDFLAGS-c.so += -u __register_frame -> > -> > in Makerules and -lgcc_eh in Makeconfig should go. -> -> If you say so. That -lgcc_eh's been in and out quite a number of -> times. I was just assuming that it was necessary. - -I have been testing following patch on hammer. -linuxthreads built just fine and NPTL libraries too, -and in both cases libraries had the same exported symbols as without -the patch (though its .text slightly shrunk because it no longer contained -unneeded libgcc_eh routines (and also libc.so has fewer .plt slots). -Unfortunately, sln in NPTL build doesn't link, as libgcc_eh.a is needed -in this case. -So, IMHO we need my Makerules change and Daniel's patch. - -2003-09-11 Jakub Jelinek <jakub@redhat.com> - - #* Makerules (LDFLAGS-c.so): Remove -u __register_frame. - * Makeconfig (gnulib): Remove -lgcc_eh. - -# Ulrich already applied this. -#--- libc/Makerules.jj 2003-07-23 03:56:16.000000000 -0400 -#+++ libc/Makerules 2003-09-11 16:22:44.000000000 -0400 -#@@ -572,8 +572,6 @@ LDFLAGS-c.so = -nostdlib -nostartfiles -# LDLIBS-c.so += $(gnulib) -# # Give libc.so an entry point and make it directly runnable itself. -# LDFLAGS-c.so += -e __libc_main -#-# Force the backward compatibility EH functions to be linked. -#-LDFLAGS-c.so += -u __register_frame -# # Pre-link the objects of libc_pic.a so that we can locally resolve -# # COMMON symbols before we link against ld.so. This is because ld.so -# # contains some of libc_pic.a already, which will prevent the COMMONs ---- libc/Makeconfig.jj 2003-07-22 08:25:32.000000000 -0400 -+++ libc/Makeconfig 2003-09-11 16:23:08.000000000 -0400 -@@ -505,7 +505,7 @@ link-libc-bounded = $(common-objpfx)libc - link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F:%-bp=%)),$(common-objpfx)$(lib)_b.a) - - ifndef gnulib --gnulib := -lgcc -lgcc_eh -+gnulib := -lgcc - endif - ifeq ($(elf),yes) - +preinit = $(addprefix $(csu-objpfx),crti.o) - - - Jakub - diff --git a/patches/glibc/2.3.3/glibc-2.3.3-s390-fadvise64.patch b/patches/glibc/2.3.3/glibc-2.3.3-s390-fadvise64.patch deleted file mode 100644 index 9f21744..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-s390-fadvise64.patch +++ /dev/null @@ -1,128 +0,0 @@ -See http://sources.redhat.com/ml/libc-hacker/2003-12/msg00023.html -or http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c?cvsroot=glibc - -Should fix error - -../sysdeps/unix/sysv/linux/posix_fadvise64.c: In function `__posix_fadvise64_l64': -../sysdeps/unix/sysv/linux/posix_fadvise64.c:35: warning: implicit declaration of function `DECLARGS_6' -../sysdeps/unix/sysv/linux/posix_fadvise64.c:35: error: parse error before "register" -... -../sysdeps/unix/sysv/linux/posix_fadvise64.c:35: error: parse error before "ASMFMT_6" -make[2]: *** [crosstool-0.28-rc34/build/s390-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/io/posix_fadvise64.o] Error 1 - - -From: Martin Schwidefsky <schwidefsky at de dot ibm dot com> -Organization: IBM Deutschland GmbH -To: libc-hacker at sources dot redhat dot com -Subject: fadvise64_64 for s390-32. -Date: Fri, 5 Dec 2003 18:46:33 +0100 - -Hi, -on s390* system calls can have up to 5 paramters. The generic linux -implemenation of fadvise64_64 for 32 bit systems needs 6 parameters, -so we need to have a s390-32 special version of posix_fadvise64.c. -For s390-64 we do not have the problem because there fadvise64_64 -has only 4 parameters. - -blue skies, - Martin. - -2003-12-05 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file. - -diff -urN libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c libc-s390/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c ---- libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c 1970-01-01 01:00:00.000000000 +0100 -+++ libc-s390/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c 2003-11-13 15:31:40.000000000 +0100 -@@ -0,0 +1,90 @@ -+/* Copyright (C) 2003 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include <errno.h> -+#include <fcntl.h> -+#include <sysdep.h> -+#include <kernel-features.h> -+ -+int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise); -+int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise); -+ -+/* Advice the system about the expected behaviour of the application with -+ respect to the file associated with FD. */ -+ -+struct fadvise64_64_layout -+{ -+ int fd; -+ off64_t offset; -+ off64_t len; -+ int advise; -+}; -+ -+int -+__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise) -+{ -+#ifdef __NR_fadvise64_64 -+ struct fadvise64_64_layout parameters; -+ INTERNAL_SYSCALL_DECL (err); -+ -+ parameters.fd = fd; -+ parameters.offset = offset; -+ parameters.len = len; -+ parameters.advise = advise; -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 1, ¶meters); -+ if (!INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return 0; -+# ifndef __ASSUME_FADVISE64_64_SYSCALL -+ if (INTERNAL_SYSCALL_ERRNO (ret, err) != ENOSYS) -+# endif -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+#endif -+#ifndef __ASSUME_FADVISE64_64_SYSCALL -+# ifdef __NR_fadvise64 -+ if (len != (off_t) len) -+ return EOVERFLOW; -+ -+ INTERNAL_SYSCALL_DECL (err2); -+ int ret2 = INTERNAL_SYSCALL (fadvise64, err2, 5, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 32), -+ (long) offset), -+ (off_t) len, advise); -+ if (!INTERNAL_SYSCALL_ERROR_P (ret2, err2)) -+ return 0; -+ return INTERNAL_SYSCALL_ERRNO (ret2, err2); -+# else -+ return ENOSYS; -+# endif -+#endif -+} -+ -+#include <shlib-compat.h> -+ -+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) -+ -+int -+__posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise) -+{ -+ return __posix_fadvise64_l64 (fd, offset, len, advise); -+} -+ -+versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3); -+compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2); -+#else -+strong_alias (__posix_fadvise64_l64, posix_fadvise64); -+#endif - diff --git a/patches/glibc/2.3.3/glibc-2.3.3-unwind-dw2.patch b/patches/glibc/2.3.3/glibc-2.3.3-unwind-dw2.patch deleted file mode 100644 index d75c4ba..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.3-unwind-dw2.patch +++ /dev/null @@ -1,66 +0,0 @@ -See http://sources.redhat.com/ml/libc-alpha/2004-02/msg00138.html -aka http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2004-02&msgid=20040220044155.GE22135%40baldric.uwo.ca - -In CVS as -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/unwind-dw2.c.diff?r1=1.7&r2=1.8&cvsroot=glibc' - -Revision 1.8, Sat Feb 21 09:07:29 2004 UTC (5 months, 3 weeks ago) by drepper - - Allow sjlj enabled compilers to build the code by removing - __USING_SJLJ_EXCEPTIONS__ wrapper. - -plus -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/framestate.c.diff?r1=1.3&r2=1.4&cvsroot=glibc' - -Revision 1.4, Sat Feb 21 09:07:05 2004 UTC (5 months, 3 weeks ago) by drepper - - [__USING_SJLJ_EXCEPTIONS__] (__frame_state_for): Set frame_State_for - to abort if the compiler is using sjlj. - -Fixes compile error - -../sysdeps/generic/framestate.c: In function `__frame_state_for': -../sysdeps/generic/framestate.c:44: error: `fallback_frame_state_for' undeclared (first use in this function) -../sysdeps/generic/framestate.c:44: error: (Each undeclared identifier is reported only once -../sysdeps/generic/framestate.c:44: error: for each function it appears in.) -make[2]: *** [crosstool-0.28-rc34/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/elf/framestate.os] Error 1 - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/generic/unwind-dw2.c,v -retrieving revision 1.7 -retrieving revision 1.8 -diff -u -r1.7 -r1.8 ---- libc/sysdeps/generic/unwind-dw2.c 2003/07/22 23:55:55 1.7 -+++ libc/sysdeps/generic/unwind-dw2.c 2004/02/21 09:07:29 1.8 -@@ -39,7 +39,6 @@ - #endif - - --#ifndef __USING_SJLJ_EXCEPTIONS__ - - #ifndef STACK_GROWS_DOWNWARD - #define STACK_GROWS_DOWNWARD 0 -@@ -1287,4 +1286,3 @@ - #include "unwind.inc" - - #endif /* _LIBC */ --#endif /* !USING_SJLJ_EXCEPTIONS */ -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/generic/framestate.c,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -r1.3 -r1.4 ---- libc/sysdeps/generic/framestate.c 2003/01/08 06:46:06 1.3 -+++ libc/sysdeps/generic/framestate.c 2004/02/21 09:07:05 1.4 -@@ -41,7 +41,11 @@ - if (handle == NULL - || (frame_state_for - = (framesf) __libc_dlsym (handle, "__frame_state_for")) == NULL) -+#ifndef __USING_SJLJ_EXCEPTIONS__ - frame_state_for = fallback_frame_state_for; -+#else -+ frame_state_for = abort; -+#endif - } - - return frame_state_for (pc, frame_state); diff --git a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-arm.patch b/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-arm.patch deleted file mode 100644 index f3ad0c6..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-arm.patch +++ /dev/null @@ -1,117 +0,0 @@ -Fixes -In file included from dynamic-link.h:22, - from dl-reloc.c:265: -../sysdeps/arm/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/arm/dl-machine.h:371: error: invalid storage class for function 'fix_bad_pc24' -../sysdeps/arm/dl-machine.h:406: error: invalid storage class for function 'elf_machine_rel' -../sysdeps/arm/dl-machine.h:532: error: invalid storage class for function 'elf_machine_rela' -../sysdeps/arm/dl-machine.h:612: error: invalid storage class for function 'elf_machine_rel_relative' -../sysdeps/arm/dl-machine.h:621: error: invalid storage class for function 'elf_machine_rela_relative' -../sysdeps/arm/dl-machine.h:630: error: invalid storage class for function 'elf_machine_lazy_rel' -make[2]: Leaving directory `/home/dank/queue/jobdir.k8/crosstool-dev/build/arm-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3.3/glibc-2.3.3/elf' - -when building glibc-2.3.[34] with gcc-4.0 - -Like -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/arm/dl-machine.h.diff?r1=1.51&r2=1.52&cvsroot=glibc -but works with older compilers, and fixes fix_bad_pc24. - - ---- glibc-2.3.4/sysdeps/arm/dl-machine.h.old Sun Mar 20 17:54:37 2005 -+++ glibc-2.3.4/sysdeps/arm/dl-machine.h Sun Mar 20 17:57:32 2005 -@@ -359,7 +359,14 @@ - # endif - - /* Deal with an out-of-range PC24 reloc. */ --static Elf32_Addr -+#if __GNUC__ >= 4 -+ auto inline Elf32_Addr -+#else -+ static inline Elf32_Addr -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value) - { - static void *fix_page; -@@ -392,7 +399,14 @@ - /* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -@@ -517,7 +531,14 @@ - } - - # ifndef RTLD_BOOTSTRAP --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -@@ -597,7 +618,14 @@ - } - # endif - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc, - void *const reloc_addr_arg) - { -@@ -606,7 +634,14 @@ - } - - # ifndef RTLD_BOOTSTRAP --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - void *const reloc_addr_arg) - { -@@ -615,7 +650,14 @@ - } - # endif - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rel *reloc) - { diff --git a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-elf.patch b/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-elf.patch deleted file mode 100644 index 3bbe6ea..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-elf.patch +++ /dev/null @@ -1,61 +0,0 @@ -From http://www.mail-archive.com/pld-cvs-commit@pld-linux.org/msg00229.html -Fixes - rtld.c: In function '_dl_start': - dynamic-link.h:47: error: nested function 'elf_machine_rela_relative' declared but never defined - dynamic-link.h:41: error: nested function 'elf_machine_rela' declared but never defined -when compiling glibc-2.3.4 with gcc-4.0 - -But see also -http://sources.redhat.com/ml/libc-hacker/2005-02/msg00000.html -and -http://sources.redhat.com/ml/libc-hacker/2005-03/msg00008.html -which seem to propose less radical fixes? - -Aha. See also http://sources.redhat.com/bugzilla/show_bug.cgi?id=721 - ---- glibc-2.3-20050307/elf/dynamic-link.h.old 2005-03-12 18:12:37.000000000 -0800 -+++ glibc-2.3-20050307/elf/dynamic-link.h 2005-03-12 18:12:59.777820848 -0800 -@@ -19,43 +19,6 @@ - - #include <elf.h> - #include <assert.h> -- --#ifdef RESOLVE --/* We pass reloc_addr as a pointer to void, as opposed to a pointer to -- ElfW(Addr), because not all architectures can assume that the -- relocated address is properly aligned, whereas the compiler is -- entitled to assume that a pointer to a type is properly aligned for -- the type. Even if we cast the pointer back to some other type with -- less strict alignment requirements, the compiler might still -- remember that the pointer was originally more aligned, thereby -- optimizing away alignment tests or using word instructions for -- copying memory, breaking the very code written to handle the -- unaligned cases. */ --auto void __attribute__((always_inline)) --elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc, -- const ElfW(Sym) *sym, const struct r_found_version *version, -- void *const reloc_addr); --auto void __attribute__((always_inline)) --elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, -- const ElfW(Sym) *sym, const struct r_found_version *version, -- void *const reloc_addr); --auto void __attribute__((always_inline)) --elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, -- void *const reloc_addr); --auto void __attribute__((always_inline)) --elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, -- void *const reloc_addr); --# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL --auto void __attribute__((always_inline)) --elf_machine_lazy_rel (struct link_map *map, -- ElfW(Addr) l_addr, const ElfW(Rel) *reloc); --# else --auto void __attribute__((always_inline)) --elf_machine_lazy_rel (struct link_map *map, -- ElfW(Addr) l_addr, const ElfW(Rela) *reloc); --# endif --#endif -- - #include <dl-machine.h> - - #ifndef VERSYMIDX diff --git a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch b/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch deleted file mode 100644 index 949a203..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fixes - -../sysdeps/powerpc/powerpc32/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/powerpc/powerpc32/dl-machine.h:461: error: invalid storage class for function 'elf_machine_rela_relative' -../sysdeps/powerpc/powerpc32/dl-machine.h:469: error: invalid storage class for function 'elf_machine_lazy_rel' -make[2]: *** [/home/dank/queue/jobdir.dual2/crosstool-dev/build/powerpc-750-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/build-glibc/elf/dl-reloc.o] Error 1 - -diff -ur glibc-2.3-20050307.orig/sysdeps/powerpc/powerpc32/dl-machine.h glibc-2.3-20050307/sysdeps/powerpc/powerpc32/dl-machine.h ---- glibc-2.3-20050307.orig/sysdeps/powerpc/powerpc32/dl-machine.h Wed Jul 30 23:33:52 2003 -+++ glibc-2.3-20050307/sysdeps/powerpc/powerpc32/dl-machine.h Thu Mar 17 13:19:16 2005 -@@ -455,7 +455,14 @@ - } - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - void *const reloc_addr_arg) - { -@@ -463,7 +470,14 @@ - *reloc_addr = l_addr + reloc->r_addend; - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rela *reloc) - { diff --git a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch b/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch deleted file mode 100644 index 6844a9c..0000000 --- a/patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch +++ /dev/null @@ -1,60 +0,0 @@ -Fixes: - -In file included from dynamic-link.h:22, - from dl-reloc.c:269: -../sysdeps/powerpc/powerpc64/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/powerpc/powerpc64/dl-machine.h:573: error: invalid storage class for function 'elf_machine_rela_relative' -../sysdeps/powerpc/powerpc64/dl-machine.h:607: error: invalid storage class for function 'elf_machine_rela' -../sysdeps/powerpc/powerpc64/dl-machine.h:889: error: invalid storage class for function 'elf_machine_lazy_rel' -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/powerpc64-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/glibc-2.3-20050307/elf' - ---- glibc-2.3-20050307/sysdeps/powerpc/powerpc64/dl-machine.h.old Thu Mar 17 13:35:23 2005 -+++ glibc-2.3-20050307/sysdeps/powerpc/powerpc64/dl-machine.h Thu Mar 17 13:37:12 2005 -@@ -567,7 +567,14 @@ - const Elf64_Sym *refsym) - attribute_hidden; - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, - void *const reloc_addr_arg) - { -@@ -598,7 +605,14 @@ - - /* Perform the relocation specified by RELOC and SYM (which is fully - resolved). MAP is the object containing the reloc. */ --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela (struct link_map *map, - const Elf64_Rela *reloc, - const Elf64_Sym *sym, -@@ -883,7 +897,14 @@ - MODIFIED_CODE_NOQUEUE (reloc_addr); - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf64_Addr l_addr, const Elf64_Rela *reloc) - { diff --git a/patches/glibc/2.3.3/glibc-configure-apple-as.patch b/patches/glibc/2.3.3/glibc-configure-apple-as.patch deleted file mode 100644 index 604c36d..0000000 --- a/patches/glibc/2.3.3/glibc-configure-apple-as.patch +++ /dev/null @@ -1,23 +0,0 @@ -http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch -http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html - -The following makes it possible to configure glibc-2.3.2 on Mac OS X, -where the assembler but doesn't understand the --version flag. - -Fixes the symptom -checking whether ld is GNU ld... no -checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as -checking version of /usr/libexec/gcc/darwin/ppc/as... -<PAUSES HERE AND JUST SITS THERE DOING NOTHING> - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -3789,7 +3789,7 @@ - # Found it, now check the version. - echo "$as_me:$LINENO: checking version of $AS" >&5 - echo $ECHO_N "checking version of $AS... $ECHO_C" >&6 -- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[3-9]*) diff --git a/patches/glibc/2.3.3/glibc-fp-byteorder.patch b/patches/glibc/2.3.3/glibc-fp-byteorder.patch deleted file mode 100644 index f20432e..0000000 --- a/patches/glibc/2.3.3/glibc-fp-byteorder.patch +++ /dev/null @@ -1,203 +0,0 @@ -Taken from http://sources.redhat.com/ml/crossgcc/2004-02/msg00104.html -Author: addsub@eyou.com -Target: ARM - -Fixes http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/920501-8.c -and makes printf("%f", 1.0) work. - -Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00115.html : - It ... fixes the 'printf("%f\n", 0.5); prints 0.000000' and general 'floating point - is broken' on my big-endian hardfloat FPA ARM platform. ... - It's definitely needed for hardfloat. So I'd think it's needed for - big-endian systems in any case, and for VFP on little-endian systems - too. Someone would have to verify that though. - -Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00123.html - I just had a look at glibc-20040830, and [this patch] is still needed and useful - for this version. glibc-20040830 out-of-the-box still contains the - following wrong assumptions: - - sysdeps/arm/bits/endian.h: float word order is big endian (which it is - not on vfp systems) - - sysdeps/arm/gmp-mparam.h: IEEE doubles are mixed endian (which they - are not on big endian systems, neither on vfp systems) - - sysdeps/arm/ieee754.h: IEEE doubles are in little endian byte order - (which they are not on big endian systems) - [This patch] seems the right solution for all of these issues. - -Dimitry Andric wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00132.html : - It's even needed for glibc CVS, AFAICS. - The patch hunk which modifies glibc.new/sysdeps/arm/bits/endian.h - (currently at version 1.4) is only needed for proper VFP operation. - But the hunk which modifies sysdeps/arm/gmp-mparam.h, and the hunk - that deletes sysdeps/arm/ieee754.h (yes, this IS correct), are needed - for proper operation of *any* FP model on big endian ARM. - -See also discussion in followups to -http://sources.redhat.com/ml/crossgcc/2004-05/msg00245.html) - -Message-ID: <276985760.37584@eyou.com> -Received: from unknown (HELO eyou.com) (172.16.2.2) - by 0.0.0.0 with SMTP; Tue, 17 Feb 2004 10:42:40 +0800 -Received: (qmail 8238 invoked by uid 65534); 17 Feb 2004 10:42:38 +0800 -Date: 17 Feb 2004 10:42:38 +0800 -Message-ID: <20040217104238.8237.qmail@eyou.com> -From: "add" <addsub@eyou.com> -To: dank@kegel.com -Reply-To: "add" <addsub@eyou.com> -Subject: Re: problem while building arm vfp softfloat gcc ` - -Hi, Dan, This is a patch I applied to my glibc-2.3.2, then my softfloat -toolchain can printf("%f\n",1.0). So you may have a try of this - - -diff -uNrp glibc.old/sysdeps/arm/bits/endian.h glibc.new/sysdeps/arm/bits/endian.h ---- glibc.old/sysdeps/arm/bits/endian.h 1999-04-12 11:59:13.000000000 -0400 -+++ glibc.new/sysdeps/arm/bits/endian.h 2004-02-12 09:15:13.000000000 -0500 -@@ -9,4 +9,9 @@ - #else - #define __BYTE_ORDER __LITTLE_ENDIAN - #endif -+ -+#ifdef __VFP_FP__ -+#define __FLOAT_WORD_ORDER __BYTE_ORDER -+#else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN -+#endif -diff -uNrp glibc.old/sysdeps/arm/gmp-mparam.h glibc.new/sysdeps/arm/gmp-mparam.h ---- glibc.old/sysdeps/arm/gmp-mparam.h 2001-07-07 15:21:19.000000000 -0400 -+++ glibc.new/sysdeps/arm/gmp-mparam.h 2004-02-12 09:15:13.000000000 -0500 -@@ -26,5 +26,13 @@ MA 02111-1307, USA. */ - #define BITS_PER_SHORTINT 16 - #define BITS_PER_CHAR 8 - --#define IEEE_DOUBLE_BIG_ENDIAN 0 --#define IEEE_DOUBLE_MIXED_ENDIAN 1 -+#if defined(__ARMEB__) -+# define IEEE_DOUBLE_MIXED_ENDIAN 0 -+# define IEEE_DOUBLE_BIG_ENDIAN 1 -+#elif defined(__VFP_FP__) -+# define IEEE_DOUBLE_MIXED_ENDIAN 0 -+# define IEEE_DOUBLE_BIG_ENDIAN 0 -+#else -+# define IEEE_DOUBLE_BIG_ENDIAN 0 -+# define IEEE_DOUBLE_MIXED_ENDIAN 1 -+#endif -diff -uNrp glibc.old/sysdeps/arm/ieee754.h glibc.new/sysdeps/arm/ieee754.h ---- glibc.old/sysdeps/arm/ieee754.h 2001-07-07 15:21:19.000000000 -0400 -+++ glibc.new/sysdeps/arm/ieee754.h 1969-12-31 19:00:00.000000000 -0500 -@@ -1,115 +0,0 @@ --/* Copyright (C) 1992, 1995, 1996, 1998 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, write to the Free -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -- 02111-1307 USA. */ -- --#ifndef _IEEE754_H -- --#define _IEEE754_H 1 --#include <features.h> -- --#include <endian.h> -- --__BEGIN_DECLS -- --union ieee754_float -- { -- float f; -- -- /* This is the IEEE 754 single-precision format. */ -- struct -- { -- unsigned int mantissa:23; -- unsigned int exponent:8; -- unsigned int negative:1; -- } ieee; -- -- /* This format makes it easier to see if a NaN is a signalling NaN. */ -- struct -- { -- unsigned int mantissa:22; -- unsigned int quiet_nan:1; -- unsigned int exponent:8; -- unsigned int negative:1; -- } ieee_nan; -- }; -- --#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ -- -- --union ieee754_double -- { -- double d; -- -- /* This is the IEEE 754 double-precision format. */ -- struct -- { -- unsigned int mantissa0:20; -- unsigned int exponent:11; -- unsigned int negative:1; -- unsigned int mantissa1:32; -- } ieee; -- -- /* This format makes it easier to see if a NaN is a signalling NaN. */ -- struct -- { -- unsigned int mantissa0:19; -- unsigned int quiet_nan:1; -- unsigned int exponent:11; -- unsigned int negative:1; -- unsigned int mantissa1:32; -- } ieee_nan; -- }; -- --#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ -- -- --/* The following two structures are correct for `new' floating point systems but -- wrong for the old FPPC. The only solution seems to be to avoid their use on -- old hardware. */ -- --union ieee854_long_double -- { -- long double d; -- -- /* This is the IEEE 854 double-extended-precision format. */ -- struct -- { -- unsigned int exponent:15; -- unsigned int empty:16; -- unsigned int negative:1; -- unsigned int mantissa1:32; -- unsigned int mantissa0:32; -- } ieee; -- -- /* This is for NaNs in the IEEE 854 double-extended-precision format. */ -- struct -- { -- unsigned int exponent:15; -- unsigned int empty:16; -- unsigned int negative:1; -- unsigned int mantissa1:32; -- unsigned int mantissa0:30; -- unsigned int quiet_nan:1; -- unsigned int one:1; -- } ieee_nan; -- }; -- --#define IEEE854_LONG_DOUBLE_BIAS 0x3fff -- --__END_DECLS -- --#endif /* ieee754.h */ |