diff options
Diffstat (limited to 'patches/glibc/2.3.4')
18 files changed, 0 insertions, 1587 deletions
diff --git a/patches/glibc/2.3.4/arm-ctl_bus_isa.patch b/patches/glibc/2.3.4/arm-ctl_bus_isa.patch deleted file mode 100644 index 3422070..0000000 --- a/patches/glibc/2.3.4/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.4/bad/glibc-2.3.4-cygwin.patch b/patches/glibc/2.3.4/bad/glibc-2.3.4-cygwin.patch deleted file mode 100644 index 23ebc82..0000000 --- a/patches/glibc/2.3.4/bad/glibc-2.3.4-cygwin.patch +++ /dev/null @@ -1,96 +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 -urN glibc-2.3.4-orig/Makeconfig glibc-2.3.4/Makeconfig ---- glibc-2.3.4-orig/Makeconfig 2004-12-15 19:51:47.000000000 +0100 -+++ glibc-2.3.4/Makeconfig 2005-03-13 18:54:58.000000000 +0100 -@@ -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 -@@ -667,7 +667,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)) -@@ -723,14 +723,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 -urN glibc-2.3.4-orig/Makerules glibc-2.3.4/Makerules ---- glibc-2.3.4-orig/Makerules 2004-12-15 19:52:39.000000000 +0100 -+++ glibc-2.3.4/Makerules 2005-03-13 18:50:09.000000000 +0100 -@@ -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 -urN glibc-2.3.4-orig/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.4/sysdeps/sparc/sparc32/sparcv9/Makefile ---- glibc-2.3.4-orig/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200 -+++ glibc-2.3.4/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-03-13 18:50:09.000000000 +0100 -@@ -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.4/fix-pr398.patch b/patches/glibc/2.3.4/fix-pr398.patch deleted file mode 100644 index d5d0309..0000000 --- a/patches/glibc/2.3.4/fix-pr398.patch +++ /dev/null @@ -1,70 +0,0 @@ -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.4/glibc-2.3.4-allow-gcc-4.0-arm.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-arm.patch deleted file mode 100644 index f3ad0c6..0000000 --- a/patches/glibc/2.3.4/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.4/glibc-2.3.4-allow-gcc-4.0-elf.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-elf.patch deleted file mode 100644 index 3bbe6ea..0000000 --- a/patches/glibc/2.3.4/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.4/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch deleted file mode 100644 index 42be8a3..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch +++ /dev/null @@ -1,44 +0,0 @@ -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.4/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch deleted file mode 100644 index d5d8293..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch +++ /dev/null @@ -1,62 +0,0 @@ -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.4/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch deleted file mode 100644 index 949a203..0000000 --- a/patches/glibc/2.3.4/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.4/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch b/patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch deleted file mode 100644 index 6844a9c..0000000 --- a/patches/glibc/2.3.4/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.4/glibc-2.3.4-cygwin.patch b/patches/glibc/2.3.4/glibc-2.3.4-cygwin.patch deleted file mode 100644 index ac72f53..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.4-cygwin.patch +++ /dev/null @@ -1,166 +0,0 @@ -Fixes -elf/librtld.os: In function `process_envvars': : undefined reference to `__access' -... -when building glibc-2.3.4 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.4 also requires a patch, see -../glibc-linuxthreads-2.3.4/glibc-linuxthreads-2.3.4-cygwin.patch - -[ Ported to glibc-2.3.4 by steve@digidescorp.com ] - ---- glibc-2.3.4/Makeconfig.orig 2004-12-15 12:51:47.000000000 -0600 -+++ glibc-2.3.4/Makeconfig 2005-06-29 00:31:27.000000000 -0500 -@@ -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 -@@ -667,7 +667,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)) -@@ -723,14 +723,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. ---- glibc-2.3.4/Makerules.orig 2005-06-28 20:57:52.562500000 -0500 -+++ glibc-2.3.4/Makerules 2005-06-29 00:27:21.328125000 -0500 -@@ -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) -@@ -968,7 +968,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';\ -@@ -976,7 +976,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.4/glibc-2.3.4-memcmp.patch b/patches/glibc/2.3.4/glibc-2.3.4-memcmp.patch deleted file mode 100644 index c01faf8..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.4-memcmp.patch +++ /dev/null @@ -1,46 +0,0 @@ -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.4/glibc-2.3.5-allow-gcc4-string.patch b/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-string.patch deleted file mode 100644 index 7e2fdc8..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-string.patch +++ /dev/null @@ -1,83 +0,0 @@ - -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.4/glibc-2.3.5-allow-gcc4-symbols.patch b/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-symbols.patch deleted file mode 100644 index ace71e2..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-symbols.patch +++ /dev/null @@ -1,126 +0,0 @@ -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.4/glibc-2.3.5-allow-gcc4-wcstol_l.patch b/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-wcstol_l.patch deleted file mode 100644 index 5637ce6..0000000 --- a/patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-wcstol_l.patch +++ /dev/null @@ -1,57 +0,0 @@ -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.4/glibc-configure-apple-as.patch b/patches/glibc/2.3.4/glibc-configure-apple-as.patch deleted file mode 100644 index 604c36d..0000000 --- a/patches/glibc/2.3.4/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.4/glibc-fp-byteorder.patch b/patches/glibc/2.3.4/glibc-fp-byteorder.patch deleted file mode 100644 index f20432e..0000000 --- a/patches/glibc/2.3.4/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 */ diff --git a/patches/glibc/2.3.4/make-install-lib-all.patch b/patches/glibc/2.3.4/make-install-lib-all.patch deleted file mode 100644 index 3845722..0000000 --- a/patches/glibc/2.3.4/make-install-lib-all.patch +++ /dev/null @@ -1,24 +0,0 @@ -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.4/pr758.patch b/patches/glibc/2.3.4/pr758.patch deleted file mode 100644 index d1142a2..0000000 --- a/patches/glibc/2.3.4/pr758.patch +++ /dev/null @@ -1,256 +0,0 @@ -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__ |