summaryrefslogtreecommitdiff
path: root/patches/glibc/2.3.5
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.3.5')
-rw-r--r--patches/glibc/2.3.5/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.3.5/fix-pr398.patch70
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-arm.patch117
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-elf.patch61
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch44
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch62
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch42
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch60
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-memcmp.patch46
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc-4.0-wordexp.patch19
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-string.patch83
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch126
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-wcstol_l.patch57
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-cygwin.patch185
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-fix-pr631.patch43
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-sh-memset.patch69
-rw-r--r--patches/glibc/2.3.5/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/2.3.5/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/2.3.5/glibc-mips-bootstrap-gcc-header-install.patch35
-rw-r--r--patches/glibc/2.3.5/make-install-lib-all.patch24
-rw-r--r--patches/glibc/2.3.5/pr758.patch256
21 files changed, 1676 insertions, 0 deletions
diff --git a/patches/glibc/2.3.5/arm-ctl_bus_isa.patch b/patches/glibc/2.3.5/arm-ctl_bus_isa.patch
new file mode 100644
index 0000000..3422070
--- /dev/null
+++ b/patches/glibc/2.3.5/arm-ctl_bus_isa.patch
@@ -0,0 +1,51 @@
+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.5/fix-pr398.patch b/patches/glibc/2.3.5/fix-pr398.patch
new file mode 100644
index 0000000..d5d0309
--- /dev/null
+++ b/patches/glibc/2.3.5/fix-pr398.patch
@@ -0,0 +1,70 @@
+Fixes error
+
+dl-runtime.c:222: error: parse error before "CFI_STARTPROC"
+make[2]: *** [crosstool-0.28-rc35/build/s390-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/elf/dl-runtim
+e.o] Error 1
+make[2]: Leaving directory `crosstool-0.28-rc35/build/s390-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040
+822/elf'
+make[1]: *** [elf/subdir_lib] Error 2
+make[1]: Leaving directory `crosstool-0.28-rc35/build/s390-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040
+822'
+make: *** [all] Error 2
+
+-----------------
+
+See http://sources.redhat.com/bugzilla/show_bug.cgi?id=398
+http://sources.redhat.com/ml/libc-alpha/2004-07/msg00023.html
+
+-----------------
+
+CVSROOT: /cvs/glibc
+Module name: libc
+Branch: glibc-2_3-branch
+Changes by: roland@sources.redhat.com 2006-02-23 22:36:51
+
+Modified files:
+ sysdeps/s390/s390-64: dl-machine.h
+ sysdeps/s390/s390-32: dl-machine.h
+
+Log message:
+ 2004-07-10 GOTO Masanori <gotom@debian.or.jp>
+
+ [BZ #398]
+ * sysdeps/s390/s390-32/dl-machine.h: Include <sysdep.h> for CFI
+ directive.
+ * sysdeps/s390/s390-64/dl-machine.h: Likewise.
+
+Patches:
+http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/s390/s390-64/dl-machine.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.19.4.1&r2=1.19.4.2
+http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/s390/s390-32/dl-machine.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.20.4.1&r2=1.20.4.2
+
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/s390/s390-64/dl-machine.h,v
+retrieving revision 1.19.4.1
+retrieving revision 1.19.4.2
+diff -u -r1.19.4.1 -r1.19.4.2
+--- libc/sysdeps/s390/s390-64/dl-machine.h 2005/10/17 04:57:27 1.19.4.1
++++ libc/sysdeps/s390/s390-64/dl-machine.h 2006/02/23 22:36:51 1.19.4.2
+@@ -27,6 +27,7 @@
+ #include <sys/param.h>
+ #include <string.h>
+ #include <link.h>
++#include <sysdep.h>
+
+ /* This is an older, now obsolete value. */
+ #define EM_S390_OLD 0xA390
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/s390/s390-32/dl-machine.h,v
+retrieving revision 1.20.4.1
+retrieving revision 1.20.4.2
+diff -u -r1.20.4.1 -r1.20.4.2
+--- libc/sysdeps/s390/s390-32/dl-machine.h 2005/10/17 04:57:27 1.20.4.1
++++ libc/sysdeps/s390/s390-32/dl-machine.h 2006/02/23 22:36:51 1.20.4.2
+@@ -27,6 +27,7 @@
+ #include <sys/param.h>
+ #include <string.h>
+ #include <link.h>
++#include <sysdep.h>
+
+ /* This is an older, now obsolete value. */
+ #define EM_S390_OLD 0xA390
diff --git a/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-arm.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-arm.patch
new file mode 100644
index 0000000..f3ad0c6
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-arm.patch
@@ -0,0 +1,117 @@
+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.5/glibc-2.3.4-allow-gcc-4.0-elf.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-elf.patch
new file mode 100644
index 0000000..3bbe6ea
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-elf.patch
@@ -0,0 +1,61 @@
+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.5/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch
new file mode 100644
index 0000000..42be8a3
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch
@@ -0,0 +1,44 @@
+See http://sources.redhat.com/ml/libc-hacker/2005-02/msg00000.html
+and http://www.mail-archive.com/pld-cvs-commit@pld-linux.org/msg00229.html
+
+Fixes
+ In file included from jis0208.c:23:
+ jis0208.h:32: error: array type has incomplete element type
+when building glibc with gcc-4.0
+The bug has been present since at least glibc-2.2.5.
+This patch applies cleanly to glibc-2.3.4
+
+--- /home/dank/downloads/glibc-2.3-20050307/iconvdata/jis0208.h 2003-06-11 14:40:42.000000000 -0700
++++ glibc-2.3-20050307/iconvdata/jis0208.h 2005-03-13 20:55:01.784054760 -0800
+@@ -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
+ {
+@@ -42,6 +33,15 @@
+ };
+
+
++/* 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
+ __attribute ((always_inline))
+ jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
diff --git a/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch
new file mode 100644
index 0000000..d5d8293
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch
@@ -0,0 +1,62 @@
+First 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'
+
+
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h,v
+retrieving revision 1.11
+retrieving revision 1.12
+diff -u -r1.11 -r1.12
+--- libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2003/12/17 23:09:34 1.11
++++ libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2005/03/02 20:11:38 1.12
+@@ -46,15 +46,10 @@
+ typedef double elf_fpreg_t;
+ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+-/* 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
+
diff --git a/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch
new file mode 100644
index 0000000..949a203
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch
@@ -0,0 +1,42 @@
+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.5/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch
new file mode 100644
index 0000000..6844a9c
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch
@@ -0,0 +1,60 @@
+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.5/glibc-2.3.4-memcmp.patch b/patches/glibc/2.3.5/glibc-2.3.4-memcmp.patch
new file mode 100644
index 0000000..c01faf8
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.4-memcmp.patch
@@ -0,0 +1,46 @@
+Fixes
+ ../sysdeps/i386/i686/memcmp.S: Assembler messages:
+ ../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' {.rodata section} - `memcmp' {.text section}
+when building on macosx.
+
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/i686/memcmp.S?cvsroot=glibc
+Revision 1.4, Thu Apr 28 18:19:25 2005 UTC by drepper
+Branch: MAIN
+CVS Tags: fedora-glibc-20050503T0852
+Changes since 1.3: +2 -2 lines
+Diff to previous 1.3 (colored)
+
+Move misplaced END.
+
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/i686/memcmp.S.diff?r1=1.3&r2=1.4&cvsroot=glibc
+
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/i386/i686/memcmp.S,v
+retrieving revision 1.3
+retrieving revision 1.4
+diff -u -r1.3 -r1.4
+--- libc/sysdeps/i386/i686/memcmp.S 2004/04/01 23:28:37 1.3
++++ libc/sysdeps/i386/i686/memcmp.S 2005/04/28 18:19:25 1.4
+@@ -1,5 +1,5 @@
+ /* Compare two memory blocks for differences in the first COUNT bytes.
+- Copyright (C) 2004 Free Software Foundation, Inc.
++ Copyright (C) 2004, 2005 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
+@@ -350,6 +350,7 @@
+ sbbl $-1, %eax
+ popl %esi
+ RETURN
++END (BP_SYM (memcmp))
+
+ .section .rodata
+ ALIGN (2)
+@@ -387,7 +388,6 @@
+ .long L(30bytes) - . + 0x78
+ .long L(31bytes) - . + 0x7c
+
+-END (BP_SYM (memcmp))
+
+ #undef bcmp
+ weak_alias (BP_SYM (memcmp), BP_SYM (bcmp))
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc-4.0-wordexp.patch b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc-4.0-wordexp.patch
new file mode 100644
index 0000000..1df5955
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc-4.0-wordexp.patch
@@ -0,0 +1,19 @@
+../sysdeps/generic/wordexp.c: In function 'exec_comm':
+../sysdeps/generic/wordexp.c:815: sorry, unimplemented: inlining failed in call to 'exec_comm_child': function body not available
+../sysdeps/generic/wordexp.c:900: sorry, unimplemented: called from here
+make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/build-glibc/posix/wordexp.o] Error
+
+I had to add the keyword 'inline' to get it to compile:
+
+--- glibc-2.3-20050307/sysdeps/generic/wordexp.c.old 2005-03-12 08:54:15.709253928 -0800
++++ glibc-2.3-20050307/sysdeps/generic/wordexp.c 2005-03-12 08:54:51.242852000 -0800
+@@ -809,7 +809,7 @@
+ }
+
+ /* Function called by child process in exec_comm() */
+-static void
++static inline void
+ internal_function __attribute__ ((always_inline))
+ exec_comm_child (char *comm, int *fildes, int showerr, int noexec)
+ {
+
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-string.patch b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-string.patch
new file mode 100644
index 0000000..7e2fdc8
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-string.patch
@@ -0,0 +1,83 @@
+
+Fixes? the following error when building with gcc-4.0.0:
+
+../string/strcoll.c:39: error: '__EI_strcoll' aliased to undefined symbol '__GI_strcoll'
+make[2]: *** [/home/dank/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/wcsmbs/wcscoll.os] Error 1
+make[2]: Leaving directory `/home/dank/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/glibc-2.3.4/wcsmbs'
+
+
+Thu Mar 17 21:06:24 2005 UTC (3 weeks, 5 days ago) by roland
+Branch: MAIN
+CVS Tags: fedora-glibc-20050405T2114, fedora-glibc-20050401T1444, fedora-glibc-20050324T0715, fedora-glibc-20050319T1907, HEAD
+
+2005-03-16 Richard Henderson <rth@redhat.com>
+
+ * include/wchar.h (__wcscoll): Remove.
+ * wcsmbs/wcscoll.c: Define wcscoll directly instead of via __wcscoll.
+ * string/strcoll.c: Don't issue libc_hidden_def STRCOLL redefined.
+
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/string/strcoll.c.diff?r1=1.33&r2=1.34&cvsroot=glibc
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/include/wchar.h.diff?r1=1.26&r2=1.27&cvsroot=glibc
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/wcsmbs/wcscoll.c.diff?r1=1.13&r2=1.14&cvsroot=glibc
+
+===================================================================
+RCS file: /cvs/glibc/libc/string/strcoll.c,v
+retrieving revision 1.33
+retrieving revision 1.34
+diff -u -r1.33 -r1.34
+--- libc/string/strcoll.c 2004/03/14 20:51:30 1.33
++++ libc/string/strcoll.c 2005/03/17 21:06:24 1.34
+@@ -23,6 +23,7 @@
+ # define STRING_TYPE char
+ # define STRCOLL strcoll
+ # define STRCOLL_L __strcoll_l
++# define USE_HIDDEN_DEF
+ #endif
+
+ #include "../locale/localeinfo.h"
+@@ -35,6 +36,7 @@
+ {
+ return STRCOLL_L (s1, s2, _NL_CURRENT_LOCALE);
+ }
+-#if !defined WIDE_CHAR_VERSION
+-libc_hidden_def (strcoll)
++
++#ifdef USE_HIDDEN_DEF
++libc_hidden_def (STRCOLL)
+ #endif
+===================================================================
+RCS file: /cvs/glibc/libc/include/wchar.h,v
+retrieving revision 1.26
+retrieving revision 1.27
+diff -u -r1.26 -r1.27
+--- libc/include/wchar.h 2004/03/14 20:45:10 1.26
++++ libc/include/wchar.h 2005/03/17 21:06:24 1.27
+@@ -56,7 +56,6 @@
+ extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n)
+ __attribute_pure__;
+-extern int __wcscoll (__const wchar_t *__s1, __const wchar_t *__s2);
+ extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
+ extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
+ __attribute_pure__;
+===================================================================
+RCS file: /cvs/glibc/libc/wcsmbs/wcscoll.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- libc/wcsmbs/wcscoll.c 2004/03/14 21:05:48 1.13
++++ libc/wcsmbs/wcscoll.c 2005/03/17 21:06:24 1.14
+@@ -22,12 +22,11 @@
+
+ #define STRING_TYPE wchar_t
+ #define USTRING_TYPE wint_t
+-#define STRCOLL __wcscoll
++#define STRCOLL wcscoll
+ #define STRCOLL_L __wcscoll_l
+
+ #include "../string/strcoll.c"
+
+ #ifndef USE_IN_EXTENDED_LOCALE_MODEL
+-weak_alias (__wcscoll, wcscoll)
+ libc_hidden_weak (wcscoll)
+ #endif
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch
new file mode 100644
index 0000000..ace71e2
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch
@@ -0,0 +1,126 @@
+If I'm really lucky, this fixes the following error building with gcc-4.0.0:
+
+../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to undefined symbol '__isinf'
+make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/math/s_isinf.os] Error 1
+make[1]: *** [math/subdir_lib] Error 2
+make: *** [lib] Error 2
+
+---
+
+
+Revision 1.71, Thu Mar 17 21:06:27 2005 UTC (3 weeks, 5 days ago) by roland
+Branch: MAIN
+CVS Tags: fedora-glibc-20050405T2114, fedora-glibc-20050401T1444, fedora-glibc-20050324T0715, fedora-glibc-20050319T1907, HEAD
+Changes since 1.70: +11 -66 lines
+Diff to previous 1.70 (colored)
+
+2005-03-16 Richard Henderson <rth@redhat.com>
+
+ * include/libc-symbols.h (__hidden_proto): Remove bogus declaration
+ of internal.
+ (__hidden_def1, __hidden_dot_def1): Remove.
+ (__hidden_def2, __hidden_def3): Remove.
+ (__hidden_ver1): New.
+ (hidden_ver, hidden_def, hidden_weak): Use it.
+ (hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data
+ version of the macro.
+
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/include/libc-symbols.h.diff?r1=1.70&r2=1.71&cvsroot=glibc
+
+===================================================================
+RCS file: /cvs/glibc/libc/include/libc-symbols.h,v
+retrieving revision 1.70
+retrieving revision 1.71
+diff -u -r1.70 -r1.71
+--- libc/include/libc-symbols.h 2005/02/11 00:29:46 1.70
++++ libc/include/libc-symbols.h 2005/03/17 21:06:27 1.71
+@@ -583,78 +583,23 @@
+ # define hidden_proto(name, attrs...) \
+ __hidden_proto (name, __GI_##name, ##attrs)
+ # define __hidden_proto(name, internal, attrs...) \
+- extern __typeof (name) internal; \
+ extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
+ __hidden_proto_hiddenattr (attrs);
+ # define __hidden_asmname(name) \
+ __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
+ # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
+ # define __hidden_asmname2(prefix, name) #prefix name
+-# ifdef HAVE_ASM_SET_DIRECTIVE
+-# define __hidden_def1(original, alias) \
+- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+- .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
+-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
+- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
+- .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
+-# else
+-# define __hidden_dot_def1(original, alias)
+-# endif
+-# else
+-# define __hidden_def1(original, alias) \
+- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
+-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
+- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
+- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
+-# else
+-# define __hidden_dot_def1(original, alias)
+-# endif
+-# endif
+-# define __hidden_def2(...) #__VA_ARGS__
+-# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
+-# define hidden_def(name) \
+- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
+- __hidden_dot_def1 (__GI_##name, name)));
+-# define hidden_data_def(name) \
+- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
+-# define hidden_ver(local, name) \
+- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
+- __hidden_dot_def1 (local, __GI_##name)));
+-# define hidden_data_ver(local, name) \
+- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
+-# ifdef HAVE_WEAK_SYMBOLS
+-# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
+-# define __hidden_weak1(original, alias) \
+- .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
+-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
+- .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
+-# else
+-# define __hidden_dot_weak1(original, alias)
+-# endif
+-# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
+-# define __hidden_weak1(original, alias) \
+- .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
+-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
+- .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
+- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
+-# else
+-# define __hidden_dot_weak1(original, alias)
+-# endif
+-# endif
+-# define hidden_weak(name) \
+- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
+- __hidden_dot_weak1 (__GI_##name, name)));
+-# define hidden_data_weak(name) \
+- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
+-# else
+-# define hidden_weak(name) hidden_def (name)
+-# endif
++# define __hidden_ver1(local, internal, name) \
++ extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
++ extern __typeof (name) __EI_##name \
++ __attribute__((alias (__hidden_asmname (#local))))
++# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
++# define hidden_data_ver(local, name) hidden_ver(local, name)
++# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
++# define hidden_data_def(name) hidden_def(name)
++# define hidden_weak(name) \
++ __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
++# define hidden_data_weak(name) hidden_weak(name)
+ # else
+ /* For assembly, we need to do the opposite of what we do in C:
+ in assembly gcc __REDIRECT stuff is not in place, so functions
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-wcstol_l.patch b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-wcstol_l.patch
new file mode 100644
index 0000000..5637ce6
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-wcstol_l.patch
@@ -0,0 +1,57 @@
+Fixes
+../sysdeps/wordsize-64/wcstol_l.c:11: error: '____wcstoll_l_internal' aliased to undefined symbol '____wcstol_l_internal'
+../sysdeps/wordsize-64/wcstol_l.c:12: error: '__wcstoll_l' aliased to undefined symbol '__wcstol_l'
+../sysdeps/wordsize-64/wcstol_l.c:13: error: 'wcstoll_l' aliased to undefined symbol '__wcstol_l'
+make[2]: *** [/home/dkegel/queue/jobdir.produser_cpsm10/crosstool-0.32/build/x86_64-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/wcsmbs/wcstoul_l.o] Error 1
+
+https://www.redhat.com/archives/fedora-cvs-commits/2005-March/msg00408.html
+%changelog
++* Fri Mar 25 2005 Jakub Jelinek <jakub redhat com> 2.3.4-18
++- fix build on 64-bit arches with new GCC
+
+Revision 1.4.2.1, Fri Mar 25 11:59:01 2005 UTC (3 weeks, 4 days ago) by jakub
+Branch: fedora-branch
+CVS Tags: fedora-glibc-2_3_4-18
+Changes since 1.4: +2 -0 lines
+Diff to previous 1.4 (colored)
+
+ * sysdeps/wordsize-64/strtol_l.c: Don't add aliases if UNSIGNED.
+ * sysdeps/wordsize-64/wcstol_l.c: Likewise.
+
+
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/wordsize-64/strtol_l.c.diff?r1=1.4&r2=1.4.2.1&cvsroot=glibc
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/wordsize-64/wcstol_l.c.diff?r1=1.4&r2=1.4.2.1&cvsroot=glibc
+
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/wordsize-64/strtol_l.c,v
+retrieving revision 1.4
+retrieving revision 1.4.2.1
+diff -u -r1.4 -r1.4.2.1
+--- libc/sysdeps/wordsize-64/strtol_l.c 2003/03/03 09:45:12 1.4
++++ libc/sysdeps/wordsize-64/strtol_l.c 2005/03/25 11:59:01 1.4.2.1
+@@ -8,7 +8,9 @@
+ #undef ____strtoll_l_internal
+ #undef __strtoll_l
+ #undef strtoll_l
++#if !UNSIGNED
+ strong_alias (____strtol_l_internal, ____strtoll_l_internal)
+ libc_hidden_ver (____strtol_l_internal, ____strtoll_l_internal)
+ weak_alias (__strtol_l, __strtoll_l)
+ weak_alias (__strtol_l, strtoll_l)
++#endif
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/wordsize-64/wcstol_l.c,v
+retrieving revision 1.4
+retrieving revision 1.4.2.1
+diff -u -r1.4 -r1.4.2.1
+--- libc/sysdeps/wordsize-64/wcstol_l.c 2002/08/08 11:44:51 1.4
++++ libc/sysdeps/wordsize-64/wcstol_l.c 2005/03/25 11:59:01 1.4.2.1
+@@ -8,6 +8,8 @@
+ #undef ____wcstoll_l_internal
+ #undef __wcstoll_l
+ #undef wcstoll_l
++#if !UNSIGNED
+ strong_alias (____wcstol_l_internal, ____wcstoll_l_internal)
+ weak_alias (__wcstol_l, __wcstoll_l)
+ weak_alias (__wcstol_l, wcstoll_l)
++#endif
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-cygwin.patch b/patches/glibc/2.3.5/glibc-2.3.5-cygwin.patch
new file mode 100644
index 0000000..8adea8b
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-cygwin.patch
@@ -0,0 +1,185 @@
+Fixes
+elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
+...
+when building glibc-2.3.x 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.5 also requires a patch, see
+../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
+
+[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
+
+Message-ID: <4282FCBA.3040000@unicontrols.cz>
+Date: Thu, 12 May 2005 08:50:34 +0200
+From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
+To: Dan Kegel <dank@kegel.com>
+CC: crossgcc@sources.redhat.com
+Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
+
+Hi Dan,
+following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
+on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
+
+--
+ Petr Cvachoucek
+ Unicontrols a.s.
+ http://www.unicontrols.cz
+]
+
+diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
+--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
++++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
+@@ -449,7 +449,7 @@
+ # 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
+ endif
+@@ -656,7 +656,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))
+@@ -712,14 +712,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.5/Makerules glibc-2.3.5-cygwin/Makerules
+--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
++++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
+@@ -416,7 +416,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)
+@@ -961,7 +961,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';\
+@@ -969,7 +969,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.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
+--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
++++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
+@@ -13,7 +13,7 @@
+
+ ifneq (,$($(lib)-static-only-routines))
+ ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
+-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
++object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
+ endif
+ endif
+
+@@ -29,7 +29,7 @@
+
+ # Add each flavor of library to the lists of things to build and install.
+ install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
+-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
++extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
+ $(patsubst %,%$o,$(filter-out \
+ $($(lib)-shared-only-routines),\
+ $(all-$(lib)-routines))))
+@@ -57,7 +57,7 @@
+
+
+ # Use o-iterator.mk to generate a rule for each flavor of library.
+-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
++ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
+ define o-iterator-doit
+ $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
+ $(patsubst %,$(objpfx)%$o,\
+@@ -65,7 +65,7 @@
+ $(all-$(lib)-routines))); \
+ $$(build-extra-lib)
+ endef
+-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
++object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
+ include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
+ endif
+
+@@ -77,9 +77,9 @@
+ $(build-extra-lib)
+ endif
+
+-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
+-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
+- $(patsubst %,$(objpfx)%.oS,\
++ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
++$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
++ $(patsubst %,$(objpfx)%.oST,\
+ $(filter $($(lib)-static-only-routines),\
+ $(all-$(lib)-routines)))
+ $(build-extra-lib)
+diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
+--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
++++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
+@@ -360,7 +360,7 @@
+
+ $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
+ $(objpfx)libpthread.so$(libpthread.so-version) \
+- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
++ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
+ $(libprefix)pthread) \
+ $(+force)
+ (echo '/* GNU ld script';\
+@@ -368,7 +368,7 @@
+ echo ' the static library, so try that secondarily. */';\
+ cat $<; \
+ echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
+- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
++ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
+ ')' \
+ ) > $@.new
+ mv -f $@.new $@
+diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
+--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
++++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
+@@ -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.5/glibc-2.3.5-fix-pr631.patch b/patches/glibc/2.3.5/glibc-2.3.5-fix-pr631.patch
new file mode 100644
index 0000000..2ef3ae3
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-fix-pr631.patch
@@ -0,0 +1,43 @@
+From dank@kegel.com
+Wed Jun 15 09:12:43 PDT 2005
+
+Fixes
+
+build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
+build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
+... 53 lines deleted ...
+build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
+collect2: ld returned 1 exit status
+make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
+
+when building glibc with --enable-static-nss.
+
+See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
+
+--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
++++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
+@@ -487,7 +487,7 @@
+
+ # The static libraries.
+ ifeq (yes,$(build-static))
+-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
++link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
+ else
+ ifeq (yes,$(build-shared))
+ # We can try to link the programs with lib*_pic.a...
+--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
++++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
+@@ -114,6 +114,13 @@
+ install-bin-script = ldd
+ endif
+
++ifeq (yes,$(build-static-nss))
++nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
++resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
++otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
++ $(resolvobjdir)/libresolv.a
++endif
++
+ others = sprof sln
+ install-bin = sprof
+ others-static = sln
diff --git a/patches/glibc/2.3.5/glibc-2.3.5-sh-memset.patch b/patches/glibc/2.3.5/glibc-2.3.5-sh-memset.patch
new file mode 100644
index 0000000..dcc7c9b
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-2.3.5-sh-memset.patch
@@ -0,0 +1,69 @@
+[http://sources.redhat.com/ml/crossgcc/2005-10/msg00035.html]
+
+Message-ID: <434576E1.6020305@sscd.de>
+Date: Thu, 06 Oct 2005 21:11:29 +0200
+From: Alexander Sieb <sieb@sscd.de>
+To: crossgcc@sourceware.org
+Subject: Crosstool sh4-linux-gcc-4.0.2-glibc-2.3.5 patches
+
+Hi,
+
+attached you find the files I needed to add to crosstool-0.38
+in order to build a sh4-linux gcc-4.0.2-glibc-2.3.5 tool chain.
+
+Files attached:
+
+sh4-gcc4.dat:
+ * gcc4 needs --with-multilib-list=m4,m4-nofpu otherwise a linux
+ kernel won't build as it uses the -m4-nofpu option.
+
+gcc-pr21623.patch:
+ * Kaz Kojima provided a patch [really, a workaround -dank] for http://gcc.gnu.org/PR21623
+
+glibc-2.3.5-sh-memset.patch:
+ * A patch for glibc-2.3.5 which corrects memset. From SUGIOKA Toshinobu.
+ See content for rationale.
+
+-- snip --
+
+-- Here's patch 2 of 2, plus URLs showing where it is in CVS --
+
+[http://sources.redhat.com/ml/glibc-cvs/2005-q3/msg00319.html]
+
+Date: 24 Jul 2005 22:54:32 -0000
+Message-ID: <20050724225432.2111.qmail@sourceware.org>
+From: roland at sourceware dot org
+To: glibc-cvs at sources dot redhat dot com
+Subject: libc/sysdeps/sh memset.S
+
+CVSROOT: /cvs/glibc
+Module name: libc
+Changes by: roland@sources.redhat.com 2005-07-24 22:54:32
+
+Modified files:
+ sysdeps/sh : memset.S
+
+Log message:
+ 2005-07-24 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
+
+ * sysdeps/sh/memset.S (memset): Correct 2nd argument handling.
+
+[http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/sh/memset.S.diff?cvsroot=glibc&r1=1.4&r2=1.5]
+
+RCS file: /cvs/glibc/libc/sysdeps/sh/memset.S,v
+retrieving revision 1.4
+retrieving revision 1.5
+diff -u -r1.4 -r1.5
+--- libc/sysdeps/sh/memset.S 2003/04/29 22:47:18 1.4
++++ libc/sysdeps/sh/memset.S 2005/07/24 22:54:32 1.5
+@@ -28,6 +28,7 @@
+ bt.s L_byte_loop_init
+ mov r4,r7
+
++ extu.b r5,r5
+ swap.b r5,r1
+ or r1,r5
+ swap.w r5,r1
+
+
+[See also http://sources.redhat.com/ml/libc-alpha/2005-07/msg00051.html]
diff --git a/patches/glibc/2.3.5/glibc-configure-apple-as.patch b/patches/glibc/2.3.5/glibc-configure-apple-as.patch
new file mode 100644
index 0000000..604c36d
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-configure-apple-as.patch
@@ -0,0 +1,23 @@
+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.5/glibc-fp-byteorder.patch b/patches/glibc/2.3.5/glibc-fp-byteorder.patch
new file mode 100644
index 0000000..f20432e
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-fp-byteorder.patch
@@ -0,0 +1,203 @@
+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:&nbsp;&nbsp;&nbsp;problem&nbsp;while&nbsp;building&nbsp;arm&nbsp;vfp&nbsp;softfloat&nbsp;gcc&nbsp;`
+
+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 */
diff --git a/patches/glibc/2.3.5/glibc-mips-bootstrap-gcc-header-install.patch b/patches/glibc/2.3.5/glibc-mips-bootstrap-gcc-header-install.patch
new file mode 100644
index 0000000..38873ec
--- /dev/null
+++ b/patches/glibc/2.3.5/glibc-mips-bootstrap-gcc-header-install.patch
@@ -0,0 +1,35 @@
+http://sourceware.org/ml/crossgcc/2005-05/msg00165.html
+Fixes a MIPS build problem (unrelated to NPTL)
+
+Message-ID: <428E8B24.1000201@realitydiluted.com>
+Date: Fri, 20 May 2005 20:13:08 -0500
+From: "Steven J dot Hill" <sjhill at realitydiluted dot com>
+To: crossgcc at sources dot redhat dot com, toolchain at gentoo dot org,
+ Shay_Gal-On at pmc-sierra dot com, TheNop at gmx dot net
+Subject: New NPTL patches for crosstools and MIPS NPTL patches....
+
+Greetings.
+
+I have uploaded the latest NPTL patch for crosstool-0.34. I have also
+uploaded a tarball of the patches necessary to build a MIPS NPTL
+cross toolchain. To build a MIPS NPTL toolchain you will need the
+released version of binutils-2.16 and the absolute latest GCC and
+glibc code from the HEAD of cvs. Use the 'demo-mips-nptl.sh' script
+to build the toolchain. Please report bugs or issues to the crossgcc
+mailing list. Here is the link off of my FTP site:
+
+ ftp://ftp.realitydiluted.com/crosstools/crosstool-0.34/
+
+[Note: BOOTSTRAP_GCC is set by crosstool.sh when invoking make install-headers]
+
+diff -ur glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile
+--- glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile 2003-03-29 02:15:28.000000000 -0600
++++ glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile 2005-04-12 21:36:51.318837655 -0500
+@@ -1,3 +1,7 @@
++ifeq ($(filter -DBOOTSTRAP_GCC,$(CFLAGS)),)
+ ifeq ($(filter -mabi=32,$(CC)),)
+ CC += -mabi=32
+ endif
++else
++CC += -D"_MIPS_SZPTR=32"
++endif
diff --git a/patches/glibc/2.3.5/make-install-lib-all.patch b/patches/glibc/2.3.5/make-install-lib-all.patch
new file mode 100644
index 0000000..3845722
--- /dev/null
+++ b/patches/glibc/2.3.5/make-install-lib-all.patch
@@ -0,0 +1,24 @@
+From http://svn.exactcode.de/t2/trunk/package/base/glibc32/make-install-lib-all.patch
+Rule to install all needed libraries, not just the ones installed by install-lib,
+yet not install programs.
+Needed because we can't use the main install target, as we can't build programs before
+we have the final gcc installed; linking fails because libeh.a is not present,
+and glibc insists on linking programs with that library.
+
+diff -Naur glibc-2.3.4.orig/Makerules glibc-2.3.4/Makerules
+--- glibc-2.3.4.orig/Makerules 2004-12-15 20:52:39.000000000 +0200
++++ glibc-2.3.4/Makerules 2005-02-19 15:16:31.415125176 +0200
+@@ -844,6 +844,13 @@
+ installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
+ $(inst_libdir)/$(patsubst %,$(libtype$o),\
+ $(libprefix)$(libc-name)))
++
++install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \
++ $(inst_slibdir)/libc-$(version).so \
++ $(inst_libdir)/libc.so \
++ $(inst_libdir)/libc.a \
++ install-lib
++
+ install: $(installed-libcs)
+ $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
+ $(make-target-directory)
diff --git a/patches/glibc/2.3.5/pr758.patch b/patches/glibc/2.3.5/pr758.patch
new file mode 100644
index 0000000..d1142a2
--- /dev/null
+++ b/patches/glibc/2.3.5/pr758.patch
@@ -0,0 +1,256 @@
+See http://sources.redhat.com/bugzilla/show_bug.cgi?id=758
+
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-02-23
+Initial Package Version: 2.3.4
+Origin: Richard Sandiford
+Upstream Status: Unknown
+Description: Fixes Syscall.h generation
+
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/Makefile glibc-2.3.4/sysdeps/unix/sysv/linux/mips/Makefile
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/Makefile 2004-11-24 04:38:15 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/Makefile 2005-02-23 18:21:54 +0000
+@@ -9,11 +9,73 @@
+
+ no_syscall_list_h = 1
+
+-# Generate the list of SYS_* macros for the system calls (__NR_* macros).
+-# We generate not only SYS_<syscall>, pointing at SYS_<abi>_<syscall> if
+-# it exists, but also define SYS_<abi>_<syscall> for all ABIs.
++# A callable macro that expands to a shell command. Preprocess file $(1)
++# using ABI option $(2) and see which macros it defines. Print FOO for each
++# macro of the form __NR$(3)_FOO, filtering out ABI-specific __NR macros
++# that have a prefix other than $(3).
++mips_list_syscalls = $(filter-out -m%,$(CC)) -E -x c $(+includes) \
++ $(sysincludes) -D_LIBC -dM -mabi=$(2) $(1) | \
++ sed -n 's@^\#define __NR$(3)_\([^ ]*\) .*@\1@p' | \
++ sed -e '/^[ON]32_/d' -e '/^N64_/d' -e '/^64_/d' | \
++ LC_ALL=C sort
++
++# Generate a list of SYS_* macros from the linux __NR macros.
++#
++# Before version 2.6, linux had separate 32-bit and 64-bit MIPS ports,
++# each with its own set of headers. The ports were merged for 2.6 and
++# this merged port defines the syscalls in a slightly different way.
++# There are therefore three sets of headers that we need to consider:
++#
++# (1) Headers from the separate 32-bit MIPS port. They just define
++# a single list of __NR macros.
++#
++# (2) Headers from the separate 64-bit MIPS port. They unconditionally
++# define syscalls for all three ABIs, with o32 syscalls prefixed
++# by __NR_O32, n32 syscalls prefixed by __NR_N32 and n64 syscalls
++# prefixed by plain __NR.
++#
++# (3) Headers from the combined port. They use the _MIPS_SIM macro to
++# define the right set of syscalls for the current ABI. The syscalls
++# themselves have no special ABI prefix, but the headers also define:
++#
++# __NR_O32_Linux{,_syscalls}
++# __NR_N32_Linux{,_syscalls}
++# __NR_64_Linux{,_syscalls}
++#
++# In case (1) we just want a simple list of SYS_* macros. In cases (2)
++# and (3) we want a file that will work for all three ABIs, regardless
++# of which ABI we are currently using. We also want the file to work
++# if the user later moves from (2) to (3). Thus the file we create
++# for (2) and (3) has the form:
++#
++# #if _MIPS_SIM == _MIPS_SIM_NABI32
++# # ifdef __NR_N32_open
++# # define SYS_n32syscall1 __NR_N32_n32syscall1
++# # ...
++# # else
++# # define SYS_n32syscall1 __NR_n32syscall1
++# # ...
++# # endif
++# #elif _MIPS_SIM == _MIPS_SIM_ABI64
++# # define SYS_n64syscall1 __NR_n64syscall1
++# # ...
++# #else
++# # ifdef __NR_O32_open
++# # define SYS_o32syscall1 __NR_O32_o32syscall1
++# # ...
++# # else
++# # define SYS_o32syscall1 __NR_o32syscall1
++# # ...
++# # endif
++# #endif
++#
++# Here, __NR_N32_open and __NR_O32_open are used to detect case (2)
++# over case (3). The n64 SYS_* macros can always use the normal
++# ABI-less names.
+ $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/mips/sys/syscall.h
+ $(make-target-directory)
++ $(CC) -E -x c $(+includes) $(sysincludes) -D_LIBC $< -MD -MP \
++ -MF $(@:.h=.d)-t -MT '$(@:.d=.h) $(@:.h=.d)' > /dev/null
+ { \
+ echo '/* Generated at libc build time from kernel syscall list. */';\
+ echo ''; \
+@@ -22,28 +84,38 @@
+ echo '#endif'; \
+ echo ''; \
+ echo '#include <sgidefs.h>'; \
+- rm -f $(@:.d=.h).newt; \
+- $(CC) -E -MD -MP -MF $(@:.h=.d)-t -MT '$(@:.d=.h) $(@:.h=.d)' \
+- -x c $(+includes) $(sysincludes) $< -D_LIBC -dM | \
+- sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' \
+- > $(@:.d=.h).newt; \
+- if grep SYS_O32_ $(@:.d=.h).newt > /dev/null; then \
++ rm -f $(@:.d=.h).new32 $(@:.d=.h).newn32 $(@:.d=.h).new64; \
++ $(call mips_list_syscalls,$<,n32,_N32) > $(@:.d=.h).newn32; \
++ if test -s $(@:.d=.h).newn32; then \
++ if grep open $(@:.d=.h).newn32 > /dev/null; then \
++ $(call mips_list_syscalls,$<,32,_O32) > $(@:.d=.h).new32; \
++ $(call mips_list_syscalls,$<,64,) > $(@:.d=.h).new64; \
++ else \
++ $(call mips_list_syscalls,$<,32,) > $(@:.d=.h).new32; \
++ $(call mips_list_syscalls,$<,n32,) > $(@:.d=.h).newn32; \
++ $(call mips_list_syscalls,$<,64,) > $(@:.d=.h).new64; \
++ fi; \
+ echo '#if _MIPS_SIM == _ABIN32'; \
+- sed -n 's/^\(#define SYS_\)N32_/\1/p' < $(@:.d=.h).newt | \
+- LC_ALL=C sort; \
++ echo '# ifdef __NR_N32_open'; \
++ sed 's@\(.*\)@# define SYS_\1 __NR_N32_\1@' < $(@:.d=.h).newn32; \
++ echo '# else'; \
++ sed 's@\(.*\)@# define SYS_\1 __NR_\1@' < $(@:.d=.h).newn32; \
++ echo '# endif'; \
+ echo '#elif _MIPS_SIM == _ABI64'; \
+- sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt | \
+- LC_ALL=C sort; \
++ sed 's@\(.*\)@# define SYS_\1 __NR_\1@' < $(@:.d=.h).new64; \
+ echo '#else'; \
+- sed -n 's/^\(#define SYS_\)O32_/\1/p' < $(@:.d=.h).newt | \
+- LC_ALL=C sort; \
++ echo '# ifdef __NR_O32_open'; \
++ sed 's@\(.*\)@# define SYS_\1 __NR_O32_\1@' < $(@:.d=.h).new32; \
++ echo '# else'; \
++ sed 's@\(.*\)@# define SYS_\1 __NR_\1@' < $(@:.d=.h).new32; \
++ echo '# endif'; \
+ echo '#endif'; \
+- sed -n '/^#define SYS_\([ON]32\|N64\)_/p' < $(@:.d=.h).newt | \
+- LC_ALL=C sort +1.8; \
+ else \
+- cat $(@:.d=.h).newt; \
++ $(CC) -E -x c $(+includes) $(sysincludes) -D_LIBC -dM $< | \
++ sed -n 's@^\#define __NR_\([^ ]*\) .*@\#define SYS_\1 __NR_\1@p' | \
++ LC_ALL=C sort; \
+ fi; \
+- rm $(@:.d=.h).newt; \
++ rm -f $(@:.d=.h).new32 $(@:.d=.h).newn32 $(@:.d=.h).new64; \
+ } > $(@:.d=.h).new
+ mv -f $(@:.d=.h).new $(@:.d=.h)
+ ifneq (,$(objpfx))
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/configure glibc-2.3.4/sysdeps/unix/sysv/linux/mips/configure
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/configure 2004-11-24 04:42:45 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/configure 2005-02-23 18:10:11 +0000
+@@ -18,7 +18,7 @@
+ { echo "$as_me:$LINENO: WARNING: *** asm/unistd.h not found, it will not be pre-processed" >&5
+ echo "$as_me: WARNING: *** asm/unistd.h not found, it will not be pre-processed" >&2;}
+ echo '#include <asm/unistd.h>' > asm-unistd.h
+- else
++ elif grep __NR_N32_open "$asm_unistd_h" > /dev/null; then
+ # The point of this preprocessing is to turn __NR_<syscall> into
+ # __NR_N64_<syscall>, as well as to define __NR_<syscall> to
+ # __NR_<abi>_<syscall>, if __NR_<abi>_<syscall> is defined
+@@ -68,6 +68,8 @@
+ {
+ print;
+ }'
++ else
++ echo '#include <asm/unistd.h>' > asm-unistd.h
+ fi ;;
+ mips*)
+ rm -f asm-unistd.h
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/configure.in glibc-2.3.4/sysdeps/unix/sysv/linux/mips/configure.in
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/configure.in 2004-11-24 04:38:31 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/configure.in 2005-02-23 18:10:11 +0000
+@@ -18,7 +18,7 @@
+ if test ! -f "$asm_unistd_h"; then
+ AC_MSG_WARN([*** asm/unistd.h not found, it will not be pre-processed])
+ echo '#include <asm/unistd.h>' > asm-unistd.h
+- else
++ elif grep __NR_N32_open "$asm_unistd_h" > /dev/null; then
+ # The point of this preprocessing is to turn __NR_<syscall> into
+ # __NR_N64_<syscall>, as well as to define __NR_<syscall> to
+ # __NR_<abi>_<syscall>, if __NR_<abi>_<syscall> is defined
+@@ -68,6 +68,8 @@
+ {
+ print;
+ }'
++ else
++ echo '#include <asm/unistd.h>' > asm-unistd.h
+ fi ;;
+ mips*)
+ rm -f asm-unistd.h
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h 2003-03-29 08:15:29 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h 2005-02-23 18:10:11 +0000
+@@ -1,36 +0,0 @@
+-/* Copyright (C) 2000, 2002, 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. */
+-
+-#ifndef _LINUX_MIPS_MIPS32_KERN64_SYSDEP_H
+-#define _LINUX_MIPS_MIPS32_KERN64_SYSDEP_H 1
+-
+-/* There is some commonality. */
+-#include <sysdeps/unix/sysv/linux/mips/mips32/sysdep.h>
+-
+-/* For Linux we can use the system call table in the header file
+- /usr/include/asm/unistd.h
+- of the kernel. But these symbols do not follow the SYS_* syntax
+- so we have to redefine the `SYS_ify' macro here. */
+-#undef SYS_ify
+-#ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_O32_##syscall_name
+-#else
+-# define SYS_ify(syscall_name) __NR_O32_/**/syscall_name
+-#endif
+-
+-#endif /* linux/mips/mips32/kern64/sysdep.h */
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h 2004-10-18 05:16:07 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h 2005-02-23 18:10:11 +0000
+@@ -28,9 +28,9 @@
+ so we have to redefine the `SYS_ify' macro here. */
+ #undef SYS_ify
+ #ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_N32_##syscall_name
++# define SYS_ify(syscall_name) __NR_##syscall_name
+ #else
+-# define SYS_ify(syscall_name) __NR_N32_/**/syscall_name
++# define SYS_ify(syscall_name) __NR_/**/syscall_name
+ #endif
+
+ #ifdef __ASSEMBLER__
+diff -Naur glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
+--- glibc-2.3.4.orig/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h 2004-10-18 05:16:08 +0000
++++ glibc-2.3.4/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h 2005-02-23 18:10:11 +0000
+@@ -28,9 +28,9 @@
+ so we have to redefine the `SYS_ify' macro here. */
+ #undef SYS_ify
+ #ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_N64_##syscall_name
++# define SYS_ify(syscall_name) __NR_##syscall_name
+ #else
+-# define SYS_ify(syscall_name) __NR_N64_/**/syscall_name
++# define SYS_ify(syscall_name) __NR_/**/syscall_name
+ #endif
+
+ #ifdef __ASSEMBLER__