From 429b3e884662a3b9a72890aae23865501e66330f Mon Sep 17 00:00:00 2001 From: "Kirill K. Smirnov" Date: Thu, 15 Sep 2016 01:02:54 +0300 Subject: patches: remove obsolete glibc patches Glibc prior to 2.18, linuxthreads and ports are not supported. Signed-off-by: Kirill K. Smirnov diff --git a/patches/glibc/2.10.1/900-march-i686.patch b/patches/glibc/2.10.1/900-march-i686.patch deleted file mode 100644 index c21c62e..0000000 --- a/patches/glibc/2.10.1/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.10.1/910-typedef-caddr.patch b/patches/glibc/2.10.1/910-typedef-caddr.patch deleted file mode 100644 index 503b5d4..0000000 --- a/patches/glibc/2.10.1/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.10.1-orig/posix/sys/types.h glibc-2.10.1/posix/sys/types.h ---- glibc-2.10.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.10.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.10.1-orig/sunrpc/rpc/types.h glibc-2.10.1/sunrpc/rpc/types.h ---- glibc-2.10.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.10.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.10.1/920-make-382.patch b/patches/glibc/2.10.1/920-make-382.patch deleted file mode 100644 index a7356d8..0000000 --- a/patches/glibc/2.10.1/920-make-382.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -urN glibc-2.10.1-orig/manual/Makefile glibc-2.10.1/manual/Makefile ---- glibc-2.10.1-orig/manual/Makefile 2006-01-07 22:43:47.000000000 -0800 -+++ glibc-2.10.1/manual/Makefile 2014-01-15 11:49:08.256982014 -0800 -@@ -232,7 +232,11 @@ - .PHONY: stubs - stubs: $(objpfx)stubs - endif --$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: -+$(objpfx)stamp%: -+ $(make-target-directory) -+ touch $@ -+ -+$(objpfx)stubs ../po/manual.pot: - $(make-target-directory) - touch $@ - diff --git a/patches/glibc/2.11.1/900-march-i686.patch b/patches/glibc/2.11.1/900-march-i686.patch deleted file mode 100644 index 5eec275..0000000 --- a/patches/glibc/2.11.1/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.11.1/910-typedef-caddr.patch b/patches/glibc/2.11.1/910-typedef-caddr.patch deleted file mode 100644 index 4cddbc3..0000000 --- a/patches/glibc/2.11.1/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.11.1-orig/posix/sys/types.h glibc-2.11.1/posix/sys/types.h ---- glibc-2.11.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.11.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.11.1-orig/sunrpc/rpc/types.h glibc-2.11.1/sunrpc/rpc/types.h ---- glibc-2.11.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.11.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.11/900-march-i686.patch b/patches/glibc/2.11/900-march-i686.patch deleted file mode 100644 index 38c3473..0000000 --- a/patches/glibc/2.11/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.11.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.11.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.11/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.11/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.11/910-typedef-caddr.patch b/patches/glibc/2.11/910-typedef-caddr.patch deleted file mode 100644 index eb6cc6e..0000000 --- a/patches/glibc/2.11/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.11-orig/posix/sys/types.h glibc-2.11/posix/sys/types.h ---- glibc-2.11-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.11/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.11-orig/sunrpc/rpc/types.h glibc-2.11/sunrpc/rpc/types.h ---- glibc-2.11-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.11/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.11/920-make-40.patch b/patches/glibc/2.11/920-make-40.patch deleted file mode 100644 index afb7cc4..0000000 --- a/patches/glibc/2.11/920-make-40.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN glibc-2.11-orig/configure glibc-2.11/configure ---- glibc-2.11-orig/configure 2015-07-14 08:14:11.671891176 -0700 -+++ glibc-2.11/configure 2015-07-14 09:14:10.053054117 -0700 -@@ -5108,7 +5108,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | 4.* ) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - diff --git a/patches/glibc/2.12.1/900-march-i686.patch b/patches/glibc/2.12.1/900-march-i686.patch deleted file mode 100644 index 7f5b1ce..0000000 --- a/patches/glibc/2.12.1/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.12.1/910-typedef-caddr.patch b/patches/glibc/2.12.1/910-typedef-caddr.patch deleted file mode 100644 index e29e810..0000000 --- a/patches/glibc/2.12.1/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.12.1-orig/posix/sys/types.h glibc-2.12.1/posix/sys/types.h ---- glibc-2.12.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.12.1-orig/sunrpc/rpc/types.h glibc-2.12.1/sunrpc/rpc/types.h ---- glibc-2.12.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.12.1/920-make-382.patch b/patches/glibc/2.12.1/920-make-382.patch deleted file mode 100644 index 28be2fe..0000000 --- a/patches/glibc/2.12.1/920-make-382.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=blob_plain;f=source/base/glibc/make-3.82-fix.patch;hb=8217c32ecc2e14962847ba3d8a272eb64a3dba4f - ---- glibc-2.10.1.OLD/manual/Makefile -+++ glibc-2.10.1.NEW/manual/Makefile -@@ -232,7 +232,9 @@ - .PHONY: stubs - stubs: $(objpfx)stubs - endif --$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: -+$(objpfx)stubs ../po/manual.pot: -+ touch $@ -+$(objpfx)stamp%: - $(make-target-directory) - touch $@ - diff --git a/patches/glibc/2.12.2/900-march-i686.patch b/patches/glibc/2.12.2/900-march-i686.patch deleted file mode 100644 index 6030de9..0000000 --- a/patches/glibc/2.12.2/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.12.2.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.2/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.12.2.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.2/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.12.2.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.2/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.12.2.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.2/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.12.2/910-typedef-caddr.patch b/patches/glibc/2.12.2/910-typedef-caddr.patch deleted file mode 100644 index 4bc75cb..0000000 --- a/patches/glibc/2.12.2/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.12.2-orig/posix/sys/types.h glibc-2.12.2/posix/sys/types.h ---- glibc-2.12.2-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.2/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.12.2-orig/sunrpc/rpc/types.h glibc-2.12.2/sunrpc/rpc/types.h ---- glibc-2.12.2-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.2/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.13/900-march-i686.patch b/patches/glibc/2.13/900-march-i686.patch deleted file mode 100644 index 7f5b1ce..0000000 --- a/patches/glibc/2.13/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.13/910-typedef-caddr.patch b/patches/glibc/2.13/910-typedef-caddr.patch deleted file mode 100644 index e29e810..0000000 --- a/patches/glibc/2.13/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.12.1-orig/posix/sys/types.h glibc-2.12.1/posix/sys/types.h ---- glibc-2.12.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.12.1-orig/sunrpc/rpc/types.h glibc-2.12.1/sunrpc/rpc/types.h ---- glibc-2.12.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.12.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/2.13/950-initfini-ppc64.patch b/patches/glibc/2.13/950-initfini-ppc64.patch deleted file mode 100644 index 87f8d23..0000000 --- a/patches/glibc/2.13/950-initfini-ppc64.patch +++ /dev/null @@ -1,20 +0,0 @@ -Prevent erroneous inline optimization of initfini.s on PowerPC64. - -The problem and the fix was reported there: -http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html -Git commit: -commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6 -Author: Ryan S. Arnold -Date: Tue May 3 17:26:17 2011 -0500 - ---- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800 -+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800 -@@ -31,7 +31,7 @@ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. --CFLAGS-initfini.s += -fpic -O1 -+CFLAGS-initfini.s += -fpic -O1 -fno-inline - endif - endif - diff --git a/patches/glibc/2.14.1/900-cpuid-include.patch b/patches/glibc/2.14.1/900-cpuid-include.patch deleted file mode 100644 index 0b8db71..0000000 --- a/patches/glibc/2.14.1/900-cpuid-include.patch +++ /dev/null @@ -1,628 +0,0 @@ -This patch fixes another configure test issue when bootstrapping. -sysdeps/i386/configure.in uses the obsolete AC_HEADER_CHECK macro to -test for cpuid.h, and that macro tries to include various other -standard headers (which come from the library, unlike cpuid.h which -comes from the compiler, so aren't available when bootstrapping) in -the test code it compiles. This patch changes the code to use -AC_CHECK_HEADER, with the fourth argument used to prevent any default -includes being used in the test. - -Tested x86_64 (native). - -2012-03-07 Joseph Myers - - * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no - default includes instead of AC_HEADER_CHECK. - * sysdeps/i386/configure: Regenerated. - -Origin: http://sourceware.org/ml/libc-alpha/2012-03/msg00177.html - -diff -Nur glibc-2.14.1.orig/sysdeps/i386/configure glibc-2.14.1/sysdeps/i386/configure ---- glibc-2.14.1.orig/sysdeps/i386/configure 2011-10-07 20:48:55.000000000 +1100 -+++ glibc-2.14.1/sysdeps/i386/configure 2012-07-25 01:23:11.799118927 +1000 -@@ -16,23 +16,6 @@ - as_fn_set_status $1 - exit $1 - } # as_fn_exit --# as_fn_arith ARG... --# ------------------ --# Perform arithmetic evaluation on the ARGs, and store the result in the --# global $as_val. Take advantage of shells that can avoid forks. The arguments --# must be portable across $(()) and expr. --if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -- eval 'as_fn_arith () -- { -- as_val=$(( $* )) -- }' --else -- as_fn_arith () -- { -- as_val=`expr "$@" || test $? -eq 1` -- } --fi # as_fn_arith -- - if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -@@ -89,6 +72,10 @@ - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). -@@ -97,42 +84,6 @@ - exit - } - --# Factoring default headers for most tests. --ac_includes_default="\ --#include --#ifdef HAVE_SYS_TYPES_H --# include --#endif --#ifdef HAVE_SYS_STAT_H --# include --#endif --#ifdef STDC_HEADERS --# include --# include --#else --# ifdef HAVE_STDLIB_H --# include --# endif --#endif --#ifdef HAVE_STRING_H --# if !defined STDC_HEADERS && defined HAVE_MEMORY_H --# include --# endif --# include --#endif --#ifdef HAVE_STRINGS_H --# include --#endif --#ifdef HAVE_INTTYPES_H --# include --#endif --#ifdef HAVE_STDINT_H --# include --#endif --#ifdef HAVE_UNISTD_H --# include --#endif" -- - - # ac_fn_c_try_compile LINENO - # -------------------------- -@@ -167,177 +118,11 @@ - - ac_retval=1 - fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - - } # ac_fn_c_try_compile - --# ac_fn_c_try_cpp LINENO --# ---------------------- --# Try to preprocess conftest.$ac_ext, and return whether this succeeded. --ac_fn_c_try_cpp () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err -- ac_status=$? -- if test -s conftest.err; then -- grep -v '^ *+' conftest.err >conftest.er1 -- cat conftest.er1 >&5 -- mv -f conftest.er1 conftest.err -- fi -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then : -- ac_retval=0 --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=1 --fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_cpp -- --# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES --# ------------------------------------------------------- --# Tests whether HEADER exists, giving a warning if it cannot be compiled using --# the include files in INCLUDES and setting the cache variable VAR --# accordingly. --ac_fn_c_check_header_mongrel () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if eval "test \"\${$3+set}\"" = set; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -- $as_echo_n "(cached) " >&6 --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --else -- # Is the header compilable? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 --$as_echo_n "checking $2 usability... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --$4 --#include <$2> --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_header_compiler=yes --else -- ac_header_compiler=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 --$as_echo "$ac_header_compiler" >&6; } -- --# Is the header present? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 --$as_echo_n "checking $2 presence... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include <$2> --_ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : -- ac_header_preproc=yes --else -- ac_header_preproc=no --fi --rm -f conftest.err conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 --$as_echo "$ac_header_preproc" >&6; } -- --# So? What about this header? --case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( -- yes:no: ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 --$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; -- no:yes:* ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 --$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 --$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 --$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 --$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; --esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -- $as_echo_n "(cached) " >&6 --else -- eval "$3=\$ac_header_compiler" --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- --} # ac_fn_c_check_header_mongrel -- --# ac_fn_c_try_run LINENO --# ---------------------- --# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes --# that executables *can* be run. --ac_fn_c_try_run () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_link") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then : -- ac_retval=0 --else -- $as_echo "$as_me: program exited with status $ac_status" >&5 -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=$ac_status --fi -- rm -rf conftest.dSYM conftest_ipa8_conftest.oo -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_run -- - # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES - # ------------------------------------------------------- - # Tests whether HEADER exists and can be compiled using the include files in -@@ -347,7 +132,7 @@ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 - $as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -+if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -365,275 +150,16 @@ - eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - - } # ac_fn_c_check_header_compile - # This file is generated from configure.in by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/i386. - - -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 --$as_echo_n "checking for grep that handles long lines and -e... " >&6; } --if test "${ac_cv_path_GREP+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- if test -z "$GREP"; then -- ac_path_GREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in grep ggrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue --# Check for GNU ac_path_GREP and select it if it is found. -- # Check for GNU $ac_path_GREP --case `"$ac_path_GREP" --version 2>&1` in --*GNU*) -- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'GREP' >> "conftest.nl" -- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_GREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_GREP="$ac_path_GREP" -- ac_path_GREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_GREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_GREP"; then -- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_GREP=$GREP --fi -- --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 --$as_echo "$ac_cv_path_GREP" >&6; } -- GREP="$ac_cv_path_GREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 --$as_echo_n "checking for egrep... " >&6; } --if test "${ac_cv_path_EGREP+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 -- then ac_cv_path_EGREP="$GREP -E" -- else -- if test -z "$EGREP"; then -- ac_path_EGREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in egrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue --# Check for GNU ac_path_EGREP and select it if it is found. -- # Check for GNU $ac_path_EGREP --case `"$ac_path_EGREP" --version 2>&1` in --*GNU*) -- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'EGREP' >> "conftest.nl" -- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_EGREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_EGREP="$ac_path_EGREP" -- ac_path_EGREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_EGREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_EGREP"; then -- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_EGREP=$EGREP --fi -- -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 --$as_echo "$ac_cv_path_EGREP" >&6; } -- EGREP="$ac_cv_path_EGREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 --$as_echo_n "checking for ANSI C header files... " >&6; } --if test "${ac_cv_header_stdc+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#include --#include -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_header_stdc=yes --else -- ac_cv_header_stdc=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -- --if test $ac_cv_header_stdc = yes; then -- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "memchr" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "free" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -- if test "$cross_compiling" = yes; then : -- : --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#if ((' ' & 0x0FF) == 0x020) --# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) --#else --# define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) --# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) --#endif -- --#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) --int --main () --{ -- int i; -- for (i = 0; i < 256; i++) -- if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -- return 2; -- return 0; --} --_ACEOF --if ac_fn_c_try_run "$LINENO"; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -- conftest.$ac_objext conftest.beam conftest.$ac_ext --fi -- --fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 --$as_echo "$ac_cv_header_stdc" >&6; } --if test $ac_cv_header_stdc = yes; then -- --$as_echo "#define STDC_HEADERS 1" >>confdefs.h -- --fi -- --# On IRIX 5.3, sys/types and inttypes.h are conflicting. --for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h --do : -- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` --ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -+ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */ - " --if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : -- cat >>confdefs.h <<_ACEOF --#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 --_ACEOF -- --fi -- --done -- -- --ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" --if test "x$ac_cv_header_cpuid_h" = x""yes; then : -+if test "x$ac_cv_header_cpuid_h" = xyes; then : - - else - as_fn_error $? "gcc must provide the header" "$LINENO" 5 -@@ -643,7 +169,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -g produces usable source locations for assembler-with-cpp" >&5 - $as_echo_n "checking if -g produces usable source locations for assembler-with-cpp... " >&6; } --if test "${libc_cv_cpp_asm_debuginfo+set}" = set; then : -+if ${libc_cv_cpp_asm_debuginfo+:} false; then : - $as_echo_n "(cached) " >&6 - else - cat > conftest.S <&5 - $as_echo_n "checking for SSE4 support... " >&6; } --if test "${libc_cv_cc_sse4+set}" = set; then : -+if ${libc_cv_cc_sse4+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -msse4 -xc /dev/null -S -o /dev/null' -@@ -716,7 +242,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler -mtune=i686 support" >&5 - $as_echo_n "checking for assembler -mtune=i686 support... " >&6; } --if test "${libc_cv_as_i686+set}" = set; then : -+if ${libc_cv_as_i686+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null' -@@ -735,7 +261,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5 - $as_echo_n "checking for AVX support... " >&6; } --if test "${libc_cv_cc_avx+set}" = set; then : -+if ${libc_cv_cc_avx+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -mavx -xc /dev/null -S -o /dev/null' -@@ -758,7 +284,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -mno-vzeroupper support" >&5 - $as_echo_n "checking for -mno-vzeroupper support... " >&6; } --if test "${libc_cv_cc_novzeroupper+set}" = set; then : -+if ${libc_cv_cc_novzeroupper+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null' -diff -Nur glibc-2.14.1.orig/sysdeps/i386/configure.in glibc-2.14.1/sysdeps/i386/configure.in ---- glibc-2.14.1.orig/sysdeps/i386/configure.in 2011-10-07 20:48:55.000000000 +1100 -+++ glibc-2.14.1/sysdeps/i386/configure.in 2012-07-25 01:00:49.345025022 +1000 -@@ -1,8 +1,9 @@ - GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. - # Local configure fragment for sysdeps/i386. - --AC_HEADER_CHECK([cpuid.h], , -- [AC_MSG_ERROR([gcc must provide the header])]) -+AC_CHECK_HEADER([cpuid.h], , -+ [AC_MSG_ERROR([gcc must provide the header])], -+ [/* No default includes. */]) - - AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, - libc_cv_cpp_asm_debuginfo, [dnl - diff --git a/patches/glibc/2.14.1/910-asm-i686.patch b/patches/glibc/2.14.1/910-asm-i686.patch deleted file mode 100644 index b049887..0000000 --- a/patches/glibc/2.14.1/910-asm-i686.patch +++ /dev/null @@ -1,50 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-18 -Initial Package Version: 2.11.1 -Upstream Status: Not Submitted -Origin: http://www.eglibc.org/archives/patches/msg00073.html -Description: Fixes the following build problem with GCC-4.5.0: - -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os -./sysdeps/i386/fpu/s_frexp.S: Assembler messages: -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1 - -diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 11:34:06.882681001 +0000 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 11:34:06.882681001 +0000 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h - diff --git a/patches/glibc/2.14.1/950-initfini-ppc64.patch b/patches/glibc/2.14.1/950-initfini-ppc64.patch deleted file mode 100644 index 87f8d23..0000000 --- a/patches/glibc/2.14.1/950-initfini-ppc64.patch +++ /dev/null @@ -1,20 +0,0 @@ -Prevent erroneous inline optimization of initfini.s on PowerPC64. - -The problem and the fix was reported there: -http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html -Git commit: -commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6 -Author: Ryan S. Arnold -Date: Tue May 3 17:26:17 2011 -0500 - ---- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800 -+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800 -@@ -31,7 +31,7 @@ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. --CFLAGS-initfini.s += -fpic -O1 -+CFLAGS-initfini.s += -fpic -O1 -fno-inline - endif - endif - diff --git a/patches/glibc/2.14/950-initfini-ppc64.patch b/patches/glibc/2.14/950-initfini-ppc64.patch deleted file mode 100644 index 87f8d23..0000000 --- a/patches/glibc/2.14/950-initfini-ppc64.patch +++ /dev/null @@ -1,20 +0,0 @@ -Prevent erroneous inline optimization of initfini.s on PowerPC64. - -The problem and the fix was reported there: -http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html -Git commit: -commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6 -Author: Ryan S. Arnold -Date: Tue May 3 17:26:17 2011 -0500 - ---- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800 -+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800 -@@ -31,7 +31,7 @@ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. --CFLAGS-initfini.s += -fpic -O1 -+CFLAGS-initfini.s += -fpic -O1 -fno-inline - endif - endif - diff --git a/patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch b/patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch deleted file mode 100644 index 803ac6f..0000000 --- a/patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 536ae0651b015b1f6140ec01775d4deaacf12c0c Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Mon, 21 Jan 2013 17:41:28 +0100 -Subject: [PATCH] Fix parsing of numeric hosts in gethostbyname_r - -Ported from master, fixes CVE-2015-0235. ---- - nss/Makefile | 2 - - nss/digits_dots.c | 73 +++++++++++++------------------------------------ - nss/getXXbyYY_r.c | 3 ++ - nss/test-digits-dots.c | 38 +++++++++++++++++++++++++ - 4 files changed, 62 insertions(+), 54 deletions(-) - create mode 100644 nss/test-digits-dots.c - ---- a/nss/Makefile -+++ b/nss/Makefile -@@ -38,7 +38,7 @@ install-bin := getent makedb - makedb-modules = xmalloc hash-string - extra-objs += $(makedb-modules:=.o) - --tests = test-netdb tst-nss-test1 -+tests = test-netdb tst-nss-test1 test-digits-dots - xtests = bug-erange - - include ../Makeconfig ---- a/nss/digits_dots.c -+++ b/nss/digits_dots.c -@@ -46,7 +46,10 @@ __nss_hostname_digits_dots (const char * - { - if (h_errnop) - *h_errnop = NETDB_INTERNAL; -- *result = NULL; -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_TRYAGAIN; -+ else -+ *result = NULL; - return -1; - } - -@@ -83,14 +86,16 @@ __nss_hostname_digits_dots (const char * - } - - size_needed = (sizeof (*host_addr) -- + sizeof (*h_addr_ptrs) + strlen (name) + 1); -+ + sizeof (*h_addr_ptrs) -+ + sizeof (*h_alias_ptr) + strlen (name) + 1); - - if (buffer_size == NULL) - { - if (buflen < size_needed) - { -+ *status = NSS_STATUS_TRYAGAIN; - if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -+ *h_errnop = NETDB_INTERNAL; - __set_errno (ERANGE); - goto done; - } -@@ -109,7 +114,7 @@ __nss_hostname_digits_dots (const char * - *buffer_size = 0; - __set_errno (save); - if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -+ *h_errnop = NETDB_INTERNAL; - *result = NULL; - goto done; - } -@@ -149,7 +154,9 @@ __nss_hostname_digits_dots (const char * - if (! ok) - { - *h_errnop = HOST_NOT_FOUND; -- if (buffer_size) -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else - *result = NULL; - goto done; - } -@@ -190,7 +197,7 @@ __nss_hostname_digits_dots (const char * - if (buffer_size == NULL) - *status = NSS_STATUS_SUCCESS; - else -- *result = resbuf; -+ *result = resbuf; - goto done; - } - -@@ -201,15 +208,6 @@ __nss_hostname_digits_dots (const char * - - if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':') - { -- const char *cp; -- char *hostname; -- typedef unsigned char host_addr_t[16]; -- host_addr_t *host_addr; -- typedef char *host_addr_list_t[2]; -- host_addr_list_t *h_addr_ptrs; -- size_t size_needed; -- int addr_size; -- - switch (af) - { - default: -@@ -225,7 +223,10 @@ __nss_hostname_digits_dots (const char * - /* This is not possible. We cannot represent an IPv6 address - in an `struct in_addr' variable. */ - *h_errnop = HOST_NOT_FOUND; -- *result = NULL; -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else -+ *result = NULL; - goto done; - - case AF_INET6: -@@ -233,42 +234,6 @@ __nss_hostname_digits_dots (const char * - break; - } - -- size_needed = (sizeof (*host_addr) -- + sizeof (*h_addr_ptrs) + strlen (name) + 1); -- -- if (buffer_size == NULL && buflen < size_needed) -- { -- if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -- __set_errno (ERANGE); -- goto done; -- } -- else if (buffer_size != NULL && *buffer_size < size_needed) -- { -- char *new_buf; -- *buffer_size = size_needed; -- new_buf = realloc (*buffer, *buffer_size); -- -- if (new_buf == NULL) -- { -- save = errno; -- free (*buffer); -- __set_errno (save); -- *buffer = NULL; -- *buffer_size = 0; -- *result = NULL; -- goto done; -- } -- *buffer = new_buf; -- } -- -- memset (*buffer, '\0', size_needed); -- -- host_addr = (host_addr_t *) *buffer; -- h_addr_ptrs = (host_addr_list_t *) -- ((char *) host_addr + sizeof (*host_addr)); -- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs); -- - for (cp = name;; ++cp) - { - if (!*cp) -@@ -281,7 +246,9 @@ __nss_hostname_digits_dots (const char * - if (inet_pton (AF_INET6, name, host_addr) <= 0) - { - *h_errnop = HOST_NOT_FOUND; -- if (buffer_size) -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else - *result = NULL; - goto done; - } ---- /dev/null -+++ b/nss/test-digits-dots.c -@@ -0,0 +1,38 @@ -+/* Copyright (C) 2013 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, see -+ . */ -+ -+/* Testcase for BZ #15014 */ -+ -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ char buf[32]; -+ struct hostent *result = NULL; -+ struct hostent ret; -+ int h_err = 0; -+ int err; -+ -+ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err); -+ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE; -+} -+ -+#define TEST_FUNCTION do_test () -+#include "../test-skeleton.c" ---- a/nss/getXXbyYY_r.c -+++ b/nss/getXXbyYY_r.c -@@ -179,6 +179,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, L - case -1: - return errno; - case 1: -+#ifdef NEED_H_ERRNO -+ any_service = true; -+#endif - goto done; - } - #endif diff --git a/patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch b/patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch deleted file mode 100644 index 59f95aa..0000000 --- a/patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001 -From: Joseph Myers -Date: Tue, 20 May 2014 21:27:13 +0000 -Subject: [PATCH] Fix ARM build with GCC trunk. - -sysdeps/unix/sysv/linux/arm/unwind-resume.c and -sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static -variables that are written in C code but only read from toplevel asms. -Current GCC trunk now optimizes away such apparently write-only static -variables, so causing a build failure. This patch marks those -variables with __attribute_used__ to avoid that optimization. - -Tested that this fixes the build for ARM. - - * sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c - (libgcc_s_resume): Use __attribute_used__. - * sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume): - Likewise. ---- - sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | 3 ++- - sysdeps/unix/sysv/linux/arm/unwind-resume.c | 3 ++- - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c b/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c -index 6ccd9b4..660d148 100644 ---- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c -+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c -@@ -22,7 +22,8 @@ - #include - - static void *libgcc_s_handle; --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) -+ __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); - static _Unwind_Reason_Code (*libgcc_s_forcedunwind) -diff --git a/sysdeps/unix/sysv/linux/arm/unwind-resume.c b/sysdeps/unix/sysv/linux/arm/unwind-resume.c -index bff3e2b..1f1eb71 100644 ---- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c -+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c -@@ -20,7 +20,8 @@ - #include - #include - --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) -+ __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); - --- -1.9.4 - diff --git a/patches/glibc/2.5.1/100-cygwin.patch b/patches/glibc/2.5.1/100-cygwin.patch deleted file mode 100644 index 3c0cd7d..0000000 --- a/patches/glibc/2.5.1/100-cygwin.patch +++ /dev/null @@ -1,187 +0,0 @@ -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 -To: Dan Kegel -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 -@@ -472,7 +472,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 -@@ -693,7 +693,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)) -@@ -749,14 +749,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 -@@ -417,7 +417,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) -@@ -981,7 +981,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';\ -@@ -989,7 +989,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))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-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 -@@ -375,7 +375,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';\ -@@ -383,7 +383,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5.1/110-configure-apple-as.patch b/patches/glibc/2.5.1/110-configure-apple-as.patch deleted file mode 100644 index 78a1324..0000000 --- a/patches/glibc/2.5.1/110-configure-apple-as.patch +++ /dev/null @@ -1,25 +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... - - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -4039,7 +4039,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 &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]*) - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5.1/120-fix-pr631.patch b/patches/glibc/2.5.1/120-fix-pr631.patch deleted file mode 100644 index 13688df..0000000 --- a/patches/glibc/2.5.1/120-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 -@@ -510,7 +510,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 -@@ -120,6 +120,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5.1/130-i686-assembler.patch b/patches/glibc/2.5.1/130-i686-assembler.patch deleted file mode 100644 index 9904efb..0000000 --- a/patches/glibc/2.5.1/130-i686-assembler.patch +++ /dev/null @@ -1,38 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - - - -Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h -=================================================================== ---- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469) -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy) -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h -Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469) -+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy) -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - diff --git a/patches/glibc/2.5.1/140-i386-preferred-stack-boundary.patch b/patches/glibc/2.5.1/140-i386-preferred-stack-boundary.patch deleted file mode 100644 index 449821d..0000000 --- a/patches/glibc/2.5.1/140-i386-preferred-stack-boundary.patch +++ /dev/null @@ -1,18 +0,0 @@ -(C) 2007 Yann E. MORIN -License: LGPL v2.1 - -Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12, -and 2 is not. - -diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile ---- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100 -+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200 -@@ -36,7 +36,7 @@ - ifeq ($(subdir),csu) - sysdep-CFLAGS += -mpreferred-stack-boundary=4 - else --sysdep-CFLAGS += -mpreferred-stack-boundary=2 -+sysdep-CFLAGS += -mpreferred-stack-boundary=4 - # Likewise, any function which calls user callbacks - uses-callbacks += -mpreferred-stack-boundary=4 - # Likewise, any stack alignment tests diff --git a/patches/glibc/2.5.1/150-alpha-asm_page.patch b/patches/glibc/2.5.1/150-alpha-asm_page.patch deleted file mode 100644 index b198b36..0000000 --- a/patches/glibc/2.5.1/150-alpha-asm_page.patch +++ /dev/null @@ -1,26 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/user.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ struct user - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.5.1/160-use_short_for_fnstsw.patch b/patches/glibc/2.5.1/160-use_short_for_fnstsw.patch deleted file mode 100644 index 0e849fa..0000000 --- a/patches/glibc/2.5.1/160-use_short_for_fnstsw.patch +++ /dev/null @@ -1,18 +0,0 @@ -Original patch from H.J. Lu, as reported there: -http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html - -fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged. -The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax". - -diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/patches/glibc/2.5.1/170-alpha-asm_elf.patch b/patches/glibc/2.5.1/170-alpha-asm_elf.patch deleted file mode 100644 index 3da5c8e..0000000 --- a/patches/glibc/2.5.1/170-alpha-asm_elf.patch +++ /dev/null @@ -1,194 +0,0 @@ -since the kernel no longer provides asm/elf.h, the sys/procfs.h from the -common code, alpha, and sh fail when used. this should things up. --mike - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - -*Attachment: signature.asc * -/Description:/ This is a digitally signed message part. - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sys/procfs.h -@@ -1,115 +1,2 @@ --/* Copyright (C) 1996, 1997, 1999 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 _SYS_PROCFS_H --#define _SYS_PROCFS_H 1 -- --/* This is somehow modelled after the file of the same name on SysVr4 -- systems. It provides a definition of the core file format for ELF -- used on Linux. */ -- --#include --#include --#include --#include --#include --#include --#include -- --__BEGIN_DECLS -- --struct elf_siginfo -- { -- int si_signo; /* Signal number. */ -- int si_code; /* Extra code. */ -- int si_errno; /* Errno. */ -- }; -- --/* Definitions to generate Intel SVR4-like core files. These mostly -- have the same names as the SVR4 types with "elf_" tacked on the -- front to prevent clashes with linux definitions, and the typedef -- forms have been avoided. This is mostly like the SVR4 structure, -- but more Linuxy, with things that Linux does not support and which -- gdb doesn't really use excluded. Fields present but not used are -- marked with "XXX". */ --struct elf_prstatus -- { --#if 0 -- long int pr_flags; /* XXX Process flags. */ -- short int pr_why; /* XXX Reason for process halt. */ -- short int pr_what; /* XXX More detailed reason. */ --#endif -- struct elf_siginfo pr_info; /* Info associated with signal. */ -- short int pr_cursig; /* Current signal. */ -- unsigned long int pr_sigpend; /* Set of pending signals. */ -- unsigned long int pr_sighold; /* Set of held signals. */ --#if 0 -- struct sigaltstack pr_altstack; /* Alternate stack info. */ -- struct sigaction pr_action; /* Signal action for current sig. */ --#endif -- __pid_t pr_pid; -- __pid_t pr_ppid; -- __pid_t pr_pgrp; -- __pid_t pr_sid; -- struct timeval pr_utime; /* User time. */ -- struct timeval pr_stime; /* System time. */ -- struct timeval pr_cutime; /* Cumulative user time. */ -- struct timeval pr_cstime; /* Cumulative system time. */ --#if 0 -- long int pr_instr; /* Current instruction. */ --#endif -- elf_gregset_t pr_reg; /* GP registers. */ -- int pr_fpvalid; /* True if math copro being used. */ -- }; -- -- --#define ELF_PRARGSZ (80) /* Number of chars for args */ -- --struct elf_prpsinfo -- { -- char pr_state; /* Numeric process state. */ -- char pr_sname; /* Char for pr_state. */ -- char pr_zomb; /* Zombie. */ -- char pr_nice; /* Nice val. */ -- unsigned long int pr_flag; /* Flags. */ -- unsigned short int pr_uid; -- unsigned short int pr_gid; -- int pr_pid, pr_ppid, pr_pgrp, pr_sid; -- /* Lots missing */ -- char pr_fname[16]; /* Filename of executable. */ -- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -- }; -- --/* Addresses. */ --typedef void *psaddr_t; -- --/* Register sets. Linux has different names. */ --typedef gregset_t prgregset_t; --typedef fpregset_t prfpregset_t; -- --/* We don't have any differences between processes and threads, -- therefore habe only ine PID type. */ --typedef __pid_t lwpid_t; -- -- --typedef struct elf_prstatus prstatus_t; --typedef struct elf_prpsinfo prpsinfo_t; -- --__END_DECLS -- --#endif /* sys/procfs.h */ -+/* sys/procfs.h is architecture specific. */ -+#error "This file must be supplied by every Linux architecture." - diff --git a/patches/glibc/2.5.1/180-alpha-cfi.patch b/patches/glibc/2.5.1/180-alpha-cfi.patch deleted file mode 100644 index c1efd77..0000000 --- a/patches/glibc/2.5.1/180-alpha-cfi.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6 -+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7 -@@ -55,6 +55,7 @@ - bne a3, SYSCALL_ERROR_LABEL; \ - __LABEL($pseudo_ret) \ - .subsection 2; \ -+ cfi_startproc; \ - __LABEL($pseudo_cancel) \ - subq sp, 64, sp; \ - cfi_def_cfa_offset(64); \ -@@ -90,12 +91,13 @@ - cfi_def_cfa_offset(0); \ - __LABEL($syscall_error) \ - SYSCALL_ERROR_HANDLER; \ -+ cfi_endproc; \ - .previous - - # undef PSEUDO_END - # define PSEUDO_END(sym) \ -- .subsection 2; \ - cfi_endproc; \ -+ .subsection 2; \ - .size sym, .-sym - - # define SAVE_ARGS_0 /* Nothing. */ diff --git a/patches/glibc/2.5.1/190-alpha-sigsuspend.patch b/patches/glibc/2.5.1/190-alpha-sigsuspend.patch deleted file mode 100644 index daf1a5d..0000000 --- a/patches/glibc/2.5.1/190-alpha-sigsuspend.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200 -+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200 -@@ -31,3 +31,21 @@ - libc_hidden_def (__sigsuspend) - weak_alias (__sigsuspend, sigsuspend) - strong_alias (__sigsuspend, __libc_sigsuspend) -+ -+#ifndef NO_CANCELLATION -+ .globl __sigsuspend_nocancel; -+ .align 4; -+ .type __sigsuspend_nocancel, @function; -+ .usepv __sigsuspend_nocancel, std; -+ cfi_startproc; -+__LABEL(__sigsuspend_nocancel) -+ ldgp gp, 0(pv); -+ PSEUDO_PROF; -+ PSEUDO_PREPARE_ARGS -+ lda v0, SYS_ify(sigsuspend); -+ call_pal PAL_callsys; -+ bne a3, SYSCALL_ERROR_LABEL; -+ ret; -+ cfi_endproc; -+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel -+#endif diff --git a/patches/glibc/2.5/100-cygwin.patch b/patches/glibc/2.5/100-cygwin.patch deleted file mode 100644 index 3c0cd7d..0000000 --- a/patches/glibc/2.5/100-cygwin.patch +++ /dev/null @@ -1,187 +0,0 @@ -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 -To: Dan Kegel -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 -@@ -472,7 +472,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 -@@ -693,7 +693,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)) -@@ -749,14 +749,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 -@@ -417,7 +417,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) -@@ -981,7 +981,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';\ -@@ -989,7 +989,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))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-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 -@@ -375,7 +375,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';\ -@@ -383,7 +383,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5/110-configure-apple-as.patch b/patches/glibc/2.5/110-configure-apple-as.patch deleted file mode 100644 index 78a1324..0000000 --- a/patches/glibc/2.5/110-configure-apple-as.patch +++ /dev/null @@ -1,25 +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... - - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -4039,7 +4039,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 &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]*) - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5/120-fix-pr631.patch b/patches/glibc/2.5/120-fix-pr631.patch deleted file mode 100644 index 13688df..0000000 --- a/patches/glibc/2.5/120-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 -@@ -510,7 +510,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 -@@ -120,6 +120,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.5/130-i686-assembler.patch b/patches/glibc/2.5/130-i686-assembler.patch deleted file mode 100644 index 9904efb..0000000 --- a/patches/glibc/2.5/130-i686-assembler.patch +++ /dev/null @@ -1,38 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - - - -Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h -=================================================================== ---- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469) -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy) -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h -Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469) -+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy) -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - diff --git a/patches/glibc/2.5/140-i386-preferred-stack-boundary.patch b/patches/glibc/2.5/140-i386-preferred-stack-boundary.patch deleted file mode 100644 index 449821d..0000000 --- a/patches/glibc/2.5/140-i386-preferred-stack-boundary.patch +++ /dev/null @@ -1,18 +0,0 @@ -(C) 2007 Yann E. MORIN -License: LGPL v2.1 - -Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12, -and 2 is not. - -diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile ---- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100 -+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200 -@@ -36,7 +36,7 @@ - ifeq ($(subdir),csu) - sysdep-CFLAGS += -mpreferred-stack-boundary=4 - else --sysdep-CFLAGS += -mpreferred-stack-boundary=2 -+sysdep-CFLAGS += -mpreferred-stack-boundary=4 - # Likewise, any function which calls user callbacks - uses-callbacks += -mpreferred-stack-boundary=4 - # Likewise, any stack alignment tests diff --git a/patches/glibc/2.5/150-alpha-asm_page.patch b/patches/glibc/2.5/150-alpha-asm_page.patch deleted file mode 100644 index b198b36..0000000 --- a/patches/glibc/2.5/150-alpha-asm_page.patch +++ /dev/null @@ -1,26 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/user.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ struct user - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.5/160-use_short_for_fnstsw.patch b/patches/glibc/2.5/160-use_short_for_fnstsw.patch deleted file mode 100644 index 0e849fa..0000000 --- a/patches/glibc/2.5/160-use_short_for_fnstsw.patch +++ /dev/null @@ -1,18 +0,0 @@ -Original patch from H.J. Lu, as reported there: -http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html - -fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged. -The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax". - -diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/patches/glibc/2.5/170-alpha-asm_elf.patch b/patches/glibc/2.5/170-alpha-asm_elf.patch deleted file mode 100644 index 3da5c8e..0000000 --- a/patches/glibc/2.5/170-alpha-asm_elf.patch +++ /dev/null @@ -1,194 +0,0 @@ -since the kernel no longer provides asm/elf.h, the sys/procfs.h from the -common code, alpha, and sh fail when used. this should things up. --mike - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - -*Attachment: signature.asc * -/Description:/ This is a digitally signed message part. - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sys/procfs.h -@@ -1,115 +1,2 @@ --/* Copyright (C) 1996, 1997, 1999 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 _SYS_PROCFS_H --#define _SYS_PROCFS_H 1 -- --/* This is somehow modelled after the file of the same name on SysVr4 -- systems. It provides a definition of the core file format for ELF -- used on Linux. */ -- --#include --#include --#include --#include --#include --#include --#include -- --__BEGIN_DECLS -- --struct elf_siginfo -- { -- int si_signo; /* Signal number. */ -- int si_code; /* Extra code. */ -- int si_errno; /* Errno. */ -- }; -- --/* Definitions to generate Intel SVR4-like core files. These mostly -- have the same names as the SVR4 types with "elf_" tacked on the -- front to prevent clashes with linux definitions, and the typedef -- forms have been avoided. This is mostly like the SVR4 structure, -- but more Linuxy, with things that Linux does not support and which -- gdb doesn't really use excluded. Fields present but not used are -- marked with "XXX". */ --struct elf_prstatus -- { --#if 0 -- long int pr_flags; /* XXX Process flags. */ -- short int pr_why; /* XXX Reason for process halt. */ -- short int pr_what; /* XXX More detailed reason. */ --#endif -- struct elf_siginfo pr_info; /* Info associated with signal. */ -- short int pr_cursig; /* Current signal. */ -- unsigned long int pr_sigpend; /* Set of pending signals. */ -- unsigned long int pr_sighold; /* Set of held signals. */ --#if 0 -- struct sigaltstack pr_altstack; /* Alternate stack info. */ -- struct sigaction pr_action; /* Signal action for current sig. */ --#endif -- __pid_t pr_pid; -- __pid_t pr_ppid; -- __pid_t pr_pgrp; -- __pid_t pr_sid; -- struct timeval pr_utime; /* User time. */ -- struct timeval pr_stime; /* System time. */ -- struct timeval pr_cutime; /* Cumulative user time. */ -- struct timeval pr_cstime; /* Cumulative system time. */ --#if 0 -- long int pr_instr; /* Current instruction. */ --#endif -- elf_gregset_t pr_reg; /* GP registers. */ -- int pr_fpvalid; /* True if math copro being used. */ -- }; -- -- --#define ELF_PRARGSZ (80) /* Number of chars for args */ -- --struct elf_prpsinfo -- { -- char pr_state; /* Numeric process state. */ -- char pr_sname; /* Char for pr_state. */ -- char pr_zomb; /* Zombie. */ -- char pr_nice; /* Nice val. */ -- unsigned long int pr_flag; /* Flags. */ -- unsigned short int pr_uid; -- unsigned short int pr_gid; -- int pr_pid, pr_ppid, pr_pgrp, pr_sid; -- /* Lots missing */ -- char pr_fname[16]; /* Filename of executable. */ -- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -- }; -- --/* Addresses. */ --typedef void *psaddr_t; -- --/* Register sets. Linux has different names. */ --typedef gregset_t prgregset_t; --typedef fpregset_t prfpregset_t; -- --/* We don't have any differences between processes and threads, -- therefore habe only ine PID type. */ --typedef __pid_t lwpid_t; -- -- --typedef struct elf_prstatus prstatus_t; --typedef struct elf_prpsinfo prpsinfo_t; -- --__END_DECLS -- --#endif /* sys/procfs.h */ -+/* sys/procfs.h is architecture specific. */ -+#error "This file must be supplied by every Linux architecture." - diff --git a/patches/glibc/2.5/180-alpha-cfi.patch b/patches/glibc/2.5/180-alpha-cfi.patch deleted file mode 100644 index c1efd77..0000000 --- a/patches/glibc/2.5/180-alpha-cfi.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6 -+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7 -@@ -55,6 +55,7 @@ - bne a3, SYSCALL_ERROR_LABEL; \ - __LABEL($pseudo_ret) \ - .subsection 2; \ -+ cfi_startproc; \ - __LABEL($pseudo_cancel) \ - subq sp, 64, sp; \ - cfi_def_cfa_offset(64); \ -@@ -90,12 +91,13 @@ - cfi_def_cfa_offset(0); \ - __LABEL($syscall_error) \ - SYSCALL_ERROR_HANDLER; \ -+ cfi_endproc; \ - .previous - - # undef PSEUDO_END - # define PSEUDO_END(sym) \ -- .subsection 2; \ - cfi_endproc; \ -+ .subsection 2; \ - .size sym, .-sym - - # define SAVE_ARGS_0 /* Nothing. */ diff --git a/patches/glibc/2.5/190-alpha-sigsuspend.patch b/patches/glibc/2.5/190-alpha-sigsuspend.patch deleted file mode 100644 index daf1a5d..0000000 --- a/patches/glibc/2.5/190-alpha-sigsuspend.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200 -+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200 -@@ -31,3 +31,21 @@ - libc_hidden_def (__sigsuspend) - weak_alias (__sigsuspend, sigsuspend) - strong_alias (__sigsuspend, __libc_sigsuspend) -+ -+#ifndef NO_CANCELLATION -+ .globl __sigsuspend_nocancel; -+ .align 4; -+ .type __sigsuspend_nocancel, @function; -+ .usepv __sigsuspend_nocancel, std; -+ cfi_startproc; -+__LABEL(__sigsuspend_nocancel) -+ ldgp gp, 0(pv); -+ PSEUDO_PROF; -+ PSEUDO_PREPARE_ARGS -+ lda v0, SYS_ify(sigsuspend); -+ call_pal PAL_callsys; -+ bne a3, SYSCALL_ERROR_LABEL; -+ ret; -+ cfi_endproc; -+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel -+#endif diff --git a/patches/glibc/2.6.1/100-cygwin.patch b/patches/glibc/2.6.1/100-cygwin.patch deleted file mode 100644 index 3c0cd7d..0000000 --- a/patches/glibc/2.6.1/100-cygwin.patch +++ /dev/null @@ -1,187 +0,0 @@ -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 -To: Dan Kegel -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 -@@ -472,7 +472,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 -@@ -693,7 +693,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)) -@@ -749,14 +749,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 -@@ -417,7 +417,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) -@@ -981,7 +981,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';\ -@@ -989,7 +989,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))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-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 -@@ -375,7 +375,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';\ -@@ -383,7 +383,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6.1/110-configure-apple-as.patch b/patches/glibc/2.6.1/110-configure-apple-as.patch deleted file mode 100644 index 78a1324..0000000 --- a/patches/glibc/2.6.1/110-configure-apple-as.patch +++ /dev/null @@ -1,25 +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... - - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -4039,7 +4039,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 &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]*) - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6.1/120-fix-pr631.patch b/patches/glibc/2.6.1/120-fix-pr631.patch deleted file mode 100644 index 13688df..0000000 --- a/patches/glibc/2.6.1/120-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 -@@ -510,7 +510,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 -@@ -120,6 +120,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6.1/130-i686-assembler.patch b/patches/glibc/2.6.1/130-i686-assembler.patch deleted file mode 100644 index 9904efb..0000000 --- a/patches/glibc/2.6.1/130-i686-assembler.patch +++ /dev/null @@ -1,38 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - - - -Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h -=================================================================== ---- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469) -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy) -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h -Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469) -+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy) -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - diff --git a/patches/glibc/2.6.1/140-i386-preferred-stack-boundary.patch b/patches/glibc/2.6.1/140-i386-preferred-stack-boundary.patch deleted file mode 100644 index 449821d..0000000 --- a/patches/glibc/2.6.1/140-i386-preferred-stack-boundary.patch +++ /dev/null @@ -1,18 +0,0 @@ -(C) 2007 Yann E. MORIN -License: LGPL v2.1 - -Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12, -and 2 is not. - -diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile ---- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100 -+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200 -@@ -36,7 +36,7 @@ - ifeq ($(subdir),csu) - sysdep-CFLAGS += -mpreferred-stack-boundary=4 - else --sysdep-CFLAGS += -mpreferred-stack-boundary=2 -+sysdep-CFLAGS += -mpreferred-stack-boundary=4 - # Likewise, any function which calls user callbacks - uses-callbacks += -mpreferred-stack-boundary=4 - # Likewise, any stack alignment tests diff --git a/patches/glibc/2.6.1/150-alpha-asm_page.patch b/patches/glibc/2.6.1/150-alpha-asm_page.patch deleted file mode 100644 index b198b36..0000000 --- a/patches/glibc/2.6.1/150-alpha-asm_page.patch +++ /dev/null @@ -1,26 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/user.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ struct user - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.6.1/160-use_short_for_fnstsw.patch b/patches/glibc/2.6.1/160-use_short_for_fnstsw.patch deleted file mode 100644 index 0e849fa..0000000 --- a/patches/glibc/2.6.1/160-use_short_for_fnstsw.patch +++ /dev/null @@ -1,18 +0,0 @@ -Original patch from H.J. Lu, as reported there: -http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html - -fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged. -The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax". - -diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/patches/glibc/2.6.1/170-alpha-asm_elf.patch b/patches/glibc/2.6.1/170-alpha-asm_elf.patch deleted file mode 100644 index 3da5c8e..0000000 --- a/patches/glibc/2.6.1/170-alpha-asm_elf.patch +++ /dev/null @@ -1,194 +0,0 @@ -since the kernel no longer provides asm/elf.h, the sys/procfs.h from the -common code, alpha, and sh fail when used. this should things up. --mike - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - -*Attachment: signature.asc * -/Description:/ This is a digitally signed message part. - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sys/procfs.h -@@ -1,115 +1,2 @@ --/* Copyright (C) 1996, 1997, 1999 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 _SYS_PROCFS_H --#define _SYS_PROCFS_H 1 -- --/* This is somehow modelled after the file of the same name on SysVr4 -- systems. It provides a definition of the core file format for ELF -- used on Linux. */ -- --#include --#include --#include --#include --#include --#include --#include -- --__BEGIN_DECLS -- --struct elf_siginfo -- { -- int si_signo; /* Signal number. */ -- int si_code; /* Extra code. */ -- int si_errno; /* Errno. */ -- }; -- --/* Definitions to generate Intel SVR4-like core files. These mostly -- have the same names as the SVR4 types with "elf_" tacked on the -- front to prevent clashes with linux definitions, and the typedef -- forms have been avoided. This is mostly like the SVR4 structure, -- but more Linuxy, with things that Linux does not support and which -- gdb doesn't really use excluded. Fields present but not used are -- marked with "XXX". */ --struct elf_prstatus -- { --#if 0 -- long int pr_flags; /* XXX Process flags. */ -- short int pr_why; /* XXX Reason for process halt. */ -- short int pr_what; /* XXX More detailed reason. */ --#endif -- struct elf_siginfo pr_info; /* Info associated with signal. */ -- short int pr_cursig; /* Current signal. */ -- unsigned long int pr_sigpend; /* Set of pending signals. */ -- unsigned long int pr_sighold; /* Set of held signals. */ --#if 0 -- struct sigaltstack pr_altstack; /* Alternate stack info. */ -- struct sigaction pr_action; /* Signal action for current sig. */ --#endif -- __pid_t pr_pid; -- __pid_t pr_ppid; -- __pid_t pr_pgrp; -- __pid_t pr_sid; -- struct timeval pr_utime; /* User time. */ -- struct timeval pr_stime; /* System time. */ -- struct timeval pr_cutime; /* Cumulative user time. */ -- struct timeval pr_cstime; /* Cumulative system time. */ --#if 0 -- long int pr_instr; /* Current instruction. */ --#endif -- elf_gregset_t pr_reg; /* GP registers. */ -- int pr_fpvalid; /* True if math copro being used. */ -- }; -- -- --#define ELF_PRARGSZ (80) /* Number of chars for args */ -- --struct elf_prpsinfo -- { -- char pr_state; /* Numeric process state. */ -- char pr_sname; /* Char for pr_state. */ -- char pr_zomb; /* Zombie. */ -- char pr_nice; /* Nice val. */ -- unsigned long int pr_flag; /* Flags. */ -- unsigned short int pr_uid; -- unsigned short int pr_gid; -- int pr_pid, pr_ppid, pr_pgrp, pr_sid; -- /* Lots missing */ -- char pr_fname[16]; /* Filename of executable. */ -- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -- }; -- --/* Addresses. */ --typedef void *psaddr_t; -- --/* Register sets. Linux has different names. */ --typedef gregset_t prgregset_t; --typedef fpregset_t prfpregset_t; -- --/* We don't have any differences between processes and threads, -- therefore habe only ine PID type. */ --typedef __pid_t lwpid_t; -- -- --typedef struct elf_prstatus prstatus_t; --typedef struct elf_prpsinfo prpsinfo_t; -- --__END_DECLS -- --#endif /* sys/procfs.h */ -+/* sys/procfs.h is architecture specific. */ -+#error "This file must be supplied by every Linux architecture." - diff --git a/patches/glibc/2.6.1/180-gcc-4.3-sysinclude-path.patch b/patches/glibc/2.6.1/180-gcc-4.3-sysinclude-path.patch deleted file mode 100644 index 66650a8..0000000 --- a/patches/glibc/2.6.1/180-gcc-4.3-sysinclude-path.patch +++ /dev/null @@ -1,50 +0,0 @@ -Patch pointed to by Ryan ARNOLD on the libc-help ML. -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -Forwarded to crosstool-NG by Ioannis E. VENETIS: -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -GCC 4.3 changed the location of some of the header files. I don't -understand why you'd be getting these errors while building GCC since -it provides them. - -With regard to GLIBC, Roland checked in some changes so that the GLIBC -build system could find the new locations of the GCC provided header -files. - -diff -durN glibc-2.6.1.orig/configure.in glibc-2.6.1/configure.in ---- glibc-2.6.1.orig/configure.in 2007-06-08 05:16:36.000000000 +0200 -+++ glibc-2.6.1/configure.in 2008-06-24 18:38:46.000000000 +0200 -@@ -911,8 +911,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && -diff -durN glibc-2.6.1.orig/configure glibc-2.6.1/configure ---- glibc-2.6.1.orig/configure 2008-06-24 18:35:34.000000000 +0200 -+++ glibc-2.6.1/configure 2008-06-24 18:38:46.000000000 +0200 -@@ -4562,8 +4562,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&5` && diff --git a/patches/glibc/2.6.1/190-alpha-atfcts.patch b/patches/glibc/2.6.1/190-alpha-atfcts.patch deleted file mode 100644 index 73a2474..0000000 --- a/patches/glibc/2.6.1/190-alpha-atfcts.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.6.1/sysdeps/unix/sysv/linux/kernel-features.h 2006-07-29 07:43:27.000000000 +0300 -+++ glibc-2.6.1/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-26 08:45:06.000000000 +0300 -@@ -445,7 +445,7 @@ - /* The *at syscalls were introduced just after 2.6.16-rc1. Due to the way the - kernel versions are advertised we can only rely on 2.6.17 to have - the code. */ --#if __LINUX_KERNEL_VERSION >= 0x020611 -+#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __alpha__ - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/2.6.1/200-alpha-ptr_mangle.patch b/patches/glibc/2.6.1/200-alpha-ptr_mangle.patch deleted file mode 100644 index 1417562..0000000 --- a/patches/glibc/2.6.1/200-alpha-ptr_mangle.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- glibc-2.6.1.orig/sysdeps/unix/alpha/sysdep.h -+++ glibc-2.6.1/sysdeps/unix/alpha/sysdep.h -@@ -397,42 +397,4 @@ - _sc_ret = _sc_0, _sc_err = _sc_19; \ - } - --/* Pointer mangling support. Note that tls access is slow enough that -- we don't deoptimize things by placing the pointer check value there. */ -- --#include -- --#if defined NOT_IN_libc && defined IS_IN_rtld --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; --# define PTR_MANGLE(var) \ -- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#elif defined PIC --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldq tmp, __pointer_chk_guard; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard attribute_relro; --# define PTR_MANGLE(var) \ -- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#endif -- - #endif /* ASSEMBLER */ ---- glibc-2.6.1.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h -+++ glibc-2.6.1/sysdeps/unix/sysv/linux/alpha/sysdep.h -@@ -29,6 +29,8 @@ - /* There is some commonality. */ - #include - -+#include -+ - /* 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 -@@ -96,4 +96,46 @@ - INTERNAL_SYSCALL1(name, err_out, nr, args); \ - }) - -+/* Pointer mangling support. Note that tls access is slow enough that -+ we don't deoptimize things by placing the pointer check value there. */ -+ -+#if defined NOT_IN_libc && defined IS_IN_rtld -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -+# define PTR_MANGLE(var) \ -+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#elif defined PIC -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldq tmp, __pointer_chk_guard; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard attribute_relro; -+# define PTR_MANGLE(var) \ -+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#else -+/* Pointer mangling is not yet supported for static libc on alpha. */ -+# ifndef __ASSEMBLER__ -+# define PTR_MANGLE(var) (void) (var) -+# define PTR_DEMANGLE(var) (void) (var) -+# endif -+#endif -+ - #endif /* _LINUX_ALPHA_SYSDEP_H */ diff --git a/patches/glibc/2.6.1/210-lll_lock_t.patch b/patches/glibc/2.6.1/210-lll_lock_t.patch deleted file mode 100644 index 9459731..0000000 --- a/patches/glibc/2.6.1/210-lll_lock_t.patch +++ /dev/null @@ -1,237 +0,0 @@ -Patch provided bu Ioannis E. VENETIS - -Using: - -typedef int lll_lock_t; - -creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and -uses directly 'int', we do the same here. - -diff -Naur glibc-2.6.1/nptl/allocatestack.c glibc-2.6.1.new/nptl/allocatestack.c ---- glibc-2.6.1/nptl/allocatestack.c 2006-08-23 20:39:47.000000000 +0300 -+++ glibc-2.6.1.new/nptl/allocatestack.c 2008-07-27 20:56:19.000000000 +0300 -@@ -103,7 +103,7 @@ - static size_t stack_cache_actsize; - - /* Mutex protecting this variable. */ --static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER; -+static int stack_cache_lock = LLL_LOCK_INITIALIZER; - - /* List of queued stack frames. */ - static LIST_HEAD (stack_cache); -diff -Naur glibc-2.6.1/nptl/descr.h glibc-2.6.1.new/nptl/descr.h ---- glibc-2.6.1/nptl/descr.h 2006-09-24 20:10:55.000000000 +0300 -+++ glibc-2.6.1.new/nptl/descr.h 2008-07-27 20:54:41.000000000 +0300 -@@ -305,10 +305,10 @@ - int parent_cancelhandling; - - /* Lock to synchronize access to the descriptor. */ -- lll_lock_t lock; -+ int lock; - - /* Lock for synchronizing setxid calls. */ -- lll_lock_t setxid_futex; -+ int setxid_futex; - - #if HP_TIMING_AVAIL - /* Offset of the CPU clock at start thread start time. */ -diff -Naur glibc-2.6.1/nptl/pthread_attr_init.c glibc-2.6.1.new/nptl/pthread_attr_init.c ---- glibc-2.6.1/nptl/pthread_attr_init.c 2004-03-19 01:56:31.000000000 +0200 -+++ glibc-2.6.1.new/nptl/pthread_attr_init.c 2008-07-27 20:55:03.000000000 +0300 -@@ -27,7 +27,7 @@ - - - struct pthread_attr *__attr_list; --lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER; -+int __attr_list_lock = LLL_LOCK_INITIALIZER; - - - int -diff -Naur glibc-2.6.1/nptl/pthreadP.h glibc-2.6.1.new/nptl/pthreadP.h ---- glibc-2.6.1/nptl/pthreadP.h 2006-08-23 20:42:52.000000000 +0300 -+++ glibc-2.6.1.new/nptl/pthreadP.h 2008-07-27 20:56:40.000000000 +0300 -@@ -143,7 +143,7 @@ - - /* Attribute handling. */ - extern struct pthread_attr *__attr_list attribute_hidden; --extern lll_lock_t __attr_list_lock attribute_hidden; -+extern int __attr_list_lock attribute_hidden; - - /* First available RT signal. */ - extern int __current_sigrtmin attribute_hidden; -diff -Naur glibc-2.6.1/nptl/semaphoreP.h glibc-2.6.1.new/nptl/semaphoreP.h ---- glibc-2.6.1/nptl/semaphoreP.h 2006-05-11 20:08:37.000000000 +0300 -+++ glibc-2.6.1.new/nptl/semaphoreP.h 2008-07-27 20:55:42.000000000 +0300 -@@ -48,7 +48,7 @@ - extern void *__sem_mappings attribute_hidden; - - /* Lock to protect the search tree. */ --extern lll_lock_t __sem_mappings_lock attribute_hidden; -+extern int __sem_mappings_lock attribute_hidden; - - - /* Initializer for mountpoint. */ -diff -Naur glibc-2.6.1/nptl/sem_open.c glibc-2.6.1.new/nptl/sem_open.c ---- glibc-2.6.1/nptl/sem_open.c 2006-05-11 20:09:43.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sem_open.c 2008-07-27 20:55:22.000000000 +0300 -@@ -147,7 +147,7 @@ - void *__sem_mappings attribute_hidden; - - /* Lock to protect the search tree. */ --lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; -+int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; - - - /* Search for existing mapping and if possible add the one provided. */ -diff -Naur glibc-2.6.1/nptl/pthread_once.c glibc-2.6.1.new/nptl/pthread_once.c ---- glibc-2.6.1/nptl/pthread_once.c 2002-11-27 00:50:31.000000000 +0200 -+++ glibc-2.6.1.new/nptl/pthread_once.c 2008-07-27 20:57:12.000000000 +0300 -@@ -22,7 +22,7 @@ - - - --static lll_lock_t once_lock = LLL_LOCK_INITIALIZER; -+static int once_lock = LLL_LOCK_INITIALIZER; - - - int -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2008-07-27 20:59:15.000000000 +0300 -@@ -230,9 +230,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.c ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.c 2003-12-21 01:37:13.000000000 +0200 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.c 2008-07-27 21:00:01.000000000 +0300 -@@ -183,7 +183,7 @@ - } - - /* Initialize the fork lock. */ -- __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER; -+ __fork_lock = (int) LLL_LOCK_INITIALIZER; - } - else - { -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.h 2006-05-15 23:19:43.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.h 2008-07-27 20:58:49.000000000 +0300 -@@ -26,7 +26,7 @@ - extern unsigned long int *__fork_generation_pointer attribute_hidden; - - /* Lock to protect allocation and deallocation of fork handlers. */ --extern lll_lock_t __fork_lock attribute_hidden; -+extern int __fork_lock attribute_hidden; - - /* Elements of the fork handler lists. */ - struct fork_handler -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2006-09-05 17:44:25.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-07-27 21:00:19.000000000 +0300 -@@ -436,9 +436,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2008-07-27 20:58:16.000000000 +0300 -@@ -223,9 +223,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; - - /* Initializers for lock. */ -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2008-07-27 21:00:36.000000000 +0300 -@@ -254,9 +254,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2005-12-22 00:17:21.000000000 +0200 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2008-07-27 21:00:55.000000000 +0300 -@@ -24,7 +24,7 @@ - - - /* Lock to protect allocation and deallocation of fork handlers. */ --lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER; -+int __fork_lock = LLL_LOCK_INITIALIZER; - - - /* Number of pre-allocated handler entries. */ -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2008-07-27 21:01:14.000000000 +0300 -@@ -309,9 +309,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2008-07-27 20:58:00.000000000 +0300 -@@ -278,9 +278,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2008-07-27 20:59:39.000000000 +0300 -@@ -237,9 +237,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; - - /* Initializers for lock. */ -diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h ---- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2006-09-05 17:45:34.000000000 +0300 -+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2008-07-27 20:58:33.000000000 +0300 -@@ -446,9 +446,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) diff --git a/patches/glibc/2.6.1/220-cross-posix_makefile.patch b/patches/glibc/2.6.1/220-cross-posix_makefile.patch deleted file mode 100644 index ae623db..0000000 --- a/patches/glibc/2.6.1/220-cross-posix_makefile.patch +++ /dev/null @@ -1,65 +0,0 @@ -On 20090111.1151+0100, Thomas Jourdan wrote: - - I'm still working on the solaris port an I have the same issue here. - While trying to build the i686-nptl-linux-gnu toolchain under - OpenSolaris, the problems appears during the make install rule of the - libc function. - - The problem is that solaris tries to execute ld-linux.so.2, which is an - elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot - execute binary file". Hence the build stops on this error. - -And on 20090111.1339+0100, he replied with: - - After digging a little, the problem comes from the - glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7 - so I extracted a patch for glibc 2.6.1. - ---- glibc-2.6.1/posix/Makefile 2007-04-04 01:28:20.000000000 +0200 -+++ glibc-2.7/posix/Makefile 2007-09-12 01:57:22.000000000 +0200 -@@ -98,7 +98,7 @@ - endif - others := getconf - install-bin := getconf --install-others := $(inst_libexecdir)/getconf -+install-others-programs := $(inst_libexecdir)/getconf - - before-compile := testcases.h ptestcases.h - -@@ -110,7 +110,7 @@ - tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \ - tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \ - bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \ -- tst-vfork3-mem tst-vfork3.mtrace -+ tst-vfork3-mem tst-vfork3.mtrace getconf.speclist - - include ../Rules - -@@ -291,12 +291,20 @@ - $(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out - $(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@ - --$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE -+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ -+ $(objpfx)getconf.speclist FORCE - $(addprefix $(..)./scripts/mkinstalldirs ,\ - $(filter-out $(wildcard $@),$@)) -- for spec in `LC_ALL=C GETCONF_DIR=/dev/null \ -- $(run-program-prefix) $< \ -- _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \ -- $(INSTALL_PROGRAM) $< $@/$$spec.new; \ -- mv -f $@/$$spec.new $@/$$spec; \ -- done -+ while read spec; do \ -+ ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \ -+ mv -f $@/$$spec.new $@/$$spec; \ -+ done < $(objpfx)getconf.speclist -+ -+$(objpfx)getconf.speclist: $(objpfx)getconf -+ifeq (no,$(cross-compiling)) -+ LC_ALL=C GETCONF_DIR=/dev/null \ -+ $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new -+else -+ > $@.new -+endif -+ mv -f $@.new $@ diff --git a/patches/glibc/2.6/100-cygwin.patch b/patches/glibc/2.6/100-cygwin.patch deleted file mode 100644 index 3c0cd7d..0000000 --- a/patches/glibc/2.6/100-cygwin.patch +++ /dev/null @@ -1,187 +0,0 @@ -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 -To: Dan Kegel -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 -@@ -472,7 +472,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 -@@ -693,7 +693,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)) -@@ -749,14 +749,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 -@@ -417,7 +417,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) -@@ -981,7 +981,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';\ -@@ -989,7 +989,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))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-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 -@@ -375,7 +375,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';\ -@@ -383,7 +383,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6/110-configure-apple-as.patch b/patches/glibc/2.6/110-configure-apple-as.patch deleted file mode 100644 index 78a1324..0000000 --- a/patches/glibc/2.6/110-configure-apple-as.patch +++ /dev/null @@ -1,25 +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... - - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -4039,7 +4039,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 &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]*) - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6/120-fix-pr631.patch b/patches/glibc/2.6/120-fix-pr631.patch deleted file mode 100644 index 13688df..0000000 --- a/patches/glibc/2.6/120-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 -@@ -510,7 +510,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 -@@ -120,6 +120,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 - -Signed-off-by: Robert P. J. Day diff --git a/patches/glibc/2.6/130-i686-assembler.patch b/patches/glibc/2.6/130-i686-assembler.patch deleted file mode 100644 index 9904efb..0000000 --- a/patches/glibc/2.6/130-i686-assembler.patch +++ /dev/null @@ -1,38 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - - - -Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h -=================================================================== ---- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469) -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy) -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h -Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469) -+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy) -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - diff --git a/patches/glibc/2.6/140-i386-preferred-stack-boundary.patch b/patches/glibc/2.6/140-i386-preferred-stack-boundary.patch deleted file mode 100644 index 449821d..0000000 --- a/patches/glibc/2.6/140-i386-preferred-stack-boundary.patch +++ /dev/null @@ -1,18 +0,0 @@ -(C) 2007 Yann E. MORIN -License: LGPL v2.1 - -Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12, -and 2 is not. - -diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile ---- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100 -+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200 -@@ -36,7 +36,7 @@ - ifeq ($(subdir),csu) - sysdep-CFLAGS += -mpreferred-stack-boundary=4 - else --sysdep-CFLAGS += -mpreferred-stack-boundary=2 -+sysdep-CFLAGS += -mpreferred-stack-boundary=4 - # Likewise, any function which calls user callbacks - uses-callbacks += -mpreferred-stack-boundary=4 - # Likewise, any stack alignment tests diff --git a/patches/glibc/2.6/150-alpha-asm_page.patch b/patches/glibc/2.6/150-alpha-asm_page.patch deleted file mode 100644 index b198b36..0000000 --- a/patches/glibc/2.6/150-alpha-asm_page.patch +++ /dev/null @@ -1,26 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/user.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ struct user - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.6/160-use_short_for_fnstsw.patch b/patches/glibc/2.6/160-use_short_for_fnstsw.patch deleted file mode 100644 index 0e849fa..0000000 --- a/patches/glibc/2.6/160-use_short_for_fnstsw.patch +++ /dev/null @@ -1,18 +0,0 @@ -Original patch from H.J. Lu, as reported there: -http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html - -fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged. -The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax". - -diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/patches/glibc/2.6/170-alpha-asm_elf.patch b/patches/glibc/2.6/170-alpha-asm_elf.patch deleted file mode 100644 index 3da5c8e..0000000 --- a/patches/glibc/2.6/170-alpha-asm_elf.patch +++ /dev/null @@ -1,194 +0,0 @@ -since the kernel no longer provides asm/elf.h, the sys/procfs.h from the -common code, alpha, and sh fail when used. this should things up. --mike - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - -*Attachment: signature.asc * -/Description:/ This is a digitally signed message part. - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sys/procfs.h -@@ -1,115 +1,2 @@ --/* Copyright (C) 1996, 1997, 1999 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 _SYS_PROCFS_H --#define _SYS_PROCFS_H 1 -- --/* This is somehow modelled after the file of the same name on SysVr4 -- systems. It provides a definition of the core file format for ELF -- used on Linux. */ -- --#include --#include --#include --#include --#include --#include --#include -- --__BEGIN_DECLS -- --struct elf_siginfo -- { -- int si_signo; /* Signal number. */ -- int si_code; /* Extra code. */ -- int si_errno; /* Errno. */ -- }; -- --/* Definitions to generate Intel SVR4-like core files. These mostly -- have the same names as the SVR4 types with "elf_" tacked on the -- front to prevent clashes with linux definitions, and the typedef -- forms have been avoided. This is mostly like the SVR4 structure, -- but more Linuxy, with things that Linux does not support and which -- gdb doesn't really use excluded. Fields present but not used are -- marked with "XXX". */ --struct elf_prstatus -- { --#if 0 -- long int pr_flags; /* XXX Process flags. */ -- short int pr_why; /* XXX Reason for process halt. */ -- short int pr_what; /* XXX More detailed reason. */ --#endif -- struct elf_siginfo pr_info; /* Info associated with signal. */ -- short int pr_cursig; /* Current signal. */ -- unsigned long int pr_sigpend; /* Set of pending signals. */ -- unsigned long int pr_sighold; /* Set of held signals. */ --#if 0 -- struct sigaltstack pr_altstack; /* Alternate stack info. */ -- struct sigaction pr_action; /* Signal action for current sig. */ --#endif -- __pid_t pr_pid; -- __pid_t pr_ppid; -- __pid_t pr_pgrp; -- __pid_t pr_sid; -- struct timeval pr_utime; /* User time. */ -- struct timeval pr_stime; /* System time. */ -- struct timeval pr_cutime; /* Cumulative user time. */ -- struct timeval pr_cstime; /* Cumulative system time. */ --#if 0 -- long int pr_instr; /* Current instruction. */ --#endif -- elf_gregset_t pr_reg; /* GP registers. */ -- int pr_fpvalid; /* True if math copro being used. */ -- }; -- -- --#define ELF_PRARGSZ (80) /* Number of chars for args */ -- --struct elf_prpsinfo -- { -- char pr_state; /* Numeric process state. */ -- char pr_sname; /* Char for pr_state. */ -- char pr_zomb; /* Zombie. */ -- char pr_nice; /* Nice val. */ -- unsigned long int pr_flag; /* Flags. */ -- unsigned short int pr_uid; -- unsigned short int pr_gid; -- int pr_pid, pr_ppid, pr_pgrp, pr_sid; -- /* Lots missing */ -- char pr_fname[16]; /* Filename of executable. */ -- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -- }; -- --/* Addresses. */ --typedef void *psaddr_t; -- --/* Register sets. Linux has different names. */ --typedef gregset_t prgregset_t; --typedef fpregset_t prfpregset_t; -- --/* We don't have any differences between processes and threads, -- therefore habe only ine PID type. */ --typedef __pid_t lwpid_t; -- -- --typedef struct elf_prstatus prstatus_t; --typedef struct elf_prpsinfo prpsinfo_t; -- --__END_DECLS -- --#endif /* sys/procfs.h */ -+/* sys/procfs.h is architecture specific. */ -+#error "This file must be supplied by every Linux architecture." - diff --git a/patches/glibc/2.6/180-gcc-4.3-sysinclude-path.patch b/patches/glibc/2.6/180-gcc-4.3-sysinclude-path.patch deleted file mode 100644 index 563cd28..0000000 --- a/patches/glibc/2.6/180-gcc-4.3-sysinclude-path.patch +++ /dev/null @@ -1,50 +0,0 @@ -Patch pointed to by Ryan ARNOLD on the libc-help ML. -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -Forwarded to crosstool-NG by Ioannis E. VENETIS: -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -GCC 4.3 changed the location of some of the header files. I don't -understand why you'd be getting these errors while building GCC since -it provides them. - -With regard to GLIBC, Roland checked in some changes so that the GLIBC -build system could find the new locations of the GCC provided header -files. - -diff -durN glibc-2.6.orig/configure.in glibc-2.6/configure.in ---- glibc-2.6.orig/configure.in 2007-06-08 05:16:36.000000000 +0200 -+++ glibc-2.6/configure.in 2008-06-24 18:38:46.000000000 +0200 -@@ -911,8 +911,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && -diff -durN glibc-2.6.orig/configure glibc-2.6/configure ---- glibc-2.6.orig/configure 2008-06-24 18:35:34.000000000 +0200 -+++ glibc-2.6/configure 2008-06-24 18:38:46.000000000 +0200 -@@ -4562,8 +4562,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&5` && diff --git a/patches/glibc/2.6/190-alpha-atfcts.patch b/patches/glibc/2.6/190-alpha-atfcts.patch deleted file mode 100644 index c3cdae2..0000000 --- a/patches/glibc/2.6/190-alpha-atfcts.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.6/sysdeps/unix/sysv/linux/kernel-features.h 2006-07-29 07:43:27.000000000 +0300 -+++ glibc-2.6/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-26 08:45:06.000000000 +0300 -@@ -445,7 +445,7 @@ - /* The *at syscalls were introduced just after 2.6.16-rc1. Due to the way the - kernel versions are advertised we can only rely on 2.6.17 to have - the code. */ --#if __LINUX_KERNEL_VERSION >= 0x020611 -+#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __alpha__ - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/2.6/200-alpha-ptr_mangle.patch b/patches/glibc/2.6/200-alpha-ptr_mangle.patch deleted file mode 100644 index 7de4bac..0000000 --- a/patches/glibc/2.6/200-alpha-ptr_mangle.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- glibc-2.6.orig/sysdeps/unix/alpha/sysdep.h -+++ glibc-2.6/sysdeps/unix/alpha/sysdep.h -@@ -397,42 +397,4 @@ - _sc_ret = _sc_0, _sc_err = _sc_19; \ - } - --/* Pointer mangling support. Note that tls access is slow enough that -- we don't deoptimize things by placing the pointer check value there. */ -- --#include -- --#if defined NOT_IN_libc && defined IS_IN_rtld --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; --# define PTR_MANGLE(var) \ -- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#elif defined PIC --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldq tmp, __pointer_chk_guard; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard attribute_relro; --# define PTR_MANGLE(var) \ -- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#endif -- - #endif /* ASSEMBLER */ ---- glibc-2.6.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h -+++ glibc-2.6/sysdeps/unix/sysv/linux/alpha/sysdep.h -@@ -29,6 +29,8 @@ - /* There is some commonality. */ - #include - -+#include -+ - /* 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 -@@ -96,4 +96,46 @@ - INTERNAL_SYSCALL1(name, err_out, nr, args); \ - }) - -+/* Pointer mangling support. Note that tls access is slow enough that -+ we don't deoptimize things by placing the pointer check value there. */ -+ -+#if defined NOT_IN_libc && defined IS_IN_rtld -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -+# define PTR_MANGLE(var) \ -+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#elif defined PIC -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldq tmp, __pointer_chk_guard; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard attribute_relro; -+# define PTR_MANGLE(var) \ -+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#else -+/* Pointer mangling is not yet supported for static libc on alpha. */ -+# ifndef __ASSEMBLER__ -+# define PTR_MANGLE(var) (void) (var) -+# define PTR_DEMANGLE(var) (void) (var) -+# endif -+#endif -+ - #endif /* _LINUX_ALPHA_SYSDEP_H */ diff --git a/patches/glibc/2.6/210-lll_lock_t.patch b/patches/glibc/2.6/210-lll_lock_t.patch deleted file mode 100644 index d243d97..0000000 --- a/patches/glibc/2.6/210-lll_lock_t.patch +++ /dev/null @@ -1,237 +0,0 @@ -Patch provided bu Ioannis E. VENETIS - -Using: - -typedef int lll_lock_t; - -creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and -uses directly 'int', we do the same here. - -diff -Naur glibc-2.6/nptl/allocatestack.c glibc-2.6.new/nptl/allocatestack.c ---- glibc-2.6/nptl/allocatestack.c 2006-08-23 20:39:47.000000000 +0300 -+++ glibc-2.6.new/nptl/allocatestack.c 2008-07-27 20:56:19.000000000 +0300 -@@ -103,7 +103,7 @@ - static size_t stack_cache_actsize; - - /* Mutex protecting this variable. */ --static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER; -+static int stack_cache_lock = LLL_LOCK_INITIALIZER; - - /* List of queued stack frames. */ - static LIST_HEAD (stack_cache); -diff -Naur glibc-2.6/nptl/descr.h glibc-2.6.new/nptl/descr.h ---- glibc-2.6/nptl/descr.h 2006-09-24 20:10:55.000000000 +0300 -+++ glibc-2.6.new/nptl/descr.h 2008-07-27 20:54:41.000000000 +0300 -@@ -304,10 +304,10 @@ - int parent_cancelhandling; - - /* Lock to synchronize access to the descriptor. */ -- lll_lock_t lock; -+ int lock; - - /* Lock for synchronizing setxid calls. */ -- lll_lock_t setxid_futex; -+ int setxid_futex; - - #if HP_TIMING_AVAIL - /* Offset of the CPU clock at start thread start time. */ -diff -Naur glibc-2.6/nptl/pthread_attr_init.c glibc-2.6.new/nptl/pthread_attr_init.c ---- glibc-2.6/nptl/pthread_attr_init.c 2004-03-19 01:56:31.000000000 +0200 -+++ glibc-2.6.new/nptl/pthread_attr_init.c 2008-07-27 20:55:03.000000000 +0300 -@@ -27,7 +27,7 @@ - - - struct pthread_attr *__attr_list; --lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER; -+int __attr_list_lock = LLL_LOCK_INITIALIZER; - - - int -diff -Naur glibc-2.6/nptl/pthreadP.h glibc-2.6.new/nptl/pthreadP.h ---- glibc-2.6/nptl/pthreadP.h 2006-08-23 20:42:52.000000000 +0300 -+++ glibc-2.6.new/nptl/pthreadP.h 2008-07-27 20:56:40.000000000 +0300 -@@ -143,7 +143,7 @@ - - /* Attribute handling. */ - extern struct pthread_attr *__attr_list attribute_hidden; --extern lll_lock_t __attr_list_lock attribute_hidden; -+extern int __attr_list_lock attribute_hidden; - - /* First available RT signal. */ - extern int __current_sigrtmin attribute_hidden; -diff -Naur glibc-2.6/nptl/semaphoreP.h glibc-2.6.new/nptl/semaphoreP.h ---- glibc-2.6/nptl/semaphoreP.h 2006-05-11 20:08:37.000000000 +0300 -+++ glibc-2.6.new/nptl/semaphoreP.h 2008-07-27 20:55:42.000000000 +0300 -@@ -48,7 +48,7 @@ - extern void *__sem_mappings attribute_hidden; - - /* Lock to protect the search tree. */ --extern lll_lock_t __sem_mappings_lock attribute_hidden; -+extern int __sem_mappings_lock attribute_hidden; - - - /* Initializer for mountpoint. */ -diff -Naur glibc-2.6/nptl/sem_open.c glibc-2.6.new/nptl/sem_open.c ---- glibc-2.6/nptl/sem_open.c 2006-05-11 20:09:43.000000000 +0300 -+++ glibc-2.6.new/nptl/sem_open.c 2008-07-27 20:55:22.000000000 +0300 -@@ -147,7 +147,7 @@ - void *__sem_mappings attribute_hidden; - - /* Lock to protect the search tree. */ --lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; -+int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; - - - /* Search for existing mapping and if possible add the one provided. */ -diff -Naur glibc-2.6/nptl/pthread_once.c glibc-2.6.new/nptl/pthread_once.c ---- glibc-2.6/nptl/pthread_once.c 2002-11-27 00:50:31.000000000 +0200 -+++ glibc-2.6.new/nptl/pthread_once.c 2008-07-27 20:57:12.000000000 +0300 -@@ -22,7 +22,7 @@ - - - --static lll_lock_t once_lock = LLL_LOCK_INITIALIZER; -+static int once_lock = LLL_LOCK_INITIALIZER; - - - int -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2008-07-27 20:59:15.000000000 +0300 -@@ -230,9 +230,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c 2003-12-21 01:37:13.000000000 +0200 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c 2008-07-27 21:00:01.000000000 +0300 -@@ -183,7 +183,7 @@ - } - - /* Initialize the fork lock. */ -- __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER; -+ __fork_lock = (int) LLL_LOCK_INITIALIZER; - } - else - { -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h 2006-05-15 23:19:43.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h 2008-07-27 20:58:49.000000000 +0300 -@@ -26,7 +26,7 @@ - extern unsigned long int *__fork_generation_pointer attribute_hidden; - - /* Lock to protect allocation and deallocation of fork handlers. */ --extern lll_lock_t __fork_lock attribute_hidden; -+extern int __fork_lock attribute_hidden; - - /* Elements of the fork handler lists. */ - struct fork_handler -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2006-09-05 17:44:25.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-07-27 21:00:19.000000000 +0300 -@@ -436,9 +436,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2008-07-27 20:58:16.000000000 +0300 -@@ -223,9 +223,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; - - /* Initializers for lock. */ -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2008-07-27 21:00:36.000000000 +0300 -@@ -254,9 +254,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2005-12-22 00:17:21.000000000 +0200 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2008-07-27 21:00:55.000000000 +0300 -@@ -24,7 +24,7 @@ - - - /* Lock to protect allocation and deallocation of fork handlers. */ --lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER; -+int __fork_lock = LLL_LOCK_INITIALIZER; - - - /* Number of pre-allocated handler entries. */ -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2008-07-27 21:01:14.000000000 +0300 -@@ -309,9 +309,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2008-07-27 20:58:00.000000000 +0300 -@@ -278,9 +278,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2008-07-27 20:59:39.000000000 +0300 -@@ -237,9 +237,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. We can use the lll_mutex_*. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; - - /* Initializers for lock. */ -diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h ---- glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2006-09-05 17:45:34.000000000 +0300 -+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2008-07-27 20:58:33.000000000 +0300 -@@ -446,9 +446,6 @@ - /* We have a separate internal lock implementation which is not tied - to binary compatibility. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) diff --git a/patches/glibc/2.6/220-cross-posix_makefile.patch b/patches/glibc/2.6/220-cross-posix_makefile.patch deleted file mode 100644 index ae623db..0000000 --- a/patches/glibc/2.6/220-cross-posix_makefile.patch +++ /dev/null @@ -1,65 +0,0 @@ -On 20090111.1151+0100, Thomas Jourdan wrote: - - I'm still working on the solaris port an I have the same issue here. - While trying to build the i686-nptl-linux-gnu toolchain under - OpenSolaris, the problems appears during the make install rule of the - libc function. - - The problem is that solaris tries to execute ld-linux.so.2, which is an - elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot - execute binary file". Hence the build stops on this error. - -And on 20090111.1339+0100, he replied with: - - After digging a little, the problem comes from the - glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7 - so I extracted a patch for glibc 2.6.1. - ---- glibc-2.6.1/posix/Makefile 2007-04-04 01:28:20.000000000 +0200 -+++ glibc-2.7/posix/Makefile 2007-09-12 01:57:22.000000000 +0200 -@@ -98,7 +98,7 @@ - endif - others := getconf - install-bin := getconf --install-others := $(inst_libexecdir)/getconf -+install-others-programs := $(inst_libexecdir)/getconf - - before-compile := testcases.h ptestcases.h - -@@ -110,7 +110,7 @@ - tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \ - tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \ - bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \ -- tst-vfork3-mem tst-vfork3.mtrace -+ tst-vfork3-mem tst-vfork3.mtrace getconf.speclist - - include ../Rules - -@@ -291,12 +291,20 @@ - $(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out - $(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@ - --$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE -+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ -+ $(objpfx)getconf.speclist FORCE - $(addprefix $(..)./scripts/mkinstalldirs ,\ - $(filter-out $(wildcard $@),$@)) -- for spec in `LC_ALL=C GETCONF_DIR=/dev/null \ -- $(run-program-prefix) $< \ -- _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \ -- $(INSTALL_PROGRAM) $< $@/$$spec.new; \ -- mv -f $@/$$spec.new $@/$$spec; \ -- done -+ while read spec; do \ -+ ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \ -+ mv -f $@/$$spec.new $@/$$spec; \ -+ done < $(objpfx)getconf.speclist -+ -+$(objpfx)getconf.speclist: $(objpfx)getconf -+ifeq (no,$(cross-compiling)) -+ LC_ALL=C GETCONF_DIR=/dev/null \ -+ $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new -+else -+ > $@.new -+endif -+ mv -f $@.new $@ diff --git a/patches/glibc/2.7/100-cygwin.patch b/patches/glibc/2.7/100-cygwin.patch deleted file mode 100644 index 030361f..0000000 --- a/patches/glibc/2.7/100-cygwin.patch +++ /dev/null @@ -1,185 +0,0 @@ -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 -To: Dan Kegel -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 -@@ -470,7 +470,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 -@@ -691,7 +691,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)) -@@ -747,14 +747,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 -@@ -417,7 +417,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) -@@ -984,7 +984,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';\ -@@ -992,7 +992,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))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-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 -@@ -375,7 +375,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';\ -@@ -383,7 +383,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.7/110-configure-apple-as.patch b/patches/glibc/2.7/110-configure-apple-as.patch deleted file mode 100644 index 264a5df..0000000 --- a/patches/glibc/2.7/110-configure-apple-as.patch +++ /dev/null @@ -1,26 +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... - - -NOTE: This patch should apparently be pushed upstream so we don't need to -keep adding it here. - ---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003 -+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004 -@@ -4524,7 +4524,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 &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.7/120-fix-pr631.patch b/patches/glibc/2.7/120-fix-pr631.patch deleted file mode 100644 index 4e549fd..0000000 --- a/patches/glibc/2.7/120-fix-pr631.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 -@@ -508,7 +508,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 -@@ -120,6 +120,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.7/130-i686-assembler.patch b/patches/glibc/2.7/130-i686-assembler.patch deleted file mode 100644 index 09c8754..0000000 --- a/patches/glibc/2.7/130-i686-assembler.patch +++ /dev/null @@ -1,43 +0,0 @@ -If gcc is configured to generate i686 code or better by default (like -when using the --with-arch=pentium3 configure option), then the __i686 -macro will always be defined automatically and thus screw up the -compilation of some .S files. - -http://bugs.gentoo.org/131108 -http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html - -2006-04-25 Mike Frysinger - - * sysdeps/i386/sysdep.h (__i686): Undefine. - -Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h -=================================================================== ---- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469) -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy) -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h -Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469) -+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy) -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - diff --git a/patches/glibc/2.7/140-i386-preferred-stack-boundary.patch b/patches/glibc/2.7/140-i386-preferred-stack-boundary.patch deleted file mode 100644 index 449821d..0000000 --- a/patches/glibc/2.7/140-i386-preferred-stack-boundary.patch +++ /dev/null @@ -1,18 +0,0 @@ -(C) 2007 Yann E. MORIN -License: LGPL v2.1 - -Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12, -and 2 is not. - -diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile ---- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100 -+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200 -@@ -36,7 +36,7 @@ - ifeq ($(subdir),csu) - sysdep-CFLAGS += -mpreferred-stack-boundary=4 - else --sysdep-CFLAGS += -mpreferred-stack-boundary=2 -+sysdep-CFLAGS += -mpreferred-stack-boundary=4 - # Likewise, any function which calls user callbacks - uses-callbacks += -mpreferred-stack-boundary=4 - # Likewise, any stack alignment tests diff --git a/patches/glibc/2.7/150-alpha-asm_page.patch b/patches/glibc/2.7/150-alpha-asm_page.patch deleted file mode 100644 index b198b36..0000000 --- a/patches/glibc/2.7/150-alpha-asm_page.patch +++ /dev/null @@ -1,26 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/user.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ struct user - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.7/160-build_wcs_upper_buffer.patch b/patches/glibc/2.7/160-build_wcs_upper_buffer.patch deleted file mode 100644 index 72cde92..0000000 --- a/patches/glibc/2.7/160-build_wcs_upper_buffer.patch +++ /dev/null @@ -1,22 +0,0 @@ -Matthias Kaehlcke writes: - -A compilation of an ARM toolchain with glibc 2.7 using crosstool-ng -failed with a gcc error in glibc-2.7/posix/regex_internal.c, more -concretly in the function build_wcs_upper_buffer(). The return type of -the function prototype in regex_internal.h doesn't correspond with the -return type of this function in regex_internal.c. - -The attached patch corrects the return type of the function prototype -in regex_internal.h - ---- glibc-2.7/posix/regex_internal.h.org 2008-05-30 11:16:01.000000000 +0200 -+++ glibc-2.7/posix/regex_internal.h 2008-05-30 11:16:35.000000000 +0200 -@@ -391,7 +391,7 @@ - internal_function; - # ifdef RE_ENABLE_I18N - static void build_wcs_buffer (re_string_t *pstr) internal_function; --static int build_wcs_upper_buffer (re_string_t *pstr) internal_function; -+static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function; - # endif /* RE_ENABLE_I18N */ - static void build_upper_buffer (re_string_t *pstr) internal_function; - static void re_string_translate_buffer (re_string_t *pstr) internal_function; diff --git a/patches/glibc/2.7/170-use_short_for_fnstsw.patch b/patches/glibc/2.7/170-use_short_for_fnstsw.patch deleted file mode 100644 index 722f8d2..0000000 --- a/patches/glibc/2.7/170-use_short_for_fnstsw.patch +++ /dev/null @@ -1,18 +0,0 @@ -Original patch from H.J. Lu, as reported there: -http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html - -fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged. -The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax". - -diff -dur glibc-2.7.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.7/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.7.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.7/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:54:43.000000000 +0200 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/patches/glibc/2.7/180-gcc-4.3-sysinclude-path.patch b/patches/glibc/2.7/180-gcc-4.3-sysinclude-path.patch deleted file mode 100644 index 7af09a4..0000000 --- a/patches/glibc/2.7/180-gcc-4.3-sysinclude-path.patch +++ /dev/null @@ -1,50 +0,0 @@ -Patch pointed to by Ryan ARNOLD on the libc-help ML. -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -Forwarded to crosstool-NG by Ioannis E. VENETIS: -See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html - -GCC 4.3 changed the location of some of the header files. I don't -understand why you'd be getting these errors while building GCC since -it provides them. - -With regard to GLIBC, Roland checked in some changes so that the GLIBC -build system could find the new locations of the GCC provided header -files. - -diff -durN glibc-2.7.orig/configure.in glibc-2.7/configure.in ---- glibc-2.7.orig/configure.in 2007-06-08 05:16:36.000000000 +0200 -+++ glibc-2.7/configure.in 2008-06-24 18:38:46.000000000 +0200 -@@ -911,8 +911,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && -diff -durN glibc-2.7.orig/configure glibc-2.7/configure ---- glibc-2.7.orig/configure 2008-06-24 18:35:34.000000000 +0200 -+++ glibc-2.7/configure 2008-06-24 18:38:46.000000000 +0200 -@@ -5062,8 +5062,12 @@ - # header directory and add that to the list. NOTE: Only does the right - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then -- ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES=-nostdinc -+ for d in include include-fixed; do -+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" && -+ SYSINCLUDES="$SYSINCLUDES -isystem $i" -+ done -+ SYSINCLUDES="$SYSINCLUDES \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&5` && diff --git a/patches/glibc/2.7/190-alpha-asm_elf.patch b/patches/glibc/2.7/190-alpha-asm_elf.patch deleted file mode 100644 index b9d709e..0000000 --- a/patches/glibc/2.7/190-alpha-asm_elf.patch +++ /dev/null @@ -1,171 +0,0 @@ -since the kernel no longer provides asm/elf.h, the sys/procfs.h from the -common code, alpha, and sh fail when used. this should things up. --mike - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - -*Attachment: signature.asc * -/Description:/ This is a digitally signed message part. - -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h - definitions from the kernel header to sys/procfs.h and remove the - #include of asm/elf.h. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - ---- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ ---- a/sysdeps/unix/sysv/linux/sys/procfs.h -+++ b/sysdeps/unix/sysv/linux/sys/procfs.h -@@ -1,115 +1,2 @@ --/* Copyright (C) 1996, 1997, 1999 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 _SYS_PROCFS_H --#define _SYS_PROCFS_H 1 -- --/* This is somehow modelled after the file of the same name on SysVr4 -- systems. It provides a definition of the core file format for ELF -- used on Linux. */ -- --#include --#include --#include --#include --#include --#include --#include -- --__BEGIN_DECLS -- --struct elf_siginfo -- { -- int si_signo; /* Signal number. */ -- int si_code; /* Extra code. */ -- int si_errno; /* Errno. */ -- }; -- --/* Definitions to generate Intel SVR4-like core files. These mostly -- have the same names as the SVR4 types with "elf_" tacked on the -- front to prevent clashes with linux definitions, and the typedef -- forms have been avoided. This is mostly like the SVR4 structure, -- but more Linuxy, with things that Linux does not support and which -- gdb doesn't really use excluded. Fields present but not used are -- marked with "XXX". */ --struct elf_prstatus -- { --#if 0 -- long int pr_flags; /* XXX Process flags. */ -- short int pr_why; /* XXX Reason for process halt. */ -- short int pr_what; /* XXX More detailed reason. */ --#endif -- struct elf_siginfo pr_info; /* Info associated with signal. */ -- short int pr_cursig; /* Current signal. */ -- unsigned long int pr_sigpend; /* Set of pending signals. */ -- unsigned long int pr_sighold; /* Set of held signals. */ --#if 0 -- struct sigaltstack pr_altstack; /* Alternate stack info. */ -- struct sigaction pr_action; /* Signal action for current sig. */ --#endif -- __pid_t pr_pid; -- __pid_t pr_ppid; -- __pid_t pr_pgrp; -- __pid_t pr_sid; -- struct timeval pr_utime; /* User time. */ -- struct timeval pr_stime; /* System time. */ -- struct timeval pr_cutime; /* Cumulative user time. */ -- struct timeval pr_cstime; /* Cumulative system time. */ --#if 0 -- long int pr_instr; /* Current instruction. */ --#endif -- elf_gregset_t pr_reg; /* GP registers. */ -- int pr_fpvalid; /* True if math copro being used. */ -- }; -- -- --#define ELF_PRARGSZ (80) /* Number of chars for args */ -- --struct elf_prpsinfo -- { -- char pr_state; /* Numeric process state. */ -- char pr_sname; /* Char for pr_state. */ -- char pr_zomb; /* Zombie. */ -- char pr_nice; /* Nice val. */ -- unsigned long int pr_flag; /* Flags. */ -- unsigned short int pr_uid; -- unsigned short int pr_gid; -- int pr_pid, pr_ppid, pr_pgrp, pr_sid; -- /* Lots missing */ -- char pr_fname[16]; /* Filename of executable. */ -- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ -- }; -- --/* Addresses. */ --typedef void *psaddr_t; -- --/* Register sets. Linux has different names. */ --typedef gregset_t prgregset_t; --typedef fpregset_t prfpregset_t; -- --/* We don't have any differences between processes and threads, -- therefore habe only ine PID type. */ --typedef __pid_t lwpid_t; -- -- --typedef struct elf_prstatus prstatus_t; --typedef struct elf_prpsinfo prpsinfo_t; -- --__END_DECLS -- --#endif /* sys/procfs.h */ -+/* sys/procfs.h is architecture specific. */ -+#error "This file must be supplied by every Linux architecture." - diff --git a/patches/glibc/2.7/200-alpha-atfcts.patch b/patches/glibc/2.7/200-alpha-atfcts.patch deleted file mode 100644 index 06c7d8f..0000000 --- a/patches/glibc/2.7/200-alpha-atfcts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h 2007-08-14 06:21:09.000000000 +0300 -+++ glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-23 07:05:20.000000000 +0300 -@@ -449,8 +449,7 @@ - and on Alpha just after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ - && ((!defined __sh__ && !defined __alpha__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__)) -+ || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__)) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/2.7/210-alpha-ptr_mangle.patch b/patches/glibc/2.7/210-alpha-ptr_mangle.patch deleted file mode 100644 index 7f22833..0000000 --- a/patches/glibc/2.7/210-alpha-ptr_mangle.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- glibc-2.7.orig/sysdeps/unix/alpha/sysdep.h -+++ glibc-2.7/sysdeps/unix/alpha/sysdep.h -@@ -397,42 +397,4 @@ - _sc_ret = _sc_0, _sc_err = _sc_19; \ - } - --/* Pointer mangling support. Note that tls access is slow enough that -- we don't deoptimize things by placing the pointer check value there. */ -- --#include -- --#if defined NOT_IN_libc && defined IS_IN_rtld --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; --# define PTR_MANGLE(var) \ -- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#elif defined PIC --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldq tmp, __pointer_chk_guard; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard attribute_relro; --# define PTR_MANGLE(var) \ -- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#endif -- - #endif /* ASSEMBLER */ ---- glibc-2.7.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h -+++ glibc-2.7/sysdeps/unix/sysv/linux/alpha/sysdep.h -@@ -98,4 +98,46 @@ - INTERNAL_SYSCALL1(name, err_out, nr, args); \ - }) - -+/* Pointer mangling support. Note that tls access is slow enough that -+ we don't deoptimize things by placing the pointer check value there. */ -+ -+#if defined NOT_IN_libc && defined IS_IN_rtld -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -+# define PTR_MANGLE(var) \ -+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#elif defined PIC -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldq tmp, __pointer_chk_guard; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard attribute_relro; -+# define PTR_MANGLE(var) \ -+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#else -+/* Pointer mangling is not yet supported for static libc on alpha. */ -+# ifndef __ASSEMBLER__ -+# define PTR_MANGLE(var) (void) (var) -+# define PTR_DEMANGLE(var) (void) (var) -+# endif -+#endif -+ - #endif /* _LINUX_ALPHA_SYSDEP_H */ diff --git a/patches/glibc/2.7/220-objdump_for_host.patch b/patches/glibc/2.7/220-objdump_for_host.patch deleted file mode 100644 index 8730bc7..0000000 --- a/patches/glibc/2.7/220-objdump_for_host.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -durN glibc-2.7.orig/Makerules glibc-2.7/Makerules ---- glibc-2.7.orig/Makerules 2007-08-26 04:18:03.000000000 +0200 -+++ glibc-2.7/Makerules 2008-07-28 15:17:27.000000000 +0200 -@@ -1203,6 +1203,9 @@ - # The include magic above causes those files to use this variable for flags. - CPPFLAGS-nonlib = -DNOT_IN_libc=1 - -+ifneq ($(OBJDUMP_FOR_HOST),) -+OBJDUMP = $(OBJDUMP_FOR_HOST) -+endif - - ifeq ($(versioning),yes) - # Generate normalized lists of symbols, versions, and data sizes. diff --git a/patches/glibc/2.7/230-powerpc-private_futex.patch b/patches/glibc/2.7/230-powerpc-private_futex.patch deleted file mode 100644 index 3016529..0000000 --- a/patches/glibc/2.7/230-powerpc-private_futex.patch +++ /dev/null @@ -1,15 +0,0 @@ -2008-04-28 Hiroki Kaminaga - - [BZ 6740] - nptl/sysdeps/powerpc/tcb-offsets.sym (PRIVATE_FUTEX_OFFSET): - Guard sym definition with #ifndef __ASSUME_PRIVATE_FUTEX. - ---- a/nptl/sysdeps/powerpc/tcb-offsets.sym -+++ b/nptl/sysdeps/powerpc/tcb-offsets.sym -@@ -15,4 +15,6 @@ - PID thread_offsetof (pid) - TID thread_offsetof (tid) - POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) -+#ifndef __ASSUME_PRIVATE_FUTEX - PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) -+#endif diff --git a/patches/glibc/2.7/240-sh-lowlevellock-asm.patch b/patches/glibc/2.7/240-sh-lowlevellock-asm.patch deleted file mode 100644 index dec0390..0000000 --- a/patches/glibc/2.7/240-sh-lowlevellock-asm.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- glibc-2.7/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S.orig 2007-08-03 16:44:15.000000000 +0100 -+++ glibc-2.7/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S 2008-08-19 21:08:19.000000000 +0100 -@@ -76,7 +76,7 @@ - add tmp2, tmp ; \ - mov.l @tmp, tmp2 ; \ - bra 98f ; \ -- mov #FUTEX_PRIVATE_FLAG, tmp -+ mov #FUTEX_PRIVATE_FLAG, tmp ; \ - 99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \ - 98: extu.b tmp, tmp ; \ - xor tmp, reg ; \ -@@ -88,7 +88,7 @@ - add tmp2, tmp ; \ - mov.l @tmp, tmp2 ; \ - bra 98f ; \ -- mov #FUTEX_PRIVATE_FLAG, tmp -+ mov #FUTEX_PRIVATE_FLAG, tmp ; \ - 99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \ - 98: extu.b tmp, tmp ; \ - xor tmp, reg ; \ -@@ -96,13 +96,13 @@ - mov #FUTEX_WAIT, tmp ; \ - or tmp, reg - # endif --# define LOAD_FUTEX_WAKE(reg,tmp) \ -+# define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \ - stc gbr, tmp ; \ - mov.w 99f, tmp2 ; \ - add tmp2, tmp ; \ - mov.l @tmp, tmp2 ; \ - bra 98f ; \ -- mov #FUTEX_PRIVATE_FLAG, tmp -+ mov #FUTEX_PRIVATE_FLAG, tmp ; \ - 99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \ - 98: extu.b tmp, tmp ; \ - xor tmp, reg ; \ ---- glibc-2.7/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S.orig 2007-08-03 16:44:57.000000000 +0100 -+++ glibc-2.7/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S 2008-08-19 21:08:22.000000000 +0100 -@@ -42,7 +42,7 @@ - add tmp2, tmp ; \ - mov.l @tmp, tmp2 ; \ - bra 98f ; \ -- mov #FUTEX_PRIVATE_FLAG, tmp -+ mov #FUTEX_PRIVATE_FLAG, tmp ; \ - 99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \ - 98: extu.b tmp, tmp ; \ - xor tmp, reg ; \ -@@ -54,7 +54,7 @@ - add tmp2, tmp ; \ - mov.l @tmp, tmp2 ; \ - bra 98f ; \ -- mov #FUTEX_PRIVATE_FLAG, tmp -+ mov #FUTEX_PRIVATE_FLAG, tmp ; \ - 99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \ - 98: extu.b tmp, tmp ; \ - xor tmp, reg ; \ diff --git a/patches/glibc/2.7/250-sh-chop-linux-version.patch b/patches/glibc/2.7/250-sh-chop-linux-version.patch deleted file mode 100644 index 7d0062b..0000000 --- a/patches/glibc/2.7/250-sh-chop-linux-version.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- glibc-2.7/sysdeps/unix/sysv/linux/dl-osinfo.h.orig 2007-09-15 23:54:08.000000000 +0100 -+++ glibc-2.7/sysdeps/unix/sysv/linux/dl-osinfo.h 2008-08-20 09:26:26.000000000 +0100 -@@ -83,6 +83,10 @@ - int parts; - char *cp; - struct utsname uts; -+ int dotsfound = 0; -+ int versionindex = 0; -+ char *choppoint; -+ - - /* Try the uname system call. */ - if (__uname (&uts)) -@@ -102,8 +106,34 @@ - else - buf = uts.release; - -+ /* We are only interested in the first three kernel numbers, so */ -+ /* chop off anything past that: */ -+ -+ choppoint = buf; -+ while (1) -+ { -+ versionindex++; -+ if (versionindex == 63) break; -+ if (*choppoint == '.') dotsfound++; -+ choppoint++; -+ if (dotsfound == 2) -+ { -+ if (*choppoint == '0' || *choppoint == '1' -+ || *choppoint == '2' || *choppoint == '3' -+ || *choppoint == '4' || *choppoint == '5' -+ || *choppoint == '6' || *choppoint == '7' -+ || *choppoint == '8' || *choppoint == '9') -+ continue; -+ else -+ { -+ *choppoint = 0; -+ break; -+ } -+ } -+ } -+ - /* Now convert it into a number. The string consists of at most -- three parts. */ -+ three parts. Now it does, anyway. ;-) */ - version = 0; - parts = 0; - cp = buf; diff --git a/patches/glibc/2.7/260-sh-syscall-error-path.patch b/patches/glibc/2.7/260-sh-syscall-error-path.patch deleted file mode 100644 index e293bbf..0000000 --- a/patches/glibc/2.7/260-sh-syscall-error-path.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- glibc-2.7/sysdeps/unix/sysv/linux/sh/sysdep.S.orig 2005-12-30 22:16:43.000000000 +0000 -+++ glibc-2.7/sysdeps/unix/sysv/linux/sh/sysdep.S 2008-08-19 22:33:14.000000000 +0100 -@@ -32,3 +32,13 @@ - - #define __syscall_error __syscall_error_1 - #include -+ -+ .data -+ .align 3 -+ .globl ___fpscr_values -+ .type ___fpscr_values, @object -+ .size ___fpscr_values, 8 -+___fpscr_values: -+ .long 0 -+ .long 0x80000 -+weak_alias (___fpscr_values, __fpscr_values) ---- glibc-2.7/sysdeps/unix/sysv/linux/sh/Versions.orig 2003-09-01 05:05:09.000000000 +0100 -+++ glibc-2.7/sysdeps/unix/sysv/linux/sh/Versions 2008-08-19 22:33:14.000000000 +0100 -@@ -2,6 +2,7 @@ - GLIBC_2.2 { - # functions used in other libraries - __xstat64; __fxstat64; __lxstat64; -+ __fpscr_values; - - # a* - alphasort64; diff --git a/patches/glibc/2.7/270-sh-fix-procfs.patch b/patches/glibc/2.7/270-sh-fix-procfs.patch deleted file mode 100644 index f5f8bb1..0000000 --- a/patches/glibc/2.7/270-sh-fix-procfs.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -durN glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/procfs.h glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/procfs.h ---- glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2004-11-20 18:56:16.000000000 +0100 -+++ glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2008-10-24 11:21:15.000000000 +0200 -@@ -29,10 +29,32 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* BEGIN - UGLY HACK - YEM -+ * These definitions are copied from the Alpha file, -+ * and the register numbers are set accordingly to -+ * what I could find in the Linux kernel sources -+ * Highly dubious !!!! -+ * BIG FAT WARNING !!! -+ */ -+ -+/* Linux kernel says 16 (standards?) registers */ -+#define ELF_NGREG 16 -+/* Linux kernel says 16 floating point registers */ -+#define ELF_NFPREG 16 -+ -+/* Copied from Alpha as is */ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+/* Ditto */ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ -+/* END - UGLY HACK - YEM */ -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ diff --git a/patches/glibc/2.7/280-sh-fix-kernel-headers-location.patch b/patches/glibc/2.7/280-sh-fix-kernel-headers-location.patch deleted file mode 100644 index 0c5caa5..0000000 --- a/patches/glibc/2.7/280-sh-fix-kernel-headers-location.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -durN glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/procfs.h glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/procfs.h ---- glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2008-10-22 21:23:32.000000000 +0200 -+++ glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2008-10-22 21:41:54.000000000 +0200 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - __BEGIN_DECLS - -diff -durN glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/user.h glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/user.h ---- glibc-2.7.orig/sysdeps/unix/sysv/linux/sh/sys/user.h 2008-10-22 21:23:32.000000000 +0200 -+++ glibc-2.7/sysdeps/unix/sysv/linux/sh/sys/user.h 2008-10-22 21:33:34.000000000 +0200 -@@ -21,8 +21,6 @@ - - #include - --#include -- - #undef start_thread - - #endif /* sys/user.h */ diff --git a/patches/glibc/2.7/290-powerpc-8xx-CPU15-errata.patch b/patches/glibc/2.7/290-powerpc-8xx-CPU15-errata.patch deleted file mode 100644 index 1d0643b..0000000 --- a/patches/glibc/2.7/290-powerpc-8xx-CPU15-errata.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fix memset on PowerPC 8xx, by Nye Liu: -http://sourceware.org/ml/crossgcc/2008-10/msg00067.html - -Quote: - I am working on a powerpc 860 toolchain, but I am having problems - convincing glibc to not emit code that uses the dcbz instruction (CPU15 - dcbX bug). The source of the problem is sysdeps/powerpc/power3/memset.S - ---- glibc-2.7/sysdeps/powerpc/powerpc32/memset.S 2007-03-26 13:09:07.000000000 -0700 -+++ glibc-2.7/sysdeps/powerpc/powerpc32/memset.S.new 2008-10-23 20:28:52.000000000 -0700 -@@ -112,11 +112,13 @@ - clrrwi. rALIGN, rLEN, 5 - mtcrf 0x01, rLEN /* 40th instruction from .align */ - -+#ifndef BROKEN_PPC_8xx_CPU15 - /* Check if we can use the special case for clearing memory using dcbz. - This requires that we know the correct cache line size for this - processor. Getting the __cache_line_size may require establishing GOT - addressability, so branch out of line to set this up. */ - beq cr1, L(checklinesize) -+#endif - - /* Store blocks of 32-bytes (256-bits) starting on a 32-byte boundary. - Can't assume that rCHR is zero or that the cache line size is either -@@ -158,6 +160,7 @@ - add rMEMP, rMEMP, rALIGN - b L(medium_tail2) /* 72nd instruction from .align */ - -+#ifndef BROKEN_PPC_8xx_CPU15 - .align 5 - nop - /* Clear cache lines of memory in 128-byte chunks. -@@ -191,6 +194,7 @@ - bdnz L(zloop) - beqlr cr5 - b L(medium_tail2) -+#endif /* ! BROKEN_PPC_8xx_CPU15 */ - - .align 5 - L(small): -@@ -248,6 +252,7 @@ - stw rCHR, -8(rMEMP) - blr - -+#ifndef BROKEN_PPC_8xx_CPU15 - L(checklinesize): - #ifdef SHARED - mflr rTMP -@@ -329,6 +334,7 @@ - L(handletail32): - clrrwi. rALIGN, rLEN, 5 - b L(nondcbz) -+#endif /* ! BROKEN_PPC_8xx_CPU15 */ - - END (BP_SYM (memset)) - libc_hidden_builtin_def (memset) diff --git a/patches/glibc/2.7/300-binutils-_begin.patch b/patches/glibc/2.7/300-binutils-_begin.patch deleted file mode 100644 index f670d29..0000000 --- a/patches/glibc/2.7/300-binutils-_begin.patch +++ /dev/null @@ -1,190 +0,0 @@ ---- glibc-2.7.OLD/elf/Makefile 2009-04-22 17:08:55.000000000 +0300 -+++ glibc-2.7/elf/Makefile 2009-04-22 18:09:18.000000000 +0300 -@@ -1,4 +1,4 @@ --# Copyright (C) 1995-2004, 2005, 2006, 2007 Free Software Foundation, Inc. -+# Copyright (C) 1995-2007, 2008, 2009 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 -@@ -23,7 +23,7 @@ - headers = elf.h bits/elfclass.h link.h bits/link.h - routines = $(dl-routines) dl-support dl-iteratephdr \ - dl-addr enbl-secure dl-profstub \ -- dl-origin dl-libc dl-sym dl-tsd -+ dl-origin dl-libc dl-sym dl-tsd dl-sysdep - - # The core dynamic linking functions are in libc for the static and - # profiled libraries. -@@ -33,7 +33,8 @@ - execstack caller open close trampoline) - all-dl-routines = $(dl-routines) $(sysdep-dl-routines) - # But they are absent from the shared libc, because that code is in ld.so. --elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin -+elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin \ -+ dl-sysdep - shared-only-routines += dl-caller - - # ld.so uses those routines, plus some special stuff for being the program -@@ -120,13 +121,6 @@ - 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 -@@ -165,14 +159,14 @@ - endif - ifeq (yes,$(build-shared)) - tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ -- constload1 order $(tests-vis-$(have-protected)) noload filter unload \ -+ constload1 order vismain noload filter unload \ - reldep reldep2 reldep3 reldep4 nodelete nodelete2 \ - nodlopen nodlopen2 neededtest neededtest2 \ - neededtest3 neededtest4 unload2 lateglobal initfirst global \ - restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \ - circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \ - tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 \ -- tst-tls-dlinfo \ -+ tst-tls16 tst-tls17 tst-tls18 tst-tls-dlinfo \ - tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \ - tst-dlmodcount tst-dlopenrpath tst-deep1 \ - tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ -@@ -181,16 +175,17 @@ - tst-stackguard1 tst-addr1 tst-thrlock - # reldep9 - test-srcs = tst-pathopt --tests-vis-yes = vismain - tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog - endif - ifeq (yesyes,$(have-fpie)$(build-shared)) - tests: $(objpfx)tst-pie1.out - endif - tests: $(objpfx)tst-leaks1-mem -+tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -+tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 - modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ - testobj1_1 failobj constload2 constload3 unloadmod \ -- dep1 dep2 dep3 dep4 $(modules-vis-$(have-protected)) \ -+ dep1 dep2 dep3 dep4 vismod1 vismod2 vismod3 \ - nodelmod1 nodelmod2 nodelmod3 nodelmod4 \ - nodel2mod1 nodel2mod2 nodel2mod3 \ - nodlopenmod nodlopenmod2 filtmod1 filtmod2 \ -@@ -206,7 +201,10 @@ - tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \ - tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \ - tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \ -- tst-tlsmod15a tst-tlsmod15b \ -+ tst-tlsmod15a tst-tlsmod15b tst-tlsmod16a tst-tlsmod16b \ -+ $(patsubst %,tst-tlsmod17a%,$(tlsmod17a-suffixes)) \ -+ tst-tlsmod17b \ -+ $(patsubst %,tst-tlsmod18a%,$(tlsmod18a-suffixes)) \ - circlemod1 circlemod1a circlemod2 circlemod2a \ - circlemod3 circlemod3a \ - reldep8mod1 reldep8mod2 reldep8mod3 \ -@@ -226,7 +224,6 @@ - ifeq (yesyes,$(have-fpie)$(build-shared)) - modules-names += tst-piemod1 - endif --modules-vis-yes = vismod1 vismod2 vismod3 - modules-execstack-yes = tst-execstack-mod - extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) - # We need this variable to be sure the test modules get the right CPPFLAGS. -@@ -307,7 +304,7 @@ - $(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 | \ - LC_ALL=C \ - sed -e '/^=========/,/^=========/!d;/^=========/d' \ -- -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ -+ -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ - > $@.lds - $(LINK.o) -nostdlib -nostartfiles -shared -o $@ \ - $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \ -@@ -315,7 +312,7 @@ - -Wl,-soname=$(rtld-installed-name) -T $@.lds - rm -f $@.lds - readelf -s $@ \ -- | awk '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }' -+ | $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }' - - # interp.c exists just to get this string into the libraries. - CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \ -@@ -499,6 +496,7 @@ - tst-tlsmod14a.so-no-z-defs = yes - tst-tlsmod14b.so-no-z-defs = yes - tst-tlsmod15a.so-no-z-defs = yes -+tst-tlsmod16b.so-no-z-defs = yes - circlemod2.so-no-z-defs = yes - circlemod3.so-no-z-defs = yes - circlemod3a.so-no-z-defs = yes -@@ -718,6 +716,22 @@ - - - -+$(objpfx)tst-tls16: $(libdl) -+$(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so -+ -+$(objpfx)tst-tls17: $(libdl) -+$(objpfx)tst-tls17.out: $(objpfx)tst-tlsmod17b.so -+$(patsubst %,$(objpfx)tst-tlsmod17a%.os,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.os : tst-tlsmod17a.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $< -+$(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.so: $(objpfx)ld.so -+$(objpfx)tst-tlsmod17b.so: $(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes)) -+ -+$(objpfx)tst-tls18: $(libdl) -+$(objpfx)tst-tls18.out: $(patsubst %,$(objpfx)tst-tlsmod18a%.so,$(tlsmod18a-suffixes)) -+$(patsubst %,$(objpfx)tst-tlsmod18a%.os,$(tlsmod18a-suffixes)): $(objpfx)tst-tlsmod18a%.os : tst-tlsmod18a.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $< -+$(patsubst %,$(objpfx)tst-tlsmod18a%.so,$(tlsmod18a-suffixes)): $(objpfx)tst-tlsmod18a%.so: $(objpfx)ld.so -+ - CFLAGS-tst-align.c = $(stack-align-test-flags) - CFLAGS-tst-align2.c = $(stack-align-test-flags) - CFLAGS-tst-alignmod.c = $(stack-align-test-flags) -@@ -804,7 +818,7 @@ - cmp $@ tst-array5-static.exp > /dev/null - - ifeq (yesyes,$(have-fpie)$(build-shared)) --CFLAGS-tst-pie1.c += -fpie -+CFLAGS-tst-pie1.c += $(pie-ccflag) - - $(objpfx)tst-pie1.out: $(objpfx)tst-pie1 - $(elf-objpfx)$(rtld-installed-name) \ -@@ -845,10 +859,14 @@ - $(objpfx)tst-dlmodcount.out: $(test-modules) - - check-data := $(firstword $(wildcard \ -- $(patsubst %,../scripts/data/localplt-%.data,\ -- $(addsuffix -$(config-os),\ -- $(config-machine) $(base-machine))\ -- generic))) -+ $(foreach D,$(add-ons) scripts,\ -+ $(patsubst %,$(..)$D/data/localplt-%.data,\ -+ $(abi-name) \ -+ $(addsuffix -$(config-os),\ -+ $(config-machine) \ -+ $(base-machine)) \ -+ generic)))) -+ - tests: $(objpfx)check-localplt.out - - ifeq ($(have-thread-library),yes) -@@ -857,9 +875,11 @@ - - $(objpfx)check-localplt.out: $(objpfx)check-localplt \ - $(common-objpfx)libc.so \ -- $(common-objpfx)math/libm.so $(thread-dso) \ -- $(common-objpfx)rt/librt.so \ -- $(common-objpfx)dlfcn/libdl.so \ -+ $(common-objpfx)math/libm.so $(thread-dso) \ -+ $(common-objpfx)rt/librt.so \ -+ $(common-objpfx)dlfcn/libdl.so \ -+ $(common-objpfx)resolv/libresolv.so \ -+ $(common-objpfx)crypt/libcrypt.so \ - $(check-data) - $(dir $<)$(notdir $<) $(filter-out $< $(check-data),$^) | \ - LC_ALL=C sort | \ diff --git a/patches/glibc/2.9/100-ssp-compat.patch b/patches/glibc/2.9/100-ssp-compat.patch deleted file mode 100644 index b51bc33..0000000 --- a/patches/glibc/2.9/100-ssp-compat.patch +++ /dev/null @@ -1,193 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0010_all_glibc-2.7-ssp-compat.patch - --= BEGIN original header =- -Add backwards compat support for gcc-3.x ssp ... older ssp versions -used __guard and __stack_smash_handler symbols while gcc-4.1 and newer -uses __stack_chk_guard and __stack_chk_fail. - --= END original header =- - -diff -durN glibc-2_9.orig/Versions.def glibc-2_9/Versions.def ---- glibc-2_9.orig/Versions.def 2008-08-01 19:13:40.000000000 +0200 -+++ glibc-2_9/Versions.def 2009-02-02 22:00:33.000000000 +0100 -@@ -113,6 +113,9 @@ - GLIBC_2.0 - GLIBC_2.1 - GLIBC_2.3 -+%ifdef ENABLE_OLD_SSP_COMPAT -+ GLIBC_2.3.2 -+%endif - GLIBC_2.4 - GLIBC_PRIVATE - } -diff -durN glibc-2_9.orig/config.h.in glibc-2_9/config.h.in ---- glibc-2_9.orig/config.h.in 2007-03-26 22:40:08.000000000 +0200 -+++ glibc-2_9/config.h.in 2009-02-02 22:00:32.000000000 +0100 -@@ -42,6 +42,9 @@ - assembler instructions per line. Default is `;' */ - #undef ASM_LINE_SEP - -+/* Define if we want to enable support for old ssp symbols */ -+#undef ENABLE_OLD_SSP_COMPAT -+ - /* Define if not using ELF, but `.init' and `.fini' sections are available. */ - #undef HAVE_INITFINI - -diff -durN glibc-2_9.orig/configure glibc-2_9/configure ---- glibc-2_9.orig/configure 2008-11-11 10:50:11.000000000 +0100 -+++ glibc-2_9/configure 2009-02-02 22:00:32.000000000 +0100 -@@ -1380,6 +1380,9 @@ - --enable-kernel=VERSION compile for compatibility with kernel not older than - VERSION - --enable-all-warnings enable all useful warnings gcc can issue -+ --disable-old-ssp-compat -+ enable support for older ssp symbols -+ [default=no] - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -6470,6 +6473,20 @@ - echo "${ECHO_T}$libc_cv_ssp" >&6; } - - -+# Check whether --enable-old-ssp-compat or --disable-old-ssp-compat was given. -+if test "${enable_old_ssp_compat+set}" = set; then -+ enableval="$enable_old_ssp_compat" -+ enable_old_ssp_compat=$enableval -+else -+ enable_old_ssp_compat=no -+fi; -+if test "x$enable_old_ssp_compat" = "xyes"; then -+ cat >>confdefs.h <<\_ACEOF -+#define ENABLE_OLD_SSP_COMPAT 1 -+_ACEOF -+ -+fi -+ - { echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5 - echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6; } - if test "${libc_cv_gnu89_inline+set}" = set; then -diff -durN glibc-2_9.orig/configure.in glibc-2_9/configure.in ---- glibc-2_9.orig/configure.in 2008-11-11 10:50:11.000000000 +0100 -+++ glibc-2_9/configure.in 2009-02-02 22:00:32.000000000 +0100 -@@ -1647,6 +1647,15 @@ - rm -f conftest*]) - AC_SUBST(libc_cv_ssp) - -+AC_ARG_ENABLE([old-ssp-compat], -+ AC_HELP_STRING([--enable-old-ssp-compat], -+ [enable support for older ssp symbols @<:@default=no@:>@]), -+ [enable_old_ssp_compat=$enableval], -+ [enable_old_ssp_compat=no]) -+if test "x$enable_old_ssp_compat" = "xyes"; then -+ AC_DEFINE(ENABLE_OLD_SSP_COMPAT) -+fi -+ - AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl - cat > conftest.c < -Date: Thu, 8 Jan 2009 00:02:38 +0000 -Subject: [PATCH] (_nss_dns_gethostbyaddr2_r): Check and adjust the buffer alignment. - --= END original header =- - -diff -durN glibc-2_9.orig/resolv/nss_dns/dns-host.c glibc-2_9/resolv/nss_dns/dns-host.c ---- glibc-2_9.orig/resolv/nss_dns/dns-host.c 2008-11-12 08:52:20.000000000 +0100 -+++ glibc-2_9/resolv/nss_dns/dns-host.c 2009-02-02 22:00:36.000000000 +0100 -@@ -364,6 +364,19 @@ - int n, status; - int olderr = errno; - -+ uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data); -+ buffer += pad; -+ buflen = buflen > pad ? buflen - pad : 0; -+ -+ if (__builtin_expect (buflen < sizeof (struct host_data), 0)) -+ { -+ *errnop = ERANGE; -+ *h_errnop = NETDB_INTERNAL; -+ return NSS_STATUS_TRYAGAIN; -+ } -+ -+ host_data = (struct host_data *) buffer; -+ - if (__res_maybe_init (&_res, 0) == -1) - return NSS_STATUS_UNAVAIL; - diff --git a/patches/glibc/2.9/130-add_prio-macros.patch b/patches/glibc/2.9/130-add_prio-macros.patch deleted file mode 100644 index ff5bf5b..0000000 --- a/patches/glibc/2.9/130-add_prio-macros.patch +++ /dev/null @@ -1,26 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0051_all_glibc-2.9-add_prio-macros.patch - --= BEGIN original header =- -http://sourceware.org/ml/libc-alpha/2009-01/msg00003.html - -From a1737958e074e8f990760acc8abeb0c23715a859 Mon Sep 17 00:00:00 2001 -From: Roland McGrath -Date: Sat, 3 Jan 2009 21:04:01 +0000 -Subject: [PATCH] 2009-01-03 Samuel Thibault - - * bits/resource.h (PRIO_PROCESS, PRIO_PGRP, PRIO_USER): Add macros. --= END original header =- - -diff -durN glibc-2_9.orig/bits/resource.h glibc-2_9/bits/resource.h ---- glibc-2_9.orig/bits/resource.h 2006-03-05 23:48:10.000000000 +0100 -+++ glibc-2_9/bits/resource.h 2009-02-02 22:00:38.000000000 +0100 -@@ -185,6 +185,9 @@ - enum __priority_which - { - PRIO_PROCESS = 0, /* WHO is a process ID. */ -+#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -+#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -+#define PRIO_USER PRIO_USER - }; diff --git a/patches/glibc/2.9/140-regex-BZ9697.patch b/patches/glibc/2.9/140-regex-BZ9697.patch deleted file mode 100644 index 73b0c23..0000000 --- a/patches/glibc/2.9/140-regex-BZ9697.patch +++ /dev/null @@ -1,111 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0052_all_glibc-2.9-regex-BZ9697.patch - --= BEGIN original header =- -http://sourceware.org/ml/libc-alpha/2009-01/msg00005.html - -From ea8ca0dfcbf2721bcf2c08ce3c01d5764b827572 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper -Date: Thu, 8 Jan 2009 00:42:28 +0000 -Subject: [PATCH] (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET handling. - --= END original header =- - -diff -durN glibc-2_9.orig/posix/regcomp.c glibc-2_9/posix/regcomp.c ---- glibc-2_9.orig/posix/regcomp.c 2008-05-15 05:07:21.000000000 +0200 -+++ glibc-2_9/posix/regcomp.c 2009-02-02 22:00:41.000000000 +0100 -@@ -350,47 +350,67 @@ - #ifdef RE_ENABLE_I18N - else if (type == COMPLEX_BRACKET) - { -- int i; - re_charset_t *cset = dfa->nodes[node].opr.mbcset; -- if (cset->non_match || cset->ncoll_syms || cset->nequiv_classes -- || cset->nranges || cset->nchar_classes) -- { -+ int i; -+ - # ifdef _LIBC -- if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0) -+ /* See if we have to try all bytes which start multiple collation -+ elements. -+ e.g. In da_DK, we want to catch 'a' since "aa" is a valid -+ collation element, and don't catch 'b' since 'b' is -+ the only collation element which starts from 'b' (and -+ it is caught by SIMPLE_BRACKET). */ -+ if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0 -+ && (cset->ncoll_syms || cset->nranges)) - { -- /* In this case we want to catch the bytes which are -- the first byte of any collation elements. -- e.g. In da_DK, we want to catch 'a' since "aa" -- is a valid collation element, and don't catch -- 'b' since 'b' is the only collation element -- which starts from 'b'. */ - const int32_t *table = (const int32_t *) - _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); - for (i = 0; i < SBC_MAX; ++i) - if (table[i] < 0) - re_set_fastmap (fastmap, icase, i); - } --# else -- if (dfa->mb_cur_max > 1) -- for (i = 0; i < SBC_MAX; ++i) -- if (__btowc (i) == WEOF) -- re_set_fastmap (fastmap, icase, i); --# endif /* not _LIBC */ -- } -- for (i = 0; i < cset->nmbchars; ++i) -+# endif /* _LIBC */ -+ -+ /* See if we have to start the match at all multibyte characters, -+ i.e. where we would not find an invalid sequence. This only -+ applies to multibyte character sets; for single byte character -+ sets, the SIMPLE_BRACKET again suffices. */ -+ if (dfa->mb_cur_max > 1 -+ && (cset->nchar_classes || cset->non_match -+# ifdef _LIBC -+ || cset->nequiv_classes -+# endif /* _LIBC */ -+ )) - { -- char buf[256]; -- mbstate_t state; -- memset (&state, '\0', sizeof (state)); -- if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) -- re_set_fastmap (fastmap, icase, *(unsigned char *) buf); -- if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) -+ unsigned char c = 0; -+ do - { -- if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) -- != (size_t) -1) -- re_set_fastmap (fastmap, 0, *(unsigned char *) buf); -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+ if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2) -+ re_set_fastmap (fastmap, false, (int) c); - } -+ while (++c != 0); - } -+ -+ else -+ { -+ /* ... Else catch all bytes which can start the mbchars. */ -+ for (i = 0; i < cset->nmbchars; ++i) -+ { -+ char buf[256]; -+ mbstate_t state; -+ memset (&state, '\0', sizeof (state)); -+ if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) -+ re_set_fastmap (fastmap, icase, *(unsigned char *) buf); -+ if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) -+ { -+ if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) -+ != (size_t) -1) -+ re_set_fastmap (fastmap, false, *(unsigned char *) buf); -+ } -+ } -+ } - } - #endif /* RE_ENABLE_I18N */ - else if (type == OP_PERIOD diff --git a/patches/glibc/2.9/150-regex-BZ697.patch b/patches/glibc/2.9/150-regex-BZ697.patch deleted file mode 100644 index 5b70629..0000000 --- a/patches/glibc/2.9/150-regex-BZ697.patch +++ /dev/null @@ -1,28 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0053_all_glibc-2.9-regex-BZ697.patch - --= BEGIN original header =- -http://sourceware.org/ml/libc-alpha/2009-01/msg00006.html - -From 37bdc055ceeb6b1144c07448a7210d9ab3fbb2f5 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper -Date: Thu, 8 Jan 2009 00:47:05 +0000 -Subject: [PATCH] (prune_impossible_nodes): Handle sifted_states[0] being NULL also if - there are no backreferences. - --= END original header =- - -diff -durN glibc-2_9.orig/posix/regexec.c glibc-2_9/posix/regexec.c ---- glibc-2_9.orig/posix/regexec.c 2007-10-12 19:47:13.000000000 +0200 -+++ glibc-2_9/posix/regexec.c 2009-02-02 22:00:43.000000000 +0100 -@@ -1004,6 +1004,11 @@ - re_node_set_free (&sctx.limits); - if (BE (ret != REG_NOERROR, 0)) - goto free_return; -+ if (sifted_states[0] == NULL) -+ { -+ ret = REG_NOMATCH; -+ goto free_return; -+ } - } - re_free (mctx->state_log); - mctx->state_log = sifted_states; diff --git a/patches/glibc/2.9/160-i386-x86_64-revert-clone-cfi.patch b/patches/glibc/2.9/160-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index 9ae9a58..0000000 --- a/patches/glibc/2.9/160-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,53 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch - --= BEGIN original header =- -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S 2006-12-04 00:12:36.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S 2009-02-02 22:00:45.000000000 +0100 -@@ -120,9 +120,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S 2006-12-04 00:12:36.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-02-02 22:00:45.000000000 +0100 -@@ -89,9 +89,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch b/patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch deleted file mode 100644 index 7a4f923..0000000 --- a/patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch +++ /dev/null @@ -1,35 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0080_all_glibc-2.10-dns-no-gethostbyname4.patch - --= BEGIN original header =- -http://sourceware.org/bugzilla/show_bug.cgi?id=7060 -http://bugs.gentoo.org/250468 - -The gethostbyname4() lookup method is problematic since it fires out both -the A and AAAA DNS queries in parallel and over the same socket. This -should work in theory, but it turns out that many cheap DSL modems and -similar devices have buggy DNS servers - if the AAAA query arrives too -quickly after the A query, the server will generate only a single reply -with the A query id but returning an error for the AAAA query; we get -stuck waiting for the second reply. - -For gethostbyname4() users affected, disabling IPv6 in the system might -work around the issue, unfortunately it only helps with applications -using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect -to do that. - -Real fix should be using separate ports for the A and AAAA queries. - --= END original header =- - -diff -durN glibc-2_9.orig/resolv/Versions glibc-2_9/resolv/Versions ---- glibc-2_9.orig/resolv/Versions 2008-08-01 19:15:34.000000000 +0200 -+++ glibc-2_9/resolv/Versions 2009-02-02 22:00:46.000000000 +0100 -@@ -102,7 +102,7 @@ - _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r; - _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r; - _nss_dns_gethostbyaddr2_r; -- _nss_dns_gethostbyname4_r; -+# _nss_dns_gethostbyname4_r; - } - } - diff --git a/patches/glibc/2.9/180-math-tests.patch b/patches/glibc/2.9/180-math-tests.patch deleted file mode 100644 index 750ed1a..0000000 --- a/patches/glibc/2.9/180-math-tests.patch +++ /dev/null @@ -1,72 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/0090_all_glibc-math-tests.patch - --= BEGIN original header =- -From: "Joseph S. Myers" -To: libc-alpha at sourceware dot org -Date: Tue, 15 Jul 2008 14:43:04 +0000 (UTC) -Subject: expm1 ulps - -If you test glibc on i686 with GCC 4.3, you get a test-ildoubl failure: - -Failure: Test: expm1 (1) == M_El - 1.0 -Result: - is: 1.71828182845904523532e+00 0xd.bf0a8b14576953500000p-3 - should be: 1.71828182845904523543e+00 0xd.bf0a8b14576953600000p-3 - difference: 1.08420217248550443401e-19 0x8.00000000000000000000p-66 - ulp : 1.0000 - max.ulp : 0.0000 -Maximal error of `expm1' - is : 1 ulp - accepted: 0 ulp - -What happens is that the inline expansion of expm1l uses __builtin_expm1l, -and GCC 4.3 optimizes calls to __builtin_expm1l with constant argument to -a correctly rounded result using MPFR. The result returned is thus the -value of e-1 rounded once to long double precision. However, the test -expects M_El - 1.0, and the result of rounding e to long double precision, -then subtracting 1, differs in the last place from the result of rounding -e-1 to long double precision (the latter has smaller exponent, and the -last bit is 1). - -There are two obvious approaches possible to fixing this. The first patch -below changes the expectation to a decimal expansion for e-1 (taken from -that of M_El) rather than doing arithmetic in the expected value. This in -turn requires ulps to be set for the out-of-line version of expm1. It -might also need ulps to be set for the inline version for older compilers -if they should continue to pass the test, and possibly for other targets. -The second patch below takes the alternative approach of keeping the -existing expectation (which has the wrong bit in the last place) and -setting ulps for the inline expansion of expm1, which avoids the risk of -breaking the test for other targets. - -2008-07-15 Joseph Myers - - * sysdeps/i386/fpu/libm-test-ulps: Add inline long double ulps for - expm1. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/i386/fpu/libm-test-ulps glibc-2_9/sysdeps/i386/fpu/libm-test-ulps ---- glibc-2_9.orig/sysdeps/i386/fpu/libm-test-ulps 2006-01-15 18:59:37.000000000 +0100 -+++ glibc-2_9/sysdeps/i386/fpu/libm-test-ulps 2009-02-02 22:00:47.000000000 +0100 -@@ -453,6 +453,10 @@ - ildouble: 8 - ldouble: 8 - -+# expm1 -+Test "expm1 (1) == M_El - 1.0": -+ildouble: 1 -+ - # gamma - Test "gamma (-0.5) == log(2*sqrt(pi))": - double: 1 -@@ -1134,6 +1138,9 @@ - ildouble: 8 - ldouble: 8 - -+Function: "expm1": -+ildouble: 1 -+ - Function: "gamma": - double: 1 - idouble: 1 diff --git a/patches/glibc/2.9/190-queue-header-updates.patch b/patches/glibc/2.9/190-queue-header-updates.patch deleted file mode 100644 index 446261d..0000000 --- a/patches/glibc/2.9/190-queue-header-updates.patch +++ /dev/null @@ -1,89 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1010_all_glibc-queue-header-updates.patch - --= BEGIN original header =- -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - --= END original header =- - -diff -durN glibc-2_9.orig/misc/sys/queue.h glibc-2_9/misc/sys/queue.h ---- glibc-2_9.orig/misc/sys/queue.h 2008-03-05 06:50:30.000000000 +0100 -+++ glibc-2_9/misc/sys/queue.h 2009-02-02 22:00:48.000000000 +0100 -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -286,6 +307,11 @@ - #define STAILQ_FIRST(head) ((head)->stqh_first) - #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - - /* - * Simple queue definitions. -@@ -437,11 +463,22 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/patches/glibc/2.9/200-awk-in-C-locale.patch b/patches/glibc/2.9/200-awk-in-C-locale.patch deleted file mode 100644 index 9dcb9ae..0000000 --- a/patches/glibc/2.9/200-awk-in-C-locale.patch +++ /dev/null @@ -1,23 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1018_all_glibc-awk-in-C-locale.patch - --= BEGIN original header =- -http://bugs.gentoo.org/252802 - -2008-12-29 Mike Frysinger - - * iconvdata/Makefile (iconv-rules): Use LC_ALL=C when running awk script. - --= END original header =- - -diff -durN glibc-2_9.orig/iconvdata/Makefile glibc-2_9/iconvdata/Makefile ---- glibc-2_9.orig/iconvdata/Makefile 2008-05-15 03:54:31.000000000 +0200 -+++ glibc-2_9/iconvdata/Makefile 2009-02-02 22:00:50.000000000 +0100 -@@ -286,7 +286,7 @@ - { echo $(filter-out lib%, $(modules)); \ - echo 8bit $(gen-8bit-modules); \ - echo 8bit-gap $(gen-8bit-gap-modules); } | \ -- $(AWK) 'NR == 1 { \ -+ LC_ALL=C $(AWK) 'NR == 1 { \ - for (i = 1; i <= NF; i++) { \ - printf "%s-routines := %s\n", $$i, tolower($$i); \ - printf "%s-map := gconv.map\n", $$i; \ diff --git a/patches/glibc/2.9/210-2.9-strlen-hack.patch b/patches/glibc/2.9/210-2.9-strlen-hack.patch deleted file mode 100644 index 6071724..0000000 --- a/patches/glibc/2.9/210-2.9-strlen-hack.patch +++ /dev/null @@ -1,109 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1020_all_glibc-2.9-strlen-hack.patch - --= BEGIN original header =- -http://sourceware.org/bugzilla/show_bug.cgi?id=5807 -http://www.cl.cam.ac.uk/~am21/progtricks.html - --= END original header =- - -diff -durN glibc-2_9.orig/string/strlen.c glibc-2_9/string/strlen.c ---- glibc-2_9.orig/string/strlen.c 2005-12-14 12:09:07.000000000 +0100 -+++ glibc-2_9/string/strlen.c 2009-02-02 22:00:51.000000000 +0100 -@@ -32,7 +32,7 @@ - { - const char *char_ptr; - const unsigned long int *longword_ptr; -- unsigned long int longword, magic_bits, himagic, lomagic; -+ unsigned long int longword, himagic, lomagic; - - /* Handle the first few characters by reading one character at a time. - Do this until CHAR_PTR is aligned on a longword boundary. */ -@@ -42,28 +42,14 @@ - if (*char_ptr == '\0') - return char_ptr - str; - -- /* All these elucidatory comments refer to 4-byte longwords, -- but the theory applies equally well to 8-byte longwords. */ -- - longword_ptr = (unsigned long int *) char_ptr; - -- /* Bits 31, 24, 16, and 8 of this number are zero. Call these bits -- the "holes." Note that there is a hole just to the left of -- each byte, with an extra at the end: -- -- bits: 01111110 11111110 11111110 11111111 -- bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD -- -- The 1-bits make sure that carries propagate to the next 0-bit. -- The 0-bits provide holes for carries to fall into. */ -- magic_bits = 0x7efefeffL; - himagic = 0x80808080L; - lomagic = 0x01010101L; - if (sizeof (longword) > 4) - { - /* 64-bit version of the magic. */ - /* Do the shift in two steps to avoid a warning if long has 32 bits. */ -- magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; - himagic = ((himagic << 16) << 16) | himagic; - lomagic = ((lomagic << 16) << 16) | lomagic; - } -@@ -75,56 +61,12 @@ - if *any of the four* bytes in the longword in question are zero. */ - for (;;) - { -- /* We tentatively exit the loop if adding MAGIC_BITS to -- LONGWORD fails to change any of the hole bits of LONGWORD. -- -- 1) Is this safe? Will it catch all the zero bytes? -- Suppose there is a byte with all zeros. Any carry bits -- propagating from its left will fall into the hole at its -- least significant bit and stop. Since there will be no -- carry from its most significant bit, the LSB of the -- byte to the left will be unchanged, and the zero will be -- detected. -- -- 2) Is this worthwhile? Will it ignore everything except -- zero bytes? Suppose every byte of LONGWORD has a bit set -- somewhere. There will be a carry into bit 8. If bit 8 -- is set, this will carry into bit 16. If bit 8 is clear, -- one of bits 9-15 must be set, so there will be a carry -- into bit 16. Similarly, there will be a carry into bit -- 24. If one of bits 24-30 is set, there will be a carry -- into bit 31, so all of the hole bits will be changed. -- -- The one misfire occurs when bits 24-30 are clear and bit -- 31 is set; in this case, the hole at bit 31 is not -- changed. If we had access to the processor carry flag, -- we could close this loophole by putting the fourth hole -- at bit 32! -- -- So it ignores everything except 128's, when they're aligned -- properly. */ -- - longword = *longword_ptr++; - -- if ( --#if 0 -- /* Add MAGIC_BITS to LONGWORD. */ -- (((longword + magic_bits) -- -- /* Set those bits that were unchanged by the addition. */ -- ^ ~longword) -- -- /* Look at only the hole bits. If any of the hole bits -- are unchanged, most likely one of the bytes was a -- zero. */ -- & ~magic_bits) --#else -- ((longword - lomagic) & himagic) --#endif -- != 0) -+ /* This hack taken from Alan Mycroft's HAKMEMC postings. -+ See: http://www.cl.cam.ac.uk/~am21/progtricks.html */ -+ if (((longword - lomagic) & ~longword & himagic) != 0) - { -- /* Which of the bytes was the zero? If none of them were, it was -- a misfire; continue the search. */ - - const char *cp = (const char *) (longword_ptr - 1); - diff --git a/patches/glibc/2.9/220-manual-no-perl.patch b/patches/glibc/2.9/220-manual-no-perl.patch deleted file mode 100644 index ec13ca9..0000000 --- a/patches/glibc/2.9/220-manual-no-perl.patch +++ /dev/null @@ -1,29 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1030_all_glibc-manual-no-perl.patch - --= BEGIN original header =- -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - --= END original header =- - -diff -durN glibc-2_9.orig/manual/Makefile glibc-2_9/manual/Makefile ---- glibc-2_9.orig/manual/Makefile 2006-01-08 07:43:47.000000000 +0100 -+++ glibc-2_9/manual/Makefile 2009-02-02 22:00:53.000000000 +0100 -@@ -104,9 +104,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/patches/glibc/2.9/230-2.3.3-localedef-fix-trampoline.patch b/patches/glibc/2.9/230-2.3.3-localedef-fix-trampoline.patch deleted file mode 100644 index 3ae9545..0000000 --- a/patches/glibc/2.9/230-2.3.3-localedef-fix-trampoline.patch +++ /dev/null @@ -1,74 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1040_all_2.3.3-localedef-fix-trampoline.patch - --= BEGIN original header =- -#! /bin/sh -e - -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - --= END original header =- - -diff -durN glibc-2_9.orig/locale/programs/3level.h glibc-2_9/locale/programs/3level.h ---- glibc-2_9.orig/locale/programs/3level.h 2007-07-16 02:54:59.000000000 +0200 -+++ glibc-2_9/locale/programs/3level.h 2009-02-02 22:00:54.000000000 +0100 -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/patches/glibc/2.9/240-i386-LOAD_PIC_REG.patch b/patches/glibc/2.9/240-i386-LOAD_PIC_REG.patch deleted file mode 100644 index 1c69691..0000000 --- a/patches/glibc/2.9/240-i386-LOAD_PIC_REG.patch +++ /dev/null @@ -1,23 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1050_all_glibc-i386-LOAD_PIC_REG.patch - --= BEGIN original header =- -From e41177ea18a77a7f62328293b4fd49ae17482e77 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper -Date: Sat, 6 Dec 2008 00:15:17 +0000 -Subject: [PATCH] (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG instead of doing things manually. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/i386/dl-tlsdesc.S glibc-2_9/sysdeps/i386/dl-tlsdesc.S ---- glibc-2_9.orig/sysdeps/i386/dl-tlsdesc.S 2008-05-13 07:33:06.000000000 +0200 -+++ glibc-2_9/sysdeps/i386/dl-tlsdesc.S 2009-02-02 22:00:56.000000000 +0100 -@@ -128,8 +128,7 @@ - .Lslow: - cfi_adjust_cfa_offset (28) - movl %ebx, 16(%esp) -- call __i686.get_pc_thunk.bx -- addl $_GLOBAL_OFFSET_TABLE_, %ebx -+ LOAD_PIC_REG (bx) - call ___tls_get_addr@PLT - movl 16(%esp), %ebx - jmp .Lret diff --git a/patches/glibc/2.9/250-resolv-dynamic.patch b/patches/glibc/2.9/250-resolv-dynamic.patch deleted file mode 100644 index 66c3370..0000000 --- a/patches/glibc/2.9/250-resolv-dynamic.patch +++ /dev/null @@ -1,44 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1055_all_glibc-resolv-dynamic.patch - --= BEGIN original header =- -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - --= END original header =- - -diff -durN glibc-2_9.orig/resolv/res_libc.c glibc-2_9/resolv/res_libc.c ---- glibc-2_9.orig/resolv/res_libc.c 2006-10-11 10:59:28.000000000 +0200 -+++ glibc-2_9/resolv/res_libc.c 2009-02-02 22:00:57.000000000 +0100 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) { - __res_iclose (resp, true); diff --git a/patches/glibc/2.9/260-fadvise64_64.patch b/patches/glibc/2.9/260-fadvise64_64.patch deleted file mode 100644 index 3cd0020..0000000 --- a/patches/glibc/2.9/260-fadvise64_64.patch +++ /dev/null @@ -1,30 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1070_all_glibc-fadvise64_64.patch - --= BEGIN original header =- -ripped from Debian - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200 -+++ glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-02-02 22:00:58.000000000 +0100 -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/patches/glibc/2.9/270-ldbl-nexttowardf.patch b/patches/glibc/2.9/270-ldbl-nexttowardf.patch deleted file mode 100644 index a0ffdf9..0000000 --- a/patches/glibc/2.9/270-ldbl-nexttowardf.patch +++ /dev/null @@ -1,68 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1073_all_glibc-ldbl-nexttowardf.patch - --= BEGIN original header =- -ripped from Debian - -this change was made to generic __nexttowardf, but not the long double version - -2008-05-05 Aurelien Jarno - - * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Include float.h. - (__nexttowardf): Use math_opt_barrier and - math_force_eval macros. If FLT_EVAL_METHOD is not 0, force - x to float using asm. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/ieee754/ldbl-128/s_nexttowardf.c glibc-2_9/sysdeps/ieee754/ldbl-128/s_nexttowardf.c ---- glibc-2_9.orig/sysdeps/ieee754/ldbl-128/s_nexttowardf.c 1999-07-14 02:09:42.000000000 +0200 -+++ glibc-2_9/sysdeps/ieee754/ldbl-128/s_nexttowardf.c 2009-02-02 22:00:59.000000000 +0100 -@@ -19,7 +19,8 @@ - #endif - - #include "math.h" --#include "math_private.h" -+#include -+#include - - #ifdef __STDC__ - float __nexttowardf(float x, long double y) -@@ -44,10 +45,12 @@ - return x+y; - if((long double) x==y) return y; /* x=y, return y */ - if(ix==0) { /* x == 0 */ -- float x2; -+ float u; - SET_FLOAT_WORD(x,(u_int32_t)((hy>>32)&0x80000000)|1);/* return +-minsub*/ -- x2 = x*x; -- if(x2==x) return x2; else return x; /* raise underflow flag */ -+ u = math_opt_barrier (x); -+ u = u * u; -+ math_force_eval (u); /* raise underflow flag */ -+ return x; - } - if(hx>=0) { /* x > 0 */ - if(hy<0||(ix>>23)>(iy>>48)-0x3f80 -@@ -67,13 +70,16 @@ - } - } - hy = hx&0x7f800000; -- if(hy>=0x7f800000) return x+x; /* overflow */ -+ if(hy>=0x7f800000) { -+ x = x+x; /* overflow */ -+ if (FLT_EVAL_METHOD != 0) -+ /* Force conversion to float. */ -+ asm ("" : "+m"(x)); -+ return x; -+ } - if(hy<0x00800000) { /* underflow */ -- float x2 = x*x; -- if(x2!=x) { /* raise underflow flag */ -- SET_FLOAT_WORD(x2,hx); -- return x2; -- } -+ float u = x*x; -+ math_force_eval (u); /* raise underflow flag */ - } - SET_FLOAT_WORD(x,hx); - return x; diff --git a/patches/glibc/2.9/280-section-comments.patch b/patches/glibc/2.9/280-section-comments.patch deleted file mode 100644 index 13b309e..0000000 --- a/patches/glibc/2.9/280-section-comments.patch +++ /dev/null @@ -1,29 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1075_all_glibc-section-comments.patch - --= BEGIN original header =- -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - --= END original header =- - -diff -durN glibc-2_9.orig/include/libc-symbols.h glibc-2_9/include/libc-symbols.h ---- glibc-2_9.orig/include/libc-symbols.h 2006-11-09 16:57:12.000000000 +0100 -+++ glibc-2_9/include/libc-symbols.h 2009-02-02 22:01:00.000000000 +0100 -@@ -240,12 +240,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/patches/glibc/2.9/290-no-inline-gmon.patch b/patches/glibc/2.9/290-no-inline-gmon.patch deleted file mode 100644 index e9df564..0000000 --- a/patches/glibc/2.9/290-no-inline-gmon.patch +++ /dev/null @@ -1,38 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1080_all_glibc-no-inline-gmon.patch - --= BEGIN original header =- -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/generic/initfini.c glibc-2_9/sysdeps/generic/initfini.c ---- glibc-2_9.orig/sysdeps/generic/initfini.c 2007-06-17 20:02:40.000000000 +0200 -+++ glibc-2_9/sysdeps/generic/initfini.c 2009-02-02 22:01:01.000000000 +0100 -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/patches/glibc/2.9/300-2.9-check_native-headers.patch b/patches/glibc/2.9/300-2.9-check_native-headers.patch deleted file mode 100644 index c3b648b..0000000 --- a/patches/glibc/2.9/300-2.9-check_native-headers.patch +++ /dev/null @@ -1,22 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1085_all_glibc-2.9-check_native-headers.patch - --= BEGIN original header =- -many ports hit this warning: -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' - -snipped from suse - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/check_native.c glibc-2_9/sysdeps/unix/sysv/linux/check_native.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/check_native.c 2007-11-24 04:12:17.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/check_native.c 2009-02-02 22:01:03.000000000 +0100 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/patches/glibc/2.9/310-2.3.6-fix-pr631.patch b/patches/glibc/2.9/310-2.3.6-fix-pr631.patch deleted file mode 100644 index 4147a6d..0000000 --- a/patches/glibc/2.9/310-2.3.6-fix-pr631.patch +++ /dev/null @@ -1,50 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1090_all_glibc-2.3.6-fix-pr631.patch - --= BEGIN original header =- -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 - --= END original header =- - -diff -durN glibc-2_9.orig/Makeconfig glibc-2_9/Makeconfig ---- glibc-2_9.orig/Makeconfig 2009-02-02 22:00:36.000000000 +0100 -+++ glibc-2_9/Makeconfig 2009-02-02 22:01:04.000000000 +0100 -@@ -509,7 +509,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... -diff -durN glibc-2_9.orig/elf/Makefile glibc-2_9/elf/Makefile ---- glibc-2_9.orig/elf/Makefile 2008-10-31 21:35:11.000000000 +0100 -+++ glibc-2_9/elf/Makefile 2009-02-02 22:01:04.000000000 +0100 -@@ -121,6 +121,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.9/320-2.9-assume-pipe2.patch b/patches/glibc/2.9/320-2.9-assume-pipe2.patch deleted file mode 100644 index e20fa94..0000000 --- a/patches/glibc/2.9/320-2.9-assume-pipe2.patch +++ /dev/null @@ -1,59 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1095_all_glibc-2.9-assume-pipe2.patch - --= BEGIN original header =- -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - --= END original header =- - -diff -durN glibc-2_9.orig/include/unistd.h glibc-2_9/include/unistd.h ---- glibc-2_9.orig/include/unistd.h 2008-07-27 20:23:17.000000000 +0200 -+++ glibc-2_9/include/unistd.h 2009-02-02 22:01:05.000000000 +0100 -@@ -167,9 +167,6 @@ - extern int __pause_nocancel (void) attribute_hidden; - - extern int __have_sock_cloexec; --/* At lot of other functionality became available at the same time as -- SOCK_CLOEXEC. Avoid defining separate variables for all of them -- unless it is really necessary. */ --#define __have_pipe2 __have_sock_cloexec -+extern int __have_pipe2; - - #endif -diff -durN glibc-2_9.orig/socket/have_sock_cloexec.c glibc-2_9/socket/have_sock_cloexec.c ---- glibc-2_9.orig/socket/have_sock_cloexec.c 2008-07-25 18:46:23.000000000 +0200 -+++ glibc-2_9/socket/have_sock_cloexec.c 2009-02-02 22:01:05.000000000 +0100 -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/patches/glibc/2.9/330-2.3.3-china.patch b/patches/glibc/2.9/330-2.3.3-china.patch deleted file mode 100644 index be0cc82..0000000 --- a/patches/glibc/2.9/330-2.3.3-china.patch +++ /dev/null @@ -1,35 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1100_all_glibc-2.3.3-china.patch - --= BEGIN original header =- --= END original header =- - -diff -durN glibc-2_9.orig/localedata/locales/zh_TW glibc-2_9/localedata/locales/zh_TW ---- glibc-2_9.orig/localedata/locales/zh_TW 2004-11-01 00:42:28.000000000 +0100 -+++ glibc-2_9/localedata/locales/zh_TW 2009-02-02 22:01:06.000000000 +0100 -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/patches/glibc/2.9/340-new-valencian-locale.patch b/patches/glibc/2.9/340-new-valencian-locale.patch deleted file mode 100644 index 4aa6caa..0000000 --- a/patches/glibc/2.9/340-new-valencian-locale.patch +++ /dev/null @@ -1,120 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1103_all_glibc-new-valencian-locale.patch - --= BEGIN original header =- -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - --= END original header =- - -diff -durN glibc-2_9.orig/localedata/SUPPORTED glibc-2_9/localedata/SUPPORTED ---- glibc-2_9.orig/localedata/SUPPORTED 2008-09-16 23:24:57.000000000 +0200 -+++ glibc-2_9/localedata/SUPPORTED 2009-02-02 22:01:08.000000000 +0100 -@@ -72,6 +72,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ -diff -durN glibc-2_9.orig/localedata/locales/ca_ES@valencia glibc-2_9/localedata/locales/ca_ES@valencia ---- glibc-2_9.orig/localedata/locales/ca_ES@valencia 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2_9/localedata/locales/ca_ES@valencia 2009-02-02 22:01:08.000000000 +0100 -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/patches/glibc/2.9/360-2.8-nscd-one-fork.patch b/patches/glibc/2.9/360-2.8-nscd-one-fork.patch deleted file mode 100644 index c9bf014..0000000 --- a/patches/glibc/2.9/360-2.8-nscd-one-fork.patch +++ /dev/null @@ -1,45 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1160_all_glibc-2.8-nscd-one-fork.patch - --= BEGIN original header =- -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - --= END original header =- - -diff -durN glibc-2_9.orig/nscd/nscd.c glibc-2_9/nscd/nscd.c ---- glibc-2_9.orig/nscd/nscd.c 2008-03-29 19:08:12.000000000 +0100 -+++ glibc-2_9/nscd/nscd.c 2009-02-02 22:01:10.000000000 +0100 -@@ -179,6 +179,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -228,12 +231,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -242,9 +239,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/patches/glibc/2.9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch b/patches/glibc/2.9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch deleted file mode 100644 index 46441d2..0000000 --- a/patches/glibc/2.9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch +++ /dev/null @@ -1,249 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/1503_hppa_glibc-2.7-hppa-nptl-carlos.patch - --= BEGIN original header =- --= END original header =- - -diff -durN glibc-2_9.orig/elf/rtld.c glibc-2_9/elf/rtld.c ---- glibc-2_9.orig/elf/rtld.c 2009-02-02 22:00:34.000000000 +0100 -+++ glibc-2_9/elf/rtld.c 2009-02-02 22:01:12.000000000 +0100 -@@ -386,14 +386,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; -diff -durN glibc-2_9.orig/include/atomic.h glibc-2_9/include/atomic.h ---- glibc-2_9.orig/include/atomic.h 2006-12-21 22:44:00.000000000 +0100 -+++ glibc-2_9/include/atomic.h 2009-02-02 22:01:12.000000000 +0100 -@@ -174,7 +174,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -195,7 +195,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -213,7 +213,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -231,7 +231,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -248,7 +248,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -266,7 +266,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -350,7 +350,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -389,7 +389,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -407,7 +407,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -423,7 +423,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -441,7 +441,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -457,7 +457,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -473,7 +473,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ -diff -durN glibc-2_9.orig/nptl/Makefile glibc-2_9/nptl/Makefile ---- glibc-2_9.orig/nptl/Makefile 2008-11-12 14:38:23.000000000 +0100 -+++ glibc-2_9/nptl/Makefile 2009-02-02 22:01:12.000000000 +0100 -@@ -262,9 +262,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -423,6 +423,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror -diff -durN glibc-2_9.orig/nptl/pthread_barrier_wait.c glibc-2_9/nptl/pthread_barrier_wait.c ---- glibc-2_9.orig/nptl/pthread_barrier_wait.c 2007-08-01 06:18:50.000000000 +0200 -+++ glibc-2_9/nptl/pthread_barrier_wait.c 2009-02-02 22:01:12.000000000 +0100 -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ -diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/Makefile glibc-2_9/nptl/sysdeps/pthread/Makefile ---- glibc-2_9.orig/nptl/sysdeps/pthread/Makefile 2006-02-28 08:09:41.000000000 +0100 -+++ glibc-2_9/nptl/sysdeps/pthread/Makefile 2009-02-02 22:01:12.000000000 +0100 -@@ -41,7 +41,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - -diff -durN glibc-2_9.orig/stdio-common/Makefile glibc-2_9/stdio-common/Makefile ---- glibc-2_9.orig/stdio-common/Makefile 2008-07-08 18:32:28.000000000 +0200 -+++ glibc-2_9/stdio-common/Makefile 2009-02-02 22:01:12.000000000 +0100 -@@ -80,7 +80,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format -diff -durN glibc-2_9.orig/sunrpc/clnt_udp.c glibc-2_9/sunrpc/clnt_udp.c ---- glibc-2_9.orig/sunrpc/clnt_udp.c 2008-07-26 10:42:44.000000000 +0200 -+++ glibc-2_9/sunrpc/clnt_udp.c 2009-02-02 22:01:12.000000000 +0100 -@@ -462,7 +462,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/patches/glibc/2.9/380-2.3.6-dl_execstack-PaX-support.patch b/patches/glibc/2.9/380-2.3.6-dl_execstack-PaX-support.patch deleted file mode 100644 index 0529e90..0000000 --- a/patches/glibc/2.9/380-2.3.6-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,71 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/3000_all_2.3.6-dl_execstack-PaX-support.patch - --= BEGIN original header =- - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - --= END original header =- - -diff -durN glibc-2_9.orig/nptl/allocatestack.c glibc-2_9/nptl/allocatestack.c ---- glibc-2_9.orig/nptl/allocatestack.c 2008-08-16 00:35:27.000000000 +0200 -+++ glibc-2_9/nptl/allocatestack.c 2009-02-02 22:01:20.000000000 +0100 -@@ -299,7 +299,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/dl-execstack.c glibc-2_9/sysdeps/unix/sysv/linux/dl-execstack.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/dl-execstack.c 2006-01-08 09:21:15.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/dl-execstack.c 2009-02-02 22:01:20.000000000 +0100 -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/patches/glibc/2.9/390-2.3.3_pre20040117-pt_pax.patch b/patches/glibc/2.9/390-2.3.3_pre20040117-pt_pax.patch deleted file mode 100644 index 13398b7..0000000 --- a/patches/glibc/2.9/390-2.3.3_pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/3010_all_2.3.3_pre20040117-pt_pax.patch - --= BEGIN original header =- --= END original header =- - -diff -durN glibc-2_9.orig/elf/elf.h glibc-2_9/elf/elf.h ---- glibc-2_9.orig/elf/elf.h 2008-10-01 21:41:34.000000000 +0200 -+++ glibc-2_9/elf/elf.h 2009-02-02 22:01:21.000000000 +0100 -@@ -571,6 +571,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -584,6 +585,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/patches/glibc/2.9/400-tests-sandbox-libdl-paths.patch b/patches/glibc/2.9/400-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 1d3dda4..0000000 --- a/patches/glibc/2.9/400-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,198 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/3020_all_glibc-tests-sandbox-libdl-paths.patch - --= BEGIN original header =- -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - --= END original header =- - -diff -durN glibc-2_9.orig/grp/tst_fgetgrent.sh glibc-2_9/grp/tst_fgetgrent.sh ---- glibc-2_9.orig/grp/tst_fgetgrent.sh 2001-07-06 06:54:46.000000000 +0200 -+++ glibc-2_9/grp/tst_fgetgrent.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - -diff -durN glibc-2_9.orig/iconvdata/run-iconv-test.sh glibc-2_9/iconvdata/run-iconv-test.sh ---- glibc-2_9.orig/iconvdata/run-iconv-test.sh 2008-05-15 03:59:44.000000000 +0200 -+++ glibc-2_9/iconvdata/run-iconv-test.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ -diff -durN glibc-2_9.orig/iconvdata/tst-table.sh glibc-2_9/iconvdata/tst-table.sh ---- glibc-2_9.orig/iconvdata/tst-table.sh 2002-04-24 23:39:35.000000000 +0200 -+++ glibc-2_9/iconvdata/tst-table.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - -diff -durN glibc-2_9.orig/intl/tst-codeset.sh glibc-2_9/intl/tst-codeset.sh ---- glibc-2_9.orig/intl/tst-codeset.sh 2005-04-06 04:18:35.000000000 +0200 -+++ glibc-2_9/intl/tst-codeset.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - -diff -durN glibc-2_9.orig/intl/tst-gettext.sh glibc-2_9/intl/tst-gettext.sh ---- glibc-2_9.orig/intl/tst-gettext.sh 2004-08-15 21:28:18.000000000 +0200 -+++ glibc-2_9/intl/tst-gettext.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2_9.orig/intl/tst-gettext2.sh glibc-2_9/intl/tst-gettext2.sh ---- glibc-2_9.orig/intl/tst-gettext2.sh 2005-05-04 19:54:48.000000000 +0200 -+++ glibc-2_9/intl/tst-gettext2.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2_9.orig/malloc/tst-mtrace.sh glibc-2_9/malloc/tst-mtrace.sh ---- glibc-2_9.orig/malloc/tst-mtrace.sh 2005-10-15 01:40:35.000000000 +0200 -+++ glibc-2_9/malloc/tst-mtrace.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then -diff -durN glibc-2_9.orig/nptl/tst-tls6.sh glibc-2_9/nptl/tst-tls6.sh ---- glibc-2_9.orig/nptl/tst-tls6.sh 2003-09-03 00:02:59.000000000 +0200 -+++ glibc-2_9/nptl/tst-tls6.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - -diff -durN glibc-2_9.orig/posix/globtest.sh glibc-2_9/posix/globtest.sh ---- glibc-2_9.orig/posix/globtest.sh 2007-02-14 20:52:33.000000000 +0100 -+++ glibc-2_9/posix/globtest.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C -diff -durN glibc-2_9.orig/posix/tst-getconf.sh glibc-2_9/posix/tst-getconf.sh ---- glibc-2_9.orig/posix/tst-getconf.sh 2002-09-01 13:11:25.000000000 +0200 -+++ glibc-2_9/posix/tst-getconf.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - -diff -durN glibc-2_9.orig/posix/wordexp-tst.sh glibc-2_9/posix/wordexp-tst.sh ---- glibc-2_9.orig/posix/wordexp-tst.sh 2000-10-20 18:23:30.000000000 +0200 -+++ glibc-2_9/posix/wordexp-tst.sh 2009-02-02 22:01:23.000000000 +0100 -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/patches/glibc/2.9/410-2.9-fnmatch.patch b/patches/glibc/2.9/410-2.9-fnmatch.patch deleted file mode 100644 index 9865ed5..0000000 --- a/patches/glibc/2.9/410-2.9-fnmatch.patch +++ /dev/null @@ -1,64 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/5021_all_2.9-fnmatch.patch - --= BEGIN original header =- -http://sourceware.org/ml/libc-hacker/2002-11/msg00071.html - -When fnmatch detects an invalid multibyte character it should fall back to -single byte matching, so that "*" has a chance to match such a string. - -Andreas. - -2005-04-12 Andreas Schwab - - * posix/fnmatch.c (fnmatch): If conversion to wide character - fails fall back to single byte matching. - --= END original header =- - -diff -durN glibc-2_9.orig/posix/fnmatch.c glibc-2_9/posix/fnmatch.c ---- glibc-2_9.orig/posix/fnmatch.c 2007-07-28 22:35:00.000000000 +0200 -+++ glibc-2_9/posix/fnmatch.c 2009-02-02 22:01:25.000000000 +0100 -@@ -327,6 +327,7 @@ - # if HANDLE_MULTIBYTE - if (__builtin_expect (MB_CUR_MAX, 1) != 1) - { -+ const char *orig_pattern = pattern; - mbstate_t ps; - size_t n; - const char *p; -@@ -382,10 +383,8 @@ - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - n = mbsrtowcs (wstring, &p, n + 1, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -397,10 +396,8 @@ - prepare_wstring: - n = mbsrtowcs (NULL, &string, 0, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - assert (mbsinit (&ps)); - (void) mbsrtowcs (wstring, &string, n + 1, &ps); -@@ -408,6 +405,9 @@ - - return internal_fnwmatch (wpattern, wstring, wstring + n, - flags & FNM_PERIOD, flags, NULL); -+ -+ try_singlebyte: -+ pattern = orig_pattern; - } - # endif /* mbstate_t and mbsrtowcs or _LIBC. */ - diff --git a/patches/glibc/2.9/420-dont-build-timezone.patch b/patches/glibc/2.9/420-dont-build-timezone.patch deleted file mode 100644 index 05aeb82..0000000 --- a/patches/glibc/2.9/420-dont-build-timezone.patch +++ /dev/null @@ -1,19 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/5063_all_glibc-dont-build-timezone.patch - --= BEGIN original header =- -timezone data has been split into the package sys-libs/timezone-data - --= END original header =- - -diff -durN glibc-2_9.orig/Makeconfig glibc-2_9/Makeconfig ---- glibc-2_9.orig/Makeconfig 2009-02-02 22:01:05.000000000 +0100 -+++ glibc-2_9/Makeconfig 2009-02-02 22:01:27.000000000 +0100 -@@ -919,7 +919,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/patches/glibc/2.9/430-2.7-cross-compile-nptl.patch b/patches/glibc/2.9/430-2.7-cross-compile-nptl.patch deleted file mode 100644 index 85c554d..0000000 --- a/patches/glibc/2.9/430-2.7-cross-compile-nptl.patch +++ /dev/null @@ -1,57 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/5070_all_glibc-2.7-cross-compile-nptl.patch - --= BEGIN original header =- -A little hack for cross-compiling NPTL - -http://sourceware.org/ml/libc-alpha/2005-02/msg00043.html - --= END original header =- - -diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/configure glibc-2_9/nptl/sysdeps/pthread/configure ---- glibc-2_9.orig/nptl/sysdeps/pthread/configure 2007-10-17 00:24:30.000000000 +0200 -+++ glibc-2_9/nptl/sysdeps/pthread/configure 2009-02-02 22:01:28.000000000 +0100 -@@ -78,6 +78,10 @@ - fi - { echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 - echo "${ECHO_T}$libc_cv_forced_unwind" >&6; } -+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then -+ echo "$as_me:$LINENO: forcing libc_cv_forced_unwind = yes for cross-compile" -+ libc_cv_forced_unwind=yes -+fi - if test $libc_cv_forced_unwind = yes; then - cat >>confdefs.h <<\_ACEOF - #define HAVE_FORCED_UNWIND 1 -@@ -141,6 +145,10 @@ - { echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 - echo "${ECHO_T}$libc_cv_c_cleanup" >&6; } - CFLAGS="$old_CFLAGS" -+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then -+ echo "$as_me:$LINENO: result: forcing libc_cv_c_cleanup = yes for cross-compile" -+ libc_cv_c_cleanup=yes -+ fi - if test $libc_cv_c_cleanup = no; then - { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5 - echo "$as_me: error: the compiler must support C cleanup handling" >&2;} -diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/configure.in glibc-2_9/nptl/sysdeps/pthread/configure.in ---- glibc-2_9.orig/nptl/sysdeps/pthread/configure.in 2003-12-03 07:50:01.000000000 +0100 -+++ glibc-2_9/nptl/sysdeps/pthread/configure.in 2009-02-02 22:01:28.000000000 +0100 -@@ -28,6 +28,9 @@ - struct _Unwind_Context *context; - _Unwind_GetCFA (context)], - libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) -+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then -+ libc_cv_forced_unwind=yes -+fi - if test $libc_cv_forced_unwind = yes; then - AC_DEFINE(HAVE_FORCED_UNWIND) - dnl Check for C cleanup handling. -@@ -41,6 +44,9 @@ - puts ("test")], - libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)]) - CFLAGS="$old_CFLAGS" -+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then -+ libc_cv_c_cleanup=yes -+ fi - if test $libc_cv_c_cleanup = no; then - AC_MSG_ERROR([the compiler must support C cleanup handling]) - fi diff --git a/patches/glibc/2.9/440-alpha-glibc-2.4-xstat.patch b/patches/glibc/2.9/440-alpha-glibc-2.4-xstat.patch deleted file mode 100644 index 8b5954c..0000000 --- a/patches/glibc/2.9/440-alpha-glibc-2.4-xstat.patch +++ /dev/null @@ -1,249 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6001_all_alpha-glibc-2.4-xstat.patch - --= BEGIN original header =- -http://sources.redhat.com/bugzilla/show_bug.cgi?id=1026 -http://sourceware.org/ml/libc-alpha/2005-02/msg00122.html - -2005-02-26 GOTO Masanori - - * sysdeps/unix/sysv/linux/kernel-features.h: Define - __ASSUME_STAT64_SYSCALL. - * sysdeps/unix/sysv/linux/alpha/fxstat.c: Check - __ASSUME_STAT64_SYSCALL. - * sysdeps/unix/sysv/linux/alpha/fxstatat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/lxstat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/xstat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Don't define - __libc_missing_axp_stat64 when it's not needed. - * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/fxstat.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/fxstat.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/fxstat.c 2004-03-11 03:58:44.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/fxstat.c 2009-02-02 22:01:30.000000000 +0100 -@@ -35,27 +35,39 @@ - __fxstat (int vers, int fd, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_fstat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__fxstat) -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/fxstatat.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/fxstatat.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/fxstatat.c 2006-02-20 23:51:48.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/fxstatat.c 2009-02-02 22:01:30.000000000 +0100 -@@ -65,6 +65,20 @@ - int result, errno_out; - struct kernel_stat kst; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ if (flag & AT_SYMLINK_NOFOLLOW) -+ result = INTERNAL_SYSCALL (lstat64, err, 2, file, st); -+ else -+ result = INTERNAL_SYSCALL (stat64, err, 2, file, st); -+ -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -+ goto fail; -+ } -+#elif defined __NR_stat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { - if (flag & AT_SYMLINK_NOFOLLOW) -@@ -79,6 +93,7 @@ - goto fail; - __libc_missing_axp_stat64 = 1; - } -+#endif - - if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst); -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/lxstat.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/lxstat.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/lxstat.c 2004-03-11 03:58:44.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/lxstat.c 2009-02-02 22:01:30.000000000 +0100 -@@ -35,27 +35,39 @@ - __lxstat (int vers, const char *name, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_lstat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__lxstat) -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstat.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstat.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstat.c 2004-03-11 03:58:44.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstat.c 2009-02-02 22:01:30.000000000 +0100 -@@ -35,27 +35,39 @@ - __xstat (int vers, const char *name, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_stat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__xstat) -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstatconv.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstatconv.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstatconv.c 2004-03-11 03:58:44.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstatconv.c 2009-02-02 22:01:30.000000000 +0100 -@@ -22,9 +22,14 @@ - #include - #include - #include -+#include - - -+#ifdef __NR_stat64 -+# if __ASSUME_STAT64_SYSCALL == 0 - int __libc_missing_axp_stat64; -+# endif -+#endif - - int - __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstatconv.h glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstatconv.h ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/xstatconv.h 2006-01-08 09:21:16.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/xstatconv.h 2009-02-02 22:01:30.000000000 +0100 -@@ -18,7 +18,12 @@ - 02111-1307 USA. */ - - #include -+#include - -+#ifdef __NR_stat64 -+# if __ASSUME_STAT64_SYSCALL == 0 - extern int __libc_missing_axp_stat64 attribute_hidden; -+# endif -+#endif - extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) - attribute_hidden; -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2_9/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/kernel-features.h 2008-08-01 23:51:04.000000000 +0200 -+++ glibc-2_9/sysdeps/unix/sysv/linux/kernel-features.h 2009-02-02 22:01:30.000000000 +0100 -@@ -395,6 +395,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/patches/glibc/2.9/450-alpha-glibc-2.5-no-page-header.patch b/patches/glibc/2.9/450-alpha-glibc-2.5-no-page-header.patch deleted file mode 100644 index 401d5f7..0000000 --- a/patches/glibc/2.9/450-alpha-glibc-2.5-no-page-header.patch +++ /dev/null @@ -1,32 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6015_all_alpha-glibc-2.5-no-page-header.patch - --= BEGIN original header =- -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/user.h glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/user.h ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/user.h 2001-07-06 06:56:13.000000000 +0200 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/user.h 2009-02-02 22:01:32.000000000 +0100 -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/patches/glibc/2.9/460-alpha-glibc-2.5-no-asm-elf-header.patch b/patches/glibc/2.9/460-alpha-glibc-2.5-no-asm-elf-header.patch deleted file mode 100644 index 872a0de..0000000 --- a/patches/glibc/2.9/460-alpha-glibc-2.5-no-asm-elf-header.patch +++ /dev/null @@ -1,38 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6016_all_alpha-glibc-2.5-no-asm-elf-header.patch - --= BEGIN original header =- -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some defines - from alpha's asm/elf.h - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/procfs.h ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/procfs.h 2001-07-06 06:56:13.000000000 +0200 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/procfs.h 2009-02-02 22:01:33.000000000 +0100 -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ diff --git a/patches/glibc/2.9/470-alpha-glibc-2.8-creat.patch b/patches/glibc/2.9/470-alpha-glibc-2.8-creat.patch deleted file mode 100644 index 31da4d1..0000000 --- a/patches/glibc/2.9/470-alpha-glibc-2.8-creat.patch +++ /dev/null @@ -1,19 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6017_all_alpha-glibc-2.8-creat.patch - --= BEGIN original header =- -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c glibc-2_9/sysdeps/unix/sysv/linux/wordsize-64/creat64.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2007-11-10 20:34:26.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2009-02-02 22:01:35.000000000 +0100 -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/patches/glibc/2.9/480-alpha-glibc-2.8-cache-shape.patch b/patches/glibc/2.9/480-alpha-glibc-2.8-cache-shape.patch deleted file mode 100644 index b9efe92..0000000 --- a/patches/glibc/2.9/480-alpha-glibc-2.8-cache-shape.patch +++ /dev/null @@ -1,17 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6018_all_alpha-glibc-2.8-cache-shape.patch - --= BEGIN original header =- -older verisons of glibc would build dl-sysdep as shared-only and dl-support as -static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of -glibc build dl-sysdep as both shared and static which means we now have symbol -duplication for static builds with dl-sysdep and dl-support. since dl-sysdep -is both shared/static, there is no point in hooking dl-support anymore, so we -can punt it. - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/dl-support.c glibc-2_9/sysdeps/unix/sysv/linux/alpha/dl-support.c ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/dl-support.c 2007-03-13 22:25:16.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-02-02 22:01:37.000000000 +0100 -@@ -1,1 +1,0 @@ --#include "dl-auxv.h" diff --git a/patches/glibc/2.9/490-ptr-mangling.patch b/patches/glibc/2.9/490-ptr-mangling.patch deleted file mode 100644 index b86b5d2..0000000 --- a/patches/glibc/2.9/490-ptr-mangling.patch +++ /dev/null @@ -1,114 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6018_all_glibc-ptr-mangling.patch - --= BEGIN original header =- -http://bugs.gentoo.org/201910 - -For every arch, PTR_MANGLE and PTR_DEMANGLE defines are in -sysdeps/unix/sysv/linux//sysdep.h. But for alpha this is not true. The -defines are in sysdeps/unix/alpha/sysdep.h and unix/sysv/linux/alpha/sysdep.h -includes the first. - -This is a patch that fixes the issue and let alpha build, at the expense of -disabling MANGLING in the non PIC case, but googling showed that the issue is -known, and that nobody really cares about it. - -Info from: http://sourceware.org/bugzilla/show_bug.cgi?id=5216 - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/unix/alpha/sysdep.h glibc-2_9/sysdeps/unix/alpha/sysdep.h ---- glibc-2_9.orig/sysdeps/unix/alpha/sysdep.h 2006-03-03 12:21:28.000000000 +0100 -+++ glibc-2_9/sysdeps/unix/alpha/sysdep.h 2009-02-02 22:01:39.000000000 +0100 -@@ -397,42 +397,4 @@ - _sc_ret = _sc_0, _sc_err = _sc_19; \ - } - --/* Pointer mangling support. Note that tls access is slow enough that -- we don't deoptimize things by placing the pointer check value there. */ -- --#include -- --#if defined NOT_IN_libc && defined IS_IN_rtld --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; --# define PTR_MANGLE(var) \ -- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#elif defined PIC --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldq tmp, __pointer_chk_guard; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard attribute_relro; --# define PTR_MANGLE(var) \ -- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#endif -- - #endif /* ASSEMBLER */ -diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h glibc-2_9/sysdeps/unix/sysv/linux/alpha/sysdep.h ---- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h 2007-08-21 10:07:28.000000000 +0200 -+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/sysdep.h 2009-02-02 22:01:39.000000000 +0100 -@@ -98,4 +98,46 @@ - INTERNAL_SYSCALL1(name, err_out, nr, args); \ - }) - -+/* Pointer mangling support. Note that tls access is slow enough that -+ we don't deoptimize things by placing the pointer check value there. */ -+ -+#if defined NOT_IN_libc && defined IS_IN_rtld -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -+# define PTR_MANGLE(var) \ -+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#elif defined PIC -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldq tmp, __pointer_chk_guard; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard attribute_relro; -+# define PTR_MANGLE(var) \ -+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#else -+/* Pointer mangling is not yet supported for static libc on alpha. */ -+# ifndef __ASSEMBLER__ -+# define PTR_MANGLE(var) (void) (var) -+# define PTR_DEMANGLE(var) (void) (var) -+# endif -+#endif -+ - #endif /* _LINUX_ALPHA_SYSDEP_H */ diff --git a/patches/glibc/2.9/500-ppc-glibc-2.9-atomic.patch b/patches/glibc/2.9/500-ppc-glibc-2.9-atomic.patch deleted file mode 100644 index 66033aa..0000000 --- a/patches/glibc/2.9/500-ppc-glibc-2.9-atomic.patch +++ /dev/null @@ -1,414 +0,0 @@ -Original patch from: gentoo/src/patchsets/glibc/2.9/6120_all_ppc-glibc-2.9-atomic.patch - --= BEGIN original header =- -sniped from suse - --= END original header =- - -diff -durN glibc-2_9.orig/sysdeps/powerpc/bits/atomic.h glibc-2_9/sysdeps/powerpc/bits/atomic.h ---- glibc-2_9.orig/sysdeps/powerpc/bits/atomic.h 2007-03-26 22:15:28.000000000 +0200 -+++ glibc-2_9/sysdeps/powerpc/bits/atomic.h 2009-02-02 22:01:40.000000000 +0100 -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -diff -durN glibc-2_9.orig/sysdeps/powerpc/powerpc32/bits/atomic.h glibc-2_9/sysdeps/powerpc/powerpc32/bits/atomic.h ---- glibc-2_9.orig/sysdeps/powerpc/powerpc32/bits/atomic.h 2007-03-26 22:15:45.000000000 +0200 -+++ glibc-2_9/sysdeps/powerpc/powerpc32/bits/atomic.h 2009-02-02 22:01:40.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -diff -durN glibc-2_9.orig/sysdeps/powerpc/powerpc64/bits/atomic.h glibc-2_9/sysdeps/powerpc/powerpc64/bits/atomic.h ---- glibc-2_9.orig/sysdeps/powerpc/powerpc64/bits/atomic.h 2007-03-26 22:16:03.000000000 +0200 -+++ glibc-2_9/sysdeps/powerpc/powerpc64/bits/atomic.h 2009-02-02 22:01:40.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/patches/glibc/2.9/510-sh-no-asm-user-header.patch b/patches/glibc/2.9/510-sh-no-asm-user-header.patch deleted file mode 100644 index 78d5aca..0000000 --- a/patches/glibc/2.9/510-sh-no-asm-user-header.patch +++ /dev/null @@ -1,70 +0,0 @@ -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/sh/sys/user.h: Copy Linux's asm-sh/user.h. - ---- glibc-2_9/sysdeps/unix/sysv/linux/sh/sys/user.h -+++ glibc-2_9/sysdeps/unix/sysv/linux/sh/sys/user.h -@@ -19,10 +19,60 @@ - #ifndef _SYS_USER_H - #define _SYS_USER_H 1 - --#include -+#include -+#include - --#include -+/* -+ * Core file format: The core file is written in such a way that gdb -+ * can understand it and provide useful information to the user (under -+ * linux we use the `trad-core' bfd). The file contents are as follows: -+ * -+ * upage: 1 page consisting of a user struct that tells gdb -+ * what is present in the file. Directly after this is a -+ * copy of the task_struct, which is currently not used by gdb, -+ * but it may come in handy at some point. All of the registers -+ * are stored as part of the upage. The upage should always be -+ * only one page long. -+ * data: The data segment follows next. We use current->end_text to -+ * current->brk to pick up all of the user variables, plus any memory -+ * that may have been sbrk'ed. No attempt is made to determine if a -+ * page is demand-zero or if a page is totally unused, we just cover -+ * the entire range. All of the addresses are rounded in such a way -+ * that an integral number of pages is written. -+ * stack: We need the stack information in order to get a meaningful -+ * backtrace. We need to write the data from usp to -+ * current->start_stack, so we round each of these in order to be able -+ * to write an integer number of pages. -+ */ - --#undef start_thread -+struct user_fpu_struct { -+ unsigned long fp_regs[16]; -+ unsigned long xfp_regs[16]; -+ unsigned long fpscr; -+ unsigned long fpul; -+}; -+ -+struct user { -+ struct pt_regs regs; /* entire machine state */ -+ struct user_fpu_struct fpu; /* Math Co-processor registers */ -+ int u_fpvalid; /* True if math co-processor being used */ -+ size_t u_tsize; /* text size (pages) */ -+ size_t u_dsize; /* data size (pages) */ -+ size_t u_ssize; /* stack size (pages) */ -+ unsigned long start_code; /* text starting address */ -+ unsigned long start_data; /* data starting address */ -+ unsigned long start_stack; /* stack starting address */ -+ long int signal; /* signal causing core dump */ -+ struct regs * u_ar0; /* help gdb find registers */ -+ struct user_fpu_struct* u_fpstate; /* Math Co-processor pointer */ -+ unsigned long magic; /* identifies a core file */ -+ char u_comm[32]; /* user command name */ -+}; -+ -+#define NBPG getpagesize() -+#define UPAGES 1 -+#define HOST_TEXT_START_ADDR (u.start_code) -+#define HOST_DATA_START_ADDR (u.start_data) -+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) - - #endif /* sys/user.h */ diff --git a/patches/glibc/2.9/520-sh-no-asm-elf-header.patch b/patches/glibc/2.9/520-sh-no-asm-elf-header.patch deleted file mode 100644 index 2fceb48..0000000 --- a/patches/glibc/2.9/520-sh-no-asm-elf-header.patch +++ /dev/null @@ -1,27 +0,0 @@ -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Copy Linux's asm-sh/elf.h types. - ---- glibc-2_9/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ glibc-2_9/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ diff --git a/patches/glibc/2.9/530-powerpc-8xx-CPU15-errata.patch b/patches/glibc/2.9/530-powerpc-8xx-CPU15-errata.patch deleted file mode 100644 index 1d0643b..0000000 --- a/patches/glibc/2.9/530-powerpc-8xx-CPU15-errata.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fix memset on PowerPC 8xx, by Nye Liu: -http://sourceware.org/ml/crossgcc/2008-10/msg00067.html - -Quote: - I am working on a powerpc 860 toolchain, but I am having problems - convincing glibc to not emit code that uses the dcbz instruction (CPU15 - dcbX bug). The source of the problem is sysdeps/powerpc/power3/memset.S - ---- glibc-2.7/sysdeps/powerpc/powerpc32/memset.S 2007-03-26 13:09:07.000000000 -0700 -+++ glibc-2.7/sysdeps/powerpc/powerpc32/memset.S.new 2008-10-23 20:28:52.000000000 -0700 -@@ -112,11 +112,13 @@ - clrrwi. rALIGN, rLEN, 5 - mtcrf 0x01, rLEN /* 40th instruction from .align */ - -+#ifndef BROKEN_PPC_8xx_CPU15 - /* Check if we can use the special case for clearing memory using dcbz. - This requires that we know the correct cache line size for this - processor. Getting the __cache_line_size may require establishing GOT - addressability, so branch out of line to set this up. */ - beq cr1, L(checklinesize) -+#endif - - /* Store blocks of 32-bytes (256-bits) starting on a 32-byte boundary. - Can't assume that rCHR is zero or that the cache line size is either -@@ -158,6 +160,7 @@ - add rMEMP, rMEMP, rALIGN - b L(medium_tail2) /* 72nd instruction from .align */ - -+#ifndef BROKEN_PPC_8xx_CPU15 - .align 5 - nop - /* Clear cache lines of memory in 128-byte chunks. -@@ -191,6 +194,7 @@ - bdnz L(zloop) - beqlr cr5 - b L(medium_tail2) -+#endif /* ! BROKEN_PPC_8xx_CPU15 */ - - .align 5 - L(small): -@@ -248,6 +252,7 @@ - stw rCHR, -8(rMEMP) - blr - -+#ifndef BROKEN_PPC_8xx_CPU15 - L(checklinesize): - #ifdef SHARED - mflr rTMP -@@ -329,6 +334,7 @@ - L(handletail32): - clrrwi. rALIGN, rLEN, 5 - b L(nondcbz) -+#endif /* ! BROKEN_PPC_8xx_CPU15 */ - - END (BP_SYM (memset)) - libc_hidden_builtin_def (memset) diff --git a/patches/glibc/2.9/540-alpha-atfcts.patch b/patches/glibc/2.9/540-alpha-atfcts.patch deleted file mode 100644 index 83adbce..0000000 --- a/patches/glibc/2.9/540-alpha-atfcts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h 2007-08-14 06:21:09.000000000 +0300 -+++ glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-23 07:05:20.000000000 +0300 -@@ -454,8 +454,7 @@ - and on Alpha just after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ - && ((!defined __sh__ && !defined __alpha__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__)) -+ || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__)) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/2.9/550-2.9-elf-begin.patch b/patches/glibc/2.9/550-2.9-elf-begin.patch deleted file mode 100644 index e4c5233..0000000 --- a/patches/glibc/2.9/550-2.9-elf-begin.patch +++ /dev/null @@ -1,29 +0,0 @@ -[ALL ] powerpc-860-linux-gnu-gcc -nostdlib -nostartfiles -shared -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs -Wl,--verbose 2>&1 | LC_ALL=C sed -e '/^=========/,/^=========/!d;/^=========/d' -e 's/. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' > /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/ld.so.lds -[ALL ] powerpc-860-linux-gnu-gcc -nostdlib -nostartfiles -shared -o /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/ld.so -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/librtld.os -Wl,--version-script=/local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/ld.map -Wl,-soname=ld.so.1 -T /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/ld.so.lds -[ALL ] /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/librtld.os: In function `_dl_start_final': -[ALL ] rtld.c:(.text+0x2fe): undefined reference to `_begin' -[ALL ] /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/gcc-core-shared/lib/gcc/powerpc-860-linux-gnu/4.3.3/../../../../powerpc-860-linux-gnu/bin/ld: /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/ld.so: hidden symbol `_begin' isn't defined -[ALL ] /local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/gcc-core-shared/lib/gcc/powerpc-860-linux-gnu/4.3.3/../../../../powerpc-860-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output -[ALL ] collect2: ld returned 1 exit status -[ERROR] make[3]: *** [/local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc/elf/ld.so] Error 1 -[ALL ] make[3]: Leaving directory `/local/nyet-build/crosstool-ng-svn/targets/src/glibc-2.9/elf' -[ERROR] make[2]: *** [elf/subdir_lib] Error 2 -[ALL ] make[2]: Leaving directory `/local/nyet-build/crosstool-ng-svn/targets/src/glibc-2.9' -[ERROR] make[1]: *** [all] Error 2 -[ALL ] make[1]: Leaving directory `/local/nyet-build/crosstool-ng-svn/targets/powerpc-860-linux-gnu/build/build-libc' -[ERROR] Build failed in step 'Installing C library' -[ERROR] Error happened in '/local/nyet-build/crosstool-ng-svn/scripts/functions' in function 'CT_DoExecLog' (line unknown, sorry) -[ERROR] called from '/local/nyet-build/crosstool-ng-svn/scripts/build/libc/glibc.sh' at line # 504 in function 'do_libc' -[ERROR] called from '/local/nyet-build/crosstool-ng-svn/scripts/crosstool-NG.sh' at line # 478 in function 'main' - ---- glibc-2.9_orig/elf/Makefile 2009-03-26 20:26:42.000000000 -0700 -+++ glibc-2.9/elf/Makefile 2009-03-26 20:14:11.000000000 -0700 -@@ -304,7 +304,7 @@ - $(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 | \ - LC_ALL=C \ - sed -e '/^=========/,/^=========/!d;/^=========/d' \ -- -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ -+ -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ - > $@.lds - $(LINK.o) -nostdlib -nostartfiles -shared -o $@ \ - $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \ diff --git a/patches/glibc/2.9/560-syslog.patch b/patches/glibc/2.9/560-syslog.patch deleted file mode 100644 index c20cafc..0000000 --- a/patches/glibc/2.9/560-syslog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -durN glibc-cvs-2.9.orig/misc/syslog.c glibc-cvs-2.9/misc/syslog.c ---- glibc-cvs-2.9.orig/misc/syslog.c 2009-06-01 10:16:50.000000000 +0200 -+++ glibc-cvs-2.9/misc/syslog.c 2009-06-01 10:17:20.000000000 +0200 -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/patches/glibc/2.9/570-debug-readlink_chk-readklinkat_chk.patch b/patches/glibc/2.9/570-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index a5a7052..0000000 --- a/patches/glibc/2.9/570-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -dur glibc-cvs-2.9.orig/debug/readlink_chk.c glibc-cvs-2.9/debug/readlink_chk.c ---- glibc-cvs-2.9.orig/debug/readlink_chk.c 2005-03-01 01:41:15.000000000 +0100 -+++ glibc-cvs-2.9/debug/readlink_chk.c 2009-06-01 10:59:37.000000000 +0200 -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); -diff -dur glibc-cvs-2.9.orig/debug/readlinkat_chk.c glibc-cvs-2.9/debug/readlinkat_chk.c ---- glibc-cvs-2.9.orig/debug/readlinkat_chk.c 2006-04-24 18:56:12.000000000 +0200 -+++ glibc-cvs-2.9/debug/readlinkat_chk.c 2009-06-01 11:07:26.000000000 +0200 -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/patches/glibc/2.9/600-recent-binutils.patch b/patches/glibc/2.9/600-recent-binutils.patch deleted file mode 100644 index f4d297e..0000000 --- a/patches/glibc/2.9/600-recent-binutils.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -durN glibc-2.9.orig/configure glibc-2.9/configure ---- glibc-2.9.orig/configure 2010-05-18 23:47:23.000000000 +0200 -+++ glibc-2.9/configure 2010-05-18 23:50:04.000000000 +0200 -@@ -4534,7 +4534,7 @@ - ac_prog_version=`$AS --version 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]*) -+ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -4597,7 +4597,7 @@ - ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 2.1[3-9]*) -+ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -diff -durN glibc-2.9.orig/configure.in glibc-2.9/configure.in ---- glibc-2.9.orig/configure.in 2010-05-18 23:47:23.000000000 +0200 -+++ glibc-2.9/configure.in 2010-05-18 23:51:25.000000000 +0200 -@@ -844,10 +844,10 @@ - # Accept binutils 2.13 or newer. - AC_CHECK_PROG_VER(AS, $AS, --version, - [GNU assembler.* \([0-9]*\.[0-9.]*\)], -- [2.1[3-9]*], AS=: critic_missing="$critic_missing as") -+ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") - AC_CHECK_PROG_VER(LD, $LD, --version, - [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], -- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") -+ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") - - # We need the physical current working directory. We cannot use the - # "pwd -P" shell builtin since that's not portable. Instead we try to diff --git a/patches/glibc/2.9/610-fix-nptl-init.patch b/patches/glibc/2.9/610-fix-nptl-init.patch deleted file mode 100644 index a25d6ad..0000000 --- a/patches/glibc/2.9/610-fix-nptl-init.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2_9.orig/nptl/init.c 2007-10-15 22:25:25.000000000 +0200 -+++ glibc-2_9/nptl/init.c 2010-08-18 10:46:06.109098646 +0200 -@@ -236,7 +236,7 @@ - - - /* This can be set by the debugger before initialization is complete. */ --static bool __nptl_initial_report_events; -+static bool __nptl_initial_report_events __attribute_used__; - - void - __pthread_initialize_minimal_internal (void) diff --git a/patches/glibc/2.9/900-march-i686.patch b/patches/glibc/2.9/900-march-i686.patch deleted file mode 100644 index b34807e..0000000 --- a/patches/glibc/2.9/900-march-i686.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - -diff -urN glibc-2.9.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.9/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.9.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.9/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -urN glibc-2.9.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.9/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.9.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100 -+++ glibc-2.9/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/patches/glibc/2.9/910-typedef-caddr.patch b/patches/glibc/2.9/910-typedef-caddr.patch deleted file mode 100644 index 5075c74..0000000 --- a/patches/glibc/2.9/910-typedef-caddr.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN glibc-2.9-orig/posix/sys/types.h glibc-2.9/posix/sys/types.h ---- glibc-2.9-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.9/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200 -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif -diff -urN glibc-2.9-orig/sunrpc/rpc/types.h glibc-2.9/sunrpc/rpc/types.h ---- glibc-2.9-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100 -+++ glibc-2.9/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200 -@@ -80,7 +80,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/patches/glibc/linuxthreads-2.3.6/100-cygwin.patch b/patches/glibc/linuxthreads-2.3.6/100-cygwin.patch deleted file mode 100644 index 0c0dac0..0000000 --- a/patches/glibc/linuxthreads-2.3.6/100-cygwin.patch +++ /dev/null @@ -1,37 +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.5 ] - -diff -aur glibc-2.3.5/linuxthreads/Makefile glibc-2.3.5-cygwin/linuxthreads/Makefile ---- glibc-2.3.5/linuxthreads/Makefile 2005-02-16 12:26:38.000000000 +0100 -+++ glibc-2.3.5-cygwin/linuxthreads/Makefile 2005-05-11 08:32:50.453125000 +0200 -@@ -159,7 +159,7 @@ - install: $(inst_libdir)/libpthread.so - $(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';\ -@@ -167,7 +167,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 --git a/patches/glibc/linuxthreads-2.3.6/110-alpha-cfi.patch b/patches/glibc/linuxthreads-2.3.6/110-alpha-cfi.patch deleted file mode 100644 index 97c152e..0000000 --- a/patches/glibc/linuxthreads-2.3.6/110-alpha-cfi.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.orig 2008-06-19 15:31:45.000000000 +0300 -+++ glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2008-06-19 15:36:10.000000000 +0300 -@@ -54,6 +54,7 @@ - bne a3, SYSCALL_ERROR_LABEL; \ - __LABEL($pseudo_ret) \ - .subsection 2; \ -+ cfi_startproc; \ - __LABEL($pseudo_cancel) \ - subq sp, 64, sp; \ - cfi_def_cfa_offset(64); \ -@@ -84,12 +85,13 @@ - cfi_def_cfa_offset(0); \ - __LABEL($syscall_error) \ - SYSCALL_ERROR_HANDLER; \ -+ cfi_endproc; \ - .previous - - # undef PSEUDO_END - # define PSEUDO_END(sym) \ -- .subsection 2; \ - cfi_endproc; \ -+ .subsection 2; \ - .size sym, .-sym - - # define SAVE_ARGS_0 /* Nothing. */ diff --git a/patches/glibc/ports-2.10.1/100-respect-env-CPPFLAGS.patch b/patches/glibc/ports-2.10.1/100-respect-env-CPPFLAGS.patch deleted file mode 100644 index 9523ae2..0000000 --- a/patches/glibc/ports-2.10.1/100-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,25 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - -diff -durN glibc-2.10.1.orig/Makeconfig glibc-2.10.1/Makeconfig ---- glibc-2.10.1.orig/Makeconfig 2009-05-09 23:57:56.000000000 +0200 -+++ glibc-2.10.1/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -@@ -672,6 +672,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$(&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]*) -+ 2.1[3-9]*|[2-9].[2-9]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -4902,7 +4902,7 @@ - ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 2.1[3-9]*) -+ 2.1[3-9]*|[2-9].[2-9]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -diff -durN glibc-2.10.1.orig/configure.in glibc-2.10.1/configure.in ---- glibc-2.10.1.orig/configure.in 2009-04-04 01:51:47.000000000 +0200 -+++ glibc-2.10.1/configure.in 2009-11-13 00:49:43.000000000 +0100 -@@ -897,10 +897,10 @@ - # Accept binutils 2.13 or newer. - AC_CHECK_PROG_VER(AS, $AS, --version, - [GNU assembler.* \([0-9]*\.[0-9.]*\)], -- [2.1[3-9]*], AS=: critic_missing="$critic_missing as") -+ [2.1[3-9]*|[2-9].[2-9]*], AS=: critic_missing="$critic_missing as") - AC_CHECK_PROG_VER(LD, $LD, --version, - [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], -- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") -+ [2.1[3-9]*|[2-9].[2-9]*], LD=: critic_missing="$critic_missing ld") - - # We need the physical current working directory. We cannot use the - # "pwd -P" shell builtin since that's not portable. Instead we try to diff --git a/patches/glibc/ports-2.10.1/120-i386-x86_64-revert-clone-cfi.patch b/patches/glibc/ports-2.10.1/120-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index 1351b82..0000000 --- a/patches/glibc/ports-2.10.1/120-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,55 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - -Index: sysdeps/unix/sysv/linux/i386/clone.S -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/clone.S,v -retrieving revision 1.27 -retrieving revision 1.26 -diff -u -p -r1.27 -r1.26 - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/clone.S glibc-2.10.1/sysdeps/unix/sysv/linux/i386/clone.S ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/clone.S 2006-12-04 00:12:36.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/clone.S 2009-11-13 00:49:45.000000000 +0100 -@@ -120,9 +120,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/x86_64/clone.S glibc-2.10.1/sysdeps/unix/sysv/linux/x86_64/clone.S ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/x86_64/clone.S 2006-12-04 00:12:36.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-11-13 00:49:45.000000000 +0100 -@@ -89,9 +89,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/patches/glibc/ports-2.10.1/130-i386-no-fallocate.patch b/patches/glibc/ports-2.10.1/130-i386-no-fallocate.patch deleted file mode 100644 index a97362f..0000000 --- a/patches/glibc/ports-2.10.1/130-i386-no-fallocate.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix building on x86 when older linux headers lack __NR_fallocate define. - -URL: http://bugs.gentoo.org/274269 -Reported-by: Mikael Magnusson - -2009-11-09 Mike Frysinger - - * sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h. - (fallocate): Return ENOSYS if __NR_fallocate is not defined. - * sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise. - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate.c glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate.c 2009-03-02 17:11:06.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate.c 2009-11-13 00:49:47.000000000 +0100 -@@ -16,6 +16,7 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - -@@ -28,5 +29,10 @@ - int - fallocate (int fd, int mode, __off_t offset, __off_t len) - { -+#ifdef __NR_fallocate - return __call_fallocate (fd, mode, offset, len); -+#else -+ __set_errno (ENOSYS); -+ return -1; -+#endif - } -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate64.c glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate64.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate64.c 2009-03-02 17:10:29.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate64.c 2009-11-13 00:49:47.000000000 +0100 -@@ -16,6 +16,7 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - -@@ -28,5 +29,10 @@ - int - __fallocate64_l64 (int fd, int mode, __off64_t offset, __off64_t len) - { -+#ifdef __NR_fallocate - return __call_fallocate (fd, mode, offset, len); -+#else -+ __set_errno (ENOSYS); -+ return -1; -+#endif - } diff --git a/patches/glibc/ports-2.10.1/140-disable-ldconfig.patch b/patches/glibc/ports-2.10.1/140-disable-ldconfig.patch deleted file mode 100644 index 602dd10..0000000 --- a/patches/glibc/ports-2.10.1/140-disable-ldconfig.patch +++ /dev/null @@ -1,16 +0,0 @@ -do not bother running ldconfig on DESTDIR. it wants to write the temp cache -file outside of the chroot. doesnt matter anyways as we wont use the cache -results (portage will rebuild cache), so running ldconfig is simply a waste -of time. - -diff -durN glibc-2.10.1.orig/Makefile glibc-2.10.1/Makefile ---- glibc-2.10.1.orig/Makefile 2009-04-23 20:23:03.000000000 +0200 -+++ glibc-2.10.1/Makefile 2009-11-13 00:49:49.000000000 +0100 -@@ -116,6 +116,7 @@ - rm -f $(symbolic-link-list) - - install: -+dont-bother-with-destdir: - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \ - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \ - $(slibdir) $(libdir) diff --git a/patches/glibc/ports-2.10.1/150-queue-header-updates.patch b/patches/glibc/ports-2.10.1/150-queue-header-updates.patch deleted file mode 100644 index 640007d..0000000 --- a/patches/glibc/ports-2.10.1/150-queue-header-updates.patch +++ /dev/null @@ -1,85 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - -diff -durN glibc-2.10.1.orig/misc/sys/queue.h glibc-2.10.1/misc/sys/queue.h - -diff -durN glibc-2.10.1.orig/misc/sys/queue.h glibc-2.10.1/misc/sys/queue.h ---- glibc-2.10.1.orig/misc/sys/queue.h 2008-03-05 06:50:30.000000000 +0100 -+++ glibc-2.10.1/misc/sys/queue.h 2009-11-13 00:49:51.000000000 +0100 -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/patches/glibc/ports-2.10.1/160-manual-no-perl.patch b/patches/glibc/ports-2.10.1/160-manual-no-perl.patch deleted file mode 100644 index 80a1742..0000000 --- a/patches/glibc/ports-2.10.1/160-manual-no-perl.patch +++ /dev/null @@ -1,24 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - -diff -durN glibc-2.10.1.orig/manual/Makefile glibc-2.10.1/manual/Makefile ---- glibc-2.10.1.orig/manual/Makefile 2006-01-08 07:43:47.000000000 +0100 -+++ glibc-2.10.1/manual/Makefile 2009-11-13 00:49:54.000000000 +0100 -@@ -104,9 +104,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/patches/glibc/ports-2.10.1/170-localedef-fix-trampoline.patch b/patches/glibc/ports-2.10.1/170-localedef-fix-trampoline.patch deleted file mode 100644 index 6672c5c..0000000 --- a/patches/glibc/ports-2.10.1/170-localedef-fix-trampoline.patch +++ /dev/null @@ -1,69 +0,0 @@ -#! /bin/sh -e - -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -diff -durN glibc-2.10.1.orig/locale/programs/3level.h glibc-2.10.1/locale/programs/3level.h ---- glibc-2.10.1.orig/locale/programs/3level.h 2007-07-16 02:54:59.000000000 +0200 -+++ glibc-2.10.1/locale/programs/3level.h 2009-11-13 00:49:56.000000000 +0100 -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/patches/glibc/ports-2.10.1/180-resolv-dynamic.patch b/patches/glibc/ports-2.10.1/180-resolv-dynamic.patch deleted file mode 100644 index ea88fa0..0000000 --- a/patches/glibc/ports-2.10.1/180-resolv-dynamic.patch +++ /dev/null @@ -1,39 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - -diff -durN glibc-2.10.1.orig/resolv/res_libc.c glibc-2.10.1/resolv/res_libc.c ---- glibc-2.10.1.orig/resolv/res_libc.c 2009-02-07 05:27:42.000000000 +0100 -+++ glibc-2.10.1/resolv/res_libc.c 2009-11-13 00:49:59.000000000 +0100 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/patches/glibc/ports-2.10.1/190-localedef-mmap.patch b/patches/glibc/ports-2.10.1/190-localedef-mmap.patch deleted file mode 100644 index 470b8c2..0000000 --- a/patches/glibc/ports-2.10.1/190-localedef-mmap.patch +++ /dev/null @@ -1,39 +0,0 @@ -sniped from Debian -http://bugs.gentoo.org/289615 - -2009-10-27 Aurelien Jarno - - * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory - used later with MMAP_FIXED | MMAP_SHARED to cope with different - alignment restrictions. - -diff -durN glibc-2.10.1.orig/locale/programs/locarchive.c glibc-2.10.1/locale/programs/locarchive.c ---- glibc-2.10.1.orig/locale/programs/locarchive.c 2009-04-27 16:07:47.000000000 +0200 -+++ glibc-2.10.1/locale/programs/locarchive.c 2009-11-13 00:50:01.000000000 +0100 -@@ -134,7 +134,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -396,7 +396,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -614,7 +614,7 @@ - int xflags = 0; - void *p; - if (st.st_size < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else diff --git a/patches/glibc/ports-2.10.1/200-fadvise64_64.patch b/patches/glibc/ports-2.10.1/200-fadvise64_64.patch deleted file mode 100644 index ec22188..0000000 --- a/patches/glibc/ports-2.10.1/200-fadvise64_64.patch +++ /dev/null @@ -1,28 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.10.1/sysdeps/unix/sysv/linux/posix_fadvise.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-11-13 00:50:03.000000000 +0100 -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/patches/glibc/ports-2.10.1/210-ldbl-nexttowardf.patch b/patches/glibc/ports-2.10.1/210-ldbl-nexttowardf.patch deleted file mode 100644 index a6f0dea..0000000 --- a/patches/glibc/ports-2.10.1/210-ldbl-nexttowardf.patch +++ /dev/null @@ -1,66 +0,0 @@ -ripped from Debian - -this change was made to generic __nexttowardf, but not the long double version - -2008-05-05 Aurelien Jarno - - * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Include float.h. - (__nexttowardf): Use math_opt_barrier and - math_force_eval macros. If FLT_EVAL_METHOD is not 0, force - x to float using asm. - - sysdeps/ieee754/ldbl-128/s_nexttowardf.c | 26 ++++++++++++++++---------- - 1 file changed, 16 insertions(+), 10 deletions(-) - -diff -durN glibc-2.10.1.orig/sysdeps/ieee754/ldbl-128/s_nexttowardf.c glibc-2.10.1/sysdeps/ieee754/ldbl-128/s_nexttowardf.c ---- glibc-2.10.1.orig/sysdeps/ieee754/ldbl-128/s_nexttowardf.c 1999-07-14 02:09:42.000000000 +0200 -+++ glibc-2.10.1/sysdeps/ieee754/ldbl-128/s_nexttowardf.c 2009-11-13 00:50:06.000000000 +0100 -@@ -19,7 +19,8 @@ - #endif - - #include "math.h" --#include "math_private.h" -+#include -+#include - - #ifdef __STDC__ - float __nexttowardf(float x, long double y) -@@ -44,10 +45,12 @@ - return x+y; - if((long double) x==y) return y; /* x=y, return y */ - if(ix==0) { /* x == 0 */ -- float x2; -+ float u; - SET_FLOAT_WORD(x,(u_int32_t)((hy>>32)&0x80000000)|1);/* return +-minsub*/ -- x2 = x*x; -- if(x2==x) return x2; else return x; /* raise underflow flag */ -+ u = math_opt_barrier (x); -+ u = u * u; -+ math_force_eval (u); /* raise underflow flag */ -+ return x; - } - if(hx>=0) { /* x > 0 */ - if(hy<0||(ix>>23)>(iy>>48)-0x3f80 -@@ -67,13 +70,16 @@ - } - } - hy = hx&0x7f800000; -- if(hy>=0x7f800000) return x+x; /* overflow */ -+ if(hy>=0x7f800000) { -+ x = x+x; /* overflow */ -+ if (FLT_EVAL_METHOD != 0) -+ /* Force conversion to float. */ -+ asm ("" : "+m"(x)); -+ return x; -+ } - if(hy<0x00800000) { /* underflow */ -- float x2 = x*x; -- if(x2!=x) { /* raise underflow flag */ -- SET_FLOAT_WORD(x2,hx); -- return x2; -- } -+ float u = x*x; -+ math_force_eval (u); /* raise underflow flag */ - } - SET_FLOAT_WORD(x,hx); - return x; diff --git a/patches/glibc/ports-2.10.1/220-section-comments.patch b/patches/glibc/ports-2.10.1/220-section-comments.patch deleted file mode 100644 index c4f08e4..0000000 --- a/patches/glibc/ports-2.10.1/220-section-comments.patch +++ /dev/null @@ -1,24 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - -diff -durN glibc-2.10.1.orig/include/libc-symbols.h glibc-2.10.1/include/libc-symbols.h ---- glibc-2.10.1.orig/include/libc-symbols.h 2009-03-14 00:51:46.000000000 +0100 -+++ glibc-2.10.1/include/libc-symbols.h 2009-11-13 00:50:07.000000000 +0100 -@@ -239,12 +239,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/patches/glibc/ports-2.10.1/230-no-inline-gmon.patch b/patches/glibc/ports-2.10.1/230-no-inline-gmon.patch deleted file mode 100644 index c2f58c6..0000000 --- a/patches/glibc/ports-2.10.1/230-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - -Index: sysdeps/generic/initfini.c -=================================================================== - -diff -durN glibc-2.10.1.orig/sysdeps/generic/initfini.c glibc-2.10.1/sysdeps/generic/initfini.c ---- glibc-2.10.1.orig/sysdeps/generic/initfini.c 2007-06-17 20:02:40.000000000 +0200 -+++ glibc-2.10.1/sysdeps/generic/initfini.c 2009-11-13 00:50:09.000000000 +0100 -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/patches/glibc/ports-2.10.1/240-check_native-headers.patch b/patches/glibc/ports-2.10.1/240-check_native-headers.patch deleted file mode 100644 index c0fca6d..0000000 --- a/patches/glibc/ports-2.10.1/240-check_native-headers.patch +++ /dev/null @@ -1,17 +0,0 @@ -many ports hit this warning: -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' - -snipped from suse - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/check_native.c glibc-2.10.1/sysdeps/unix/sysv/linux/check_native.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/check_native.c 2007-11-24 04:12:17.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/check_native.c 2009-11-13 00:50:11.000000000 +0100 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/patches/glibc/ports-2.10.1/250-fix-pr631.patch b/patches/glibc/ports-2.10.1/250-fix-pr631.patch deleted file mode 100644 index 1db35ed..0000000 --- a/patches/glibc/ports-2.10.1/250-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 - -diff -durN glibc-2.10.1.orig/Makeconfig glibc-2.10.1/Makeconfig ---- glibc-2.10.1.orig/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -+++ glibc-2.10.1/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -@@ -509,7 +509,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... -diff -durN glibc-2.10.1.orig/elf/Makefile glibc-2.10.1/elf/Makefile ---- glibc-2.10.1.orig/elf/Makefile 2009-01-31 01:20:55.000000000 +0100 -+++ glibc-2.10.1/elf/Makefile 2009-11-13 00:50:13.000000000 +0100 -@@ -121,6 +121,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/ports-2.10.1/260-assume-pipe2.patch b/patches/glibc/ports-2.10.1/260-assume-pipe2.patch deleted file mode 100644 index 684b5e0..0000000 --- a/patches/glibc/ports-2.10.1/260-assume-pipe2.patch +++ /dev/null @@ -1,54 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - -diff -durN glibc-2.10.1.orig/include/unistd.h glibc-2.10.1/include/unistd.h ---- glibc-2.10.1.orig/include/unistd.h 2008-07-27 20:23:17.000000000 +0200 -+++ glibc-2.10.1/include/unistd.h 2009-11-13 00:50:15.000000000 +0100 -@@ -167,9 +167,6 @@ - extern int __pause_nocancel (void) attribute_hidden; - - extern int __have_sock_cloexec; --/* At lot of other functionality became available at the same time as -- SOCK_CLOEXEC. Avoid defining separate variables for all of them -- unless it is really necessary. */ --#define __have_pipe2 __have_sock_cloexec -+extern int __have_pipe2; - - #endif -diff -durN glibc-2.10.1.orig/socket/have_sock_cloexec.c glibc-2.10.1/socket/have_sock_cloexec.c ---- glibc-2.10.1.orig/socket/have_sock_cloexec.c 2008-07-25 18:46:23.000000000 +0200 -+++ glibc-2.10.1/socket/have_sock_cloexec.c 2009-11-13 00:50:15.000000000 +0100 -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/patches/glibc/ports-2.10.1/270-china.patch b/patches/glibc/ports-2.10.1/270-china.patch deleted file mode 100644 index 646c2ef..0000000 --- a/patches/glibc/ports-2.10.1/270-china.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.10.1.orig/localedata/locales/zh_TW glibc-2.10.1/localedata/locales/zh_TW ---- glibc-2.10.1.orig/localedata/locales/zh_TW 2004-11-01 00:42:28.000000000 +0100 -+++ glibc-2.10.1/localedata/locales/zh_TW 2009-11-13 00:50:17.000000000 +0100 -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/patches/glibc/ports-2.10.1/280-new-valencian-locale.patch b/patches/glibc/ports-2.10.1/280-new-valencian-locale.patch deleted file mode 100644 index 46afd68..0000000 --- a/patches/glibc/ports-2.10.1/280-new-valencian-locale.patch +++ /dev/null @@ -1,115 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - -diff -durN glibc-2.10.1.orig/localedata/SUPPORTED glibc-2.10.1/localedata/SUPPORTED ---- glibc-2.10.1.orig/localedata/SUPPORTED 2009-04-18 10:43:52.000000000 +0200 -+++ glibc-2.10.1/localedata/SUPPORTED 2009-11-13 00:50:20.000000000 +0100 -@@ -72,6 +72,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ -diff -durN glibc-2.10.1.orig/localedata/locales/ca_ES@valencia glibc-2.10.1/localedata/locales/ca_ES@valencia ---- glibc-2.10.1.orig/localedata/locales/ca_ES@valencia 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.10.1/localedata/locales/ca_ES@valencia 2009-11-13 00:50:20.000000000 +0100 -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/patches/glibc/ports-2.10.1/300-nscd-one-fork.patch b/patches/glibc/ports-2.10.1/300-nscd-one-fork.patch deleted file mode 100644 index 13c1542..0000000 --- a/patches/glibc/ports-2.10.1/300-nscd-one-fork.patch +++ /dev/null @@ -1,40 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - -diff -durN glibc-2.10.1.orig/nscd/nscd.c glibc-2.10.1/nscd/nscd.c ---- glibc-2.10.1.orig/nscd/nscd.c 2009-02-06 21:10:27.000000000 +0100 -+++ glibc-2.10.1/nscd/nscd.c 2009-11-13 00:50:24.000000000 +0100 -@@ -182,6 +182,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -231,12 +234,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -245,9 +242,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/patches/glibc/ports-2.10.1/310-hppa-nptl-carlos.patch b/patches/glibc/ports-2.10.1/310-hppa-nptl-carlos.patch deleted file mode 100644 index 0fed2a0..0000000 --- a/patches/glibc/ports-2.10.1/310-hppa-nptl-carlos.patch +++ /dev/null @@ -1,246 +0,0 @@ - - -diff -durN glibc-2.10.1.orig/elf/rtld.c glibc-2.10.1/elf/rtld.c ---- glibc-2.10.1.orig/elf/rtld.c 2009-04-17 02:00:08.000000000 +0200 -+++ glibc-2.10.1/elf/rtld.c 2009-11-13 00:50:26.000000000 +0100 -@@ -384,14 +384,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; -diff -durN glibc-2.10.1.orig/include/atomic.h glibc-2.10.1/include/atomic.h ---- glibc-2.10.1.orig/include/atomic.h 2009-02-09 00:49:53.000000000 +0100 -+++ glibc-2.10.1/include/atomic.h 2009-11-13 00:50:26.000000000 +0100 -@@ -174,7 +174,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -195,7 +195,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -213,7 +213,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -231,7 +231,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -248,7 +248,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -266,7 +266,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -350,7 +350,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -389,7 +389,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -407,7 +407,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -439,7 +439,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -457,7 +457,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -473,7 +473,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -489,7 +489,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ -diff -durN glibc-2.10.1.orig/nptl/Makefile glibc-2.10.1/nptl/Makefile ---- glibc-2.10.1.orig/nptl/Makefile 2008-11-12 14:38:23.000000000 +0100 -+++ glibc-2.10.1/nptl/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -262,9 +262,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -423,6 +423,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror -diff -durN glibc-2.10.1.orig/nptl/pthread_barrier_wait.c glibc-2.10.1/nptl/pthread_barrier_wait.c ---- glibc-2.10.1.orig/nptl/pthread_barrier_wait.c 2007-08-01 06:18:50.000000000 +0200 -+++ glibc-2.10.1/nptl/pthread_barrier_wait.c 2009-11-13 00:50:26.000000000 +0100 -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ -diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/Makefile glibc-2.10.1/nptl/sysdeps/pthread/Makefile ---- glibc-2.10.1.orig/nptl/sysdeps/pthread/Makefile 2006-02-28 08:09:41.000000000 +0100 -+++ glibc-2.10.1/nptl/sysdeps/pthread/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -41,7 +41,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - -diff -durN glibc-2.10.1.orig/stdio-common/Makefile glibc-2.10.1/stdio-common/Makefile ---- glibc-2.10.1.orig/stdio-common/Makefile 2009-04-11 07:29:56.000000000 +0200 -+++ glibc-2.10.1/stdio-common/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format -diff -durN glibc-2.10.1.orig/sunrpc/clnt_udp.c glibc-2.10.1/sunrpc/clnt_udp.c ---- glibc-2.10.1.orig/sunrpc/clnt_udp.c 2008-07-26 10:42:44.000000000 +0200 -+++ glibc-2.10.1/sunrpc/clnt_udp.c 2009-11-13 00:50:26.000000000 +0100 -@@ -462,7 +462,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/patches/glibc/ports-2.10.1/320-hppa-pie.patch b/patches/glibc/ports-2.10.1/320-hppa-pie.patch deleted file mode 100644 index f17507d..0000000 --- a/patches/glibc/ports-2.10.1/320-hppa-pie.patch +++ /dev/null @@ -1,29 +0,0 @@ - - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/hppa/elf/start.S glibc-2.10.1/glibc-ports-2.10.1/sysdeps/hppa/elf/start.S ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/hppa/elf/start.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/hppa/elf/start.S 2009-11-13 00:50:28.000000000 +0100 -@@ -96,16 +96,16 @@ - - #if SHARED - /* load main (1st argument) */ -- addil LR'.Lpmain, %r19 -- ldw RR'.Lpmain(%r1), %r26 -+ addil LT'.Lpmain, %r19 -+ ldw RT'.Lpmain(%r1), %r26 - ldw 0(%r26),%r26 - /* void (*init) (void) (4th argument) */ -- addil LR'.Lp__libc_csu_init, %r19 -- ldw RR'.Lp__libc_csu_init(%r1), %r23 -+ addil LT'.Lp__libc_csu_init, %r19 -+ ldw RT'.Lp__libc_csu_init(%r1), %r23 - ldw 0(%r23), %r23 - /* void (*fini) (void) (5th argument) */ -- addil LR'.Lp__libc_csu_fini, %r19 -- ldw RR'.Lp__libc_csu_fini(%r1), %r22 -+ addil LT'.Lp__libc_csu_fini, %r19 -+ ldw RT'.Lp__libc_csu_fini(%r1), %r22 - ldw 0(%r22), %r22 - #else - /* load main (1st argument) */ -diff -durN glibc-2.10.1.orig/ports/sysdeps/hppa/elf/start.S glibc-2.10.1/ports/sysdeps/hppa/elf/start.S diff --git a/patches/glibc/ports-2.10.1/330-m68k-sys-user.patch b/patches/glibc/ports-2.10.1/330-m68k-sys-user.patch deleted file mode 100644 index 9e07fca..0000000 --- a/patches/glibc/ports-2.10.1/330-m68k-sys-user.patch +++ /dev/null @@ -1,97 +0,0 @@ -copied from kernel as it is sanitized now - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/m68k/sys/user.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-11-13 00:50:31.000000000 +0100 -@@ -1,3 +1,90 @@ -+#ifndef _SYS_USER_H -+#define _SYS_USER_H -+ -+/* Core file format: The core file is written in such a way that gdb -+ can understand it and provide useful information to the user (under -+ linux we use the 'trad-core' bfd). There are quite a number of -+ obstacles to being able to view the contents of the floating point -+ registers, and until these are solved you will not be able to view the -+ contents of them. Actually, you can read in the core file and look at -+ the contents of the user struct to find out what the floating point -+ registers contain. -+ The actual file contents are as follows: -+ UPAGE: 1 page consisting of a user struct that tells gdb what is present -+ in the file. Directly after this is a copy of the task_struct, which -+ is currently not used by gdb, but it may come in useful at some point. -+ All of the registers are stored as part of the upage. The upage should -+ always be only one page. -+ DATA: The data area is stored. We use current->end_text to -+ current->brk to pick up all of the user variables, plus any memory -+ that may have been malloced. No attempt is made to determine if a page -+ is demand-zero or if a page is totally unused, we just cover the entire -+ range. All of the addresses are rounded in such a way that an integral -+ number of pages is written. -+ STACK: We need the stack information in order to get a meaningful -+ backtrace. We need to write the data from (esp) to -+ current->start_stack, so we round each of these off in order to be able -+ to write an integer number of pages. -+ The minimum core file size is 3 pages, or 12288 bytes. -+*/ -+ -+struct user_m68kfp_struct { -+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */ -+ unsigned long fpcntl[3]; /* fp control regs */ -+}; -+ -+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and -+ is still the layout used by user (the new pt_regs doesn't have -+ all registers). */ -+struct user_regs_struct { -+ long d1,d2,d3,d4,d5,d6,d7; -+ long a0,a1,a2,a3,a4,a5,a6; -+ long d0; -+ long usp; -+ long orig_d0; -+ short stkadj; -+ short sr; -+ long pc; -+ short fmtvec; -+ short __fill; -+}; -+ -+ -+/* When the kernel dumps core, it starts by dumping the user struct - -+ this will be used by gdb to figure out where the data and stack segments -+ are within the file, and what virtual addresses to use. */ -+struct user{ -+/* We start with the registers, to mimic the way that "memory" is returned -+ from the ptrace(3,...) function. */ -+ struct user_regs_struct regs; /* Where the registers are actually stored */ -+/* ptrace does not yet supply these. Someday.... */ -+ int u_fpvalid; /* True if math co-processor being used. */ -+ /* for this mess. Not yet used. */ -+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */ -+/* The rest of this junk is to help gdb figure out what goes where */ -+ unsigned long int u_tsize; /* Text segment size (pages). */ -+ unsigned long int u_dsize; /* Data segment size (pages). */ -+ unsigned long int u_ssize; /* Stack segment size (pages). */ -+ unsigned long start_code; /* Starting virtual address of text. */ -+ unsigned long start_stack; /* Starting virtual address of stack area. -+ This is actually the bottom of the stack, -+ the top of the stack is always found in the -+ esp register. */ -+ long int signal; /* Signal that caused the core dump. */ -+ int reserved; /* No longer used */ -+ struct user_regs_struct *u_ar0; -+ /* Used by gdb to help find the values for */ -+ /* the registers. */ -+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */ -+ unsigned long magic; /* To uniquely identify a core file */ -+ char u_comm[32]; /* User command that was responsible */ -+}; -+#define NBPG 4096 -+#define UPAGES 1 -+#define HOST_TEXT_START_ADDR (u.start_code) -+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) -+ -+#endif - /* Copyright (C) 2008 Free Software Foundation, Inc. - This file is part of the GNU C Library. - -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h diff --git a/patches/glibc/ports-2.10.1/340-dl_execstack-PaX-support.patch b/patches/glibc/ports-2.10.1/340-dl_execstack-PaX-support.patch deleted file mode 100644 index 21a9759..0000000 --- a/patches/glibc/ports-2.10.1/340-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,66 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - -diff -durN glibc-2.10.1.orig/nptl/allocatestack.c glibc-2.10.1/nptl/allocatestack.c ---- glibc-2.10.1.orig/nptl/allocatestack.c 2009-01-29 21:34:16.000000000 +0100 -+++ glibc-2.10.1/nptl/allocatestack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -326,7 +326,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/dl-execstack.c glibc-2.10.1/sysdeps/unix/sysv/linux/dl-execstack.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/dl-execstack.c 2006-01-08 09:21:15.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/dl-execstack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/patches/glibc/ports-2.10.1/350-pre20040117-pt_pax.patch b/patches/glibc/ports-2.10.1/350-pre20040117-pt_pax.patch deleted file mode 100644 index 78ced36..0000000 --- a/patches/glibc/ports-2.10.1/350-pre20040117-pt_pax.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.10.1.orig/elf/elf.h glibc-2.10.1/elf/elf.h ---- glibc-2.10.1.orig/elf/elf.h 2009-04-15 02:15:54.000000000 +0200 -+++ glibc-2.10.1/elf/elf.h 2009-11-13 00:50:35.000000000 +0100 -@@ -572,6 +572,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -585,6 +586,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/patches/glibc/ports-2.10.1/360-tests-sandbox-libdl-paths.patch b/patches/glibc/ports-2.10.1/360-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 0ac9dda..0000000 --- a/patches/glibc/ports-2.10.1/360-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,193 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - -diff -durN glibc-2.10.1.orig/grp/tst_fgetgrent.sh glibc-2.10.1/grp/tst_fgetgrent.sh ---- glibc-2.10.1.orig/grp/tst_fgetgrent.sh 2001-07-06 06:54:46.000000000 +0200 -+++ glibc-2.10.1/grp/tst_fgetgrent.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - -diff -durN glibc-2.10.1.orig/iconvdata/run-iconv-test.sh glibc-2.10.1/iconvdata/run-iconv-test.sh ---- glibc-2.10.1.orig/iconvdata/run-iconv-test.sh 2008-05-15 03:59:44.000000000 +0200 -+++ glibc-2.10.1/iconvdata/run-iconv-test.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ -diff -durN glibc-2.10.1.orig/iconvdata/tst-table.sh glibc-2.10.1/iconvdata/tst-table.sh ---- glibc-2.10.1.orig/iconvdata/tst-table.sh 2002-04-24 23:39:35.000000000 +0200 -+++ glibc-2.10.1/iconvdata/tst-table.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - -diff -durN glibc-2.10.1.orig/intl/tst-codeset.sh glibc-2.10.1/intl/tst-codeset.sh ---- glibc-2.10.1.orig/intl/tst-codeset.sh 2005-04-06 04:18:35.000000000 +0200 -+++ glibc-2.10.1/intl/tst-codeset.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - -diff -durN glibc-2.10.1.orig/intl/tst-gettext.sh glibc-2.10.1/intl/tst-gettext.sh ---- glibc-2.10.1.orig/intl/tst-gettext.sh 2004-08-15 21:28:18.000000000 +0200 -+++ glibc-2.10.1/intl/tst-gettext.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.10.1.orig/intl/tst-gettext2.sh glibc-2.10.1/intl/tst-gettext2.sh ---- glibc-2.10.1.orig/intl/tst-gettext2.sh 2005-05-04 19:54:48.000000000 +0200 -+++ glibc-2.10.1/intl/tst-gettext2.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.10.1.orig/malloc/tst-mtrace.sh glibc-2.10.1/malloc/tst-mtrace.sh ---- glibc-2.10.1.orig/malloc/tst-mtrace.sh 2005-10-15 01:40:35.000000000 +0200 -+++ glibc-2.10.1/malloc/tst-mtrace.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then -diff -durN glibc-2.10.1.orig/nptl/tst-tls6.sh glibc-2.10.1/nptl/tst-tls6.sh ---- glibc-2.10.1.orig/nptl/tst-tls6.sh 2003-09-03 00:02:59.000000000 +0200 -+++ glibc-2.10.1/nptl/tst-tls6.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - -diff -durN glibc-2.10.1.orig/posix/globtest.sh glibc-2.10.1/posix/globtest.sh ---- glibc-2.10.1.orig/posix/globtest.sh 2008-12-06 07:05:39.000000000 +0100 -+++ glibc-2.10.1/posix/globtest.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C -diff -durN glibc-2.10.1.orig/posix/tst-getconf.sh glibc-2.10.1/posix/tst-getconf.sh ---- glibc-2.10.1.orig/posix/tst-getconf.sh 2002-09-01 13:11:25.000000000 +0200 -+++ glibc-2.10.1/posix/tst-getconf.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - -diff -durN glibc-2.10.1.orig/posix/wordexp-tst.sh glibc-2.10.1/posix/wordexp-tst.sh ---- glibc-2.10.1.orig/posix/wordexp-tst.sh 2000-10-20 18:23:30.000000000 +0200 -+++ glibc-2.10.1/posix/wordexp-tst.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/patches/glibc/ports-2.10.1/370-fnmatch.patch b/patches/glibc/ports-2.10.1/370-fnmatch.patch deleted file mode 100644 index 6c1f1dc..0000000 --- a/patches/glibc/ports-2.10.1/370-fnmatch.patch +++ /dev/null @@ -1,62 +0,0 @@ -http://sourceware.org/ml/libc-hacker/2002-11/msg00071.html - -When fnmatch detects an invalid multibyte character it should fall back to -single byte matching, so that "*" has a chance to match such a string. - -Andreas. - -2005-04-12 Andreas Schwab - - * posix/fnmatch.c (fnmatch): If conversion to wide character - fails fall back to single byte matching. - -Index: posix/fnmatch.c -=================================================================== - -diff -durN glibc-2.10.1.orig/posix/fnmatch.c glibc-2.10.1/posix/fnmatch.c ---- glibc-2.10.1.orig/posix/fnmatch.c 2007-07-28 22:35:00.000000000 +0200 -+++ glibc-2.10.1/posix/fnmatch.c 2009-11-13 00:50:39.000000000 +0100 -@@ -327,6 +327,7 @@ - # if HANDLE_MULTIBYTE - if (__builtin_expect (MB_CUR_MAX, 1) != 1) - { -+ const char *orig_pattern = pattern; - mbstate_t ps; - size_t n; - const char *p; -@@ -382,10 +383,8 @@ - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - n = mbsrtowcs (wstring, &p, n + 1, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -397,10 +396,8 @@ - prepare_wstring: - n = mbsrtowcs (NULL, &string, 0, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - assert (mbsinit (&ps)); - (void) mbsrtowcs (wstring, &string, n + 1, &ps); -@@ -408,6 +405,9 @@ - - return internal_fnwmatch (wpattern, wstring, wstring + n, - flags & FNM_PERIOD, flags, NULL); -+ -+ try_singlebyte: -+ pattern = orig_pattern; - } - # endif /* mbstate_t and mbsrtowcs or _LIBC. */ - diff --git a/patches/glibc/ports-2.10.1/380-dont-build-timezone.patch b/patches/glibc/ports-2.10.1/380-dont-build-timezone.patch deleted file mode 100644 index c897c61..0000000 --- a/patches/glibc/ports-2.10.1/380-dont-build-timezone.patch +++ /dev/null @@ -1,14 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - -diff -durN glibc-2.10.1.orig/Makeconfig glibc-2.10.1/Makeconfig ---- glibc-2.10.1.orig/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -+++ glibc-2.10.1/Makeconfig 2009-11-13 00:50:41.000000000 +0100 -@@ -919,7 +919,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/patches/glibc/ports-2.10.1/390-cross-compile-nptl.patch b/patches/glibc/ports-2.10.1/390-cross-compile-nptl.patch deleted file mode 100644 index f4d96f5..0000000 --- a/patches/glibc/ports-2.10.1/390-cross-compile-nptl.patch +++ /dev/null @@ -1,52 +0,0 @@ -A little hack for cross-compiling NPTL - -http://sourceware.org/ml/libc-alpha/2005-02/msg00043.html - -diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure glibc-2.10.1/nptl/sysdeps/pthread/configure ---- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure 2009-05-17 14:19:31.000000000 +0200 -+++ glibc-2.10.1/nptl/sysdeps/pthread/configure 2009-11-13 00:50:43.000000000 +0100 -@@ -78,6 +78,10 @@ - fi - { echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 - echo "${ECHO_T}$libc_cv_forced_unwind" >&6; } -+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then -+ echo "$as_me:$LINENO: forcing libc_cv_forced_unwind = yes for cross-compile" -+ libc_cv_forced_unwind=yes -+fi - if test $libc_cv_forced_unwind = yes; then - cat >>confdefs.h <<\_ACEOF - #define HAVE_FORCED_UNWIND 1 -@@ -141,6 +145,10 @@ - { echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 - echo "${ECHO_T}$libc_cv_c_cleanup" >&6; } - CFLAGS="$old_CFLAGS" -+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then -+ echo "$as_me:$LINENO: result: forcing libc_cv_c_cleanup = yes for cross-compile" -+ libc_cv_c_cleanup=yes -+ fi - if test $libc_cv_c_cleanup = no; then - { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5 - echo "$as_me: error: the compiler must support C cleanup handling" >&2;} -diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in glibc-2.10.1/nptl/sysdeps/pthread/configure.in ---- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in 2003-12-03 07:50:01.000000000 +0100 -+++ glibc-2.10.1/nptl/sysdeps/pthread/configure.in 2009-11-13 00:50:43.000000000 +0100 -@@ -28,6 +28,9 @@ - struct _Unwind_Context *context; - _Unwind_GetCFA (context)], - libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) -+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then -+ libc_cv_forced_unwind=yes -+fi - if test $libc_cv_forced_unwind = yes; then - AC_DEFINE(HAVE_FORCED_UNWIND) - dnl Check for C cleanup handling. -@@ -41,6 +44,9 @@ - puts ("test")], - libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)]) - CFLAGS="$old_CFLAGS" -+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then -+ libc_cv_c_cleanup=yes -+ fi - if test $libc_cv_c_cleanup = no; then - AC_MSG_ERROR([the compiler must support C cleanup handling]) - fi diff --git a/patches/glibc/ports-2.10.1/400-alpha-xstat.patch b/patches/glibc/ports-2.10.1/400-alpha-xstat.patch deleted file mode 100644 index d442b63..0000000 --- a/patches/glibc/ports-2.10.1/400-alpha-xstat.patch +++ /dev/null @@ -1,250 +0,0 @@ -http://sources.redhat.com/bugzilla/show_bug.cgi?id=1026 -http://sourceware.org/ml/libc-alpha/2005-02/msg00122.html - -2005-02-26 GOTO Masanori - - * sysdeps/unix/sysv/linux/kernel-features.h: Define - __ASSUME_STAT64_SYSCALL. - * sysdeps/unix/sysv/linux/alpha/fxstat.c: Check - __ASSUME_STAT64_SYSCALL. - * sysdeps/unix/sysv/linux/alpha/fxstatat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/lxstat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/xstat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Don't define - __libc_missing_axp_stat64 when it's not needed. - * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise. - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstat.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstat.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstat.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstat.c 2009-11-13 00:50:45.000000000 +0100 -@@ -35,27 +35,39 @@ - __fxstat (int vers, int fd, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_fstat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__fxstat) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstatat.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstatat.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstatat.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/fxstatat.c 2009-11-13 00:50:45.000000000 +0100 -@@ -65,6 +65,20 @@ - int result, errno_out; - struct kernel_stat kst; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ if (flag & AT_SYMLINK_NOFOLLOW) -+ result = INTERNAL_SYSCALL (lstat64, err, 2, file, st); -+ else -+ result = INTERNAL_SYSCALL (stat64, err, 2, file, st); -+ -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -+ goto fail; -+ } -+#elif defined __NR_stat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { - if (flag & AT_SYMLINK_NOFOLLOW) -@@ -79,6 +93,7 @@ - goto fail; - __libc_missing_axp_stat64 = 1; - } -+#endif - - if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst); -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/lxstat.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/lxstat.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/lxstat.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/lxstat.c 2009-11-13 00:50:45.000000000 +0100 -@@ -35,27 +35,39 @@ - __lxstat (int vers, const char *name, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_lstat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__lxstat) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstat.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstat.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstat.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstat.c 2009-11-13 00:50:45.000000000 +0100 -@@ -35,27 +35,39 @@ - __xstat (int vers, const char *name, struct stat *buf) - { - INTERNAL_SYSCALL_DECL (err); -- int result, errno_out; -+ int result; - struct kernel_stat kbuf; - -+#if __ASSUME_STAT64_SYSCALL > 0 -+ if (vers == _STAT_VER_KERNEL64) -+ { -+ result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); -+ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) -+ return result; -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); -+ return -1; -+ } -+#elif defined __NR_stat64 - if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) - { -+ int errno_out; - result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); - if (errno_out != ENOSYS) -- goto fail; -+ { -+ __set_errno (errno_out); -+ return -1; -+ } - __libc_missing_axp_stat64 = 1; - } -+#endif - - result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf); - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kbuf, buf); -- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -- -- fail: -- __set_errno (errno_out); -+ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); - return -1; - } - hidden_def (__xstat) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.c 2009-11-13 00:50:45.000000000 +0100 -@@ -22,9 +22,14 @@ - #include - #include - #include -+#include - - -+#ifdef __NR_stat64 -+# if __ASSUME_STAT64_SYSCALL == 0 - int __libc_missing_axp_stat64; -+# endif -+#endif - - int - __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/xstatconv.h 2009-11-13 00:50:45.000000000 +0100 -@@ -18,7 +18,12 @@ - 02111-1307 USA. */ - - #include -+#include - -+#ifdef __NR_stat64 -+# if __ASSUME_STAT64_SYSCALL == 0 - extern int __libc_missing_axp_stat64 attribute_hidden; -+# endif -+#endif - extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) - attribute_hidden; -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/fxstat.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/fxstat.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/lxstat.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/lxstat.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/xstat.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/xstat.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.10.1/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-05-09 08:54:20.000000000 +0200 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -@@ -395,6 +395,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/patches/glibc/ports-2.10.1/410-alpha-no-page-header.patch b/patches/glibc/ports-2.10.1/410-alpha-no-page-header.patch deleted file mode 100644 index f2397e2..0000000 --- a/patches/glibc/ports-2.10.1/410-alpha-no-page-header.patch +++ /dev/null @@ -1,28 +0,0 @@ -2008-06-07 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions - from the kernel header to sys/user.h and remove the #include of - sys/user.h. - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/user.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/user.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/user.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/user.h 2009-11-13 00:50:47.000000000 +0100 -@@ -23,7 +23,6 @@ - only. Don't read too much into it. Don't use it for anything other - than gdb/strace unless you know what you are doing. */ - --#include - #include - - struct user -@@ -41,6 +40,9 @@ - char u_comm[32]; /* user command name */ - }; - -+#define PAGE_SHIFT 13 -+#define PAGE_SIZE (1 << PAGE_SHIFT) -+#define PAGE_MASK (~(PAGE_SIZE-1)) - #define NBPG PAGE_SIZE - #define UPAGES 1 - #define HOST_TEXT_START_ADDR (u.start_code) -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sys/user.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sys/user.h diff --git a/patches/glibc/ports-2.10.1/420-alpha-no-asm-elf-header.patch b/patches/glibc/ports-2.10.1/420-alpha-no-asm-elf-header.patch deleted file mode 100644 index bde28ad..0000000 --- a/patches/glibc/ports-2.10.1/420-alpha-no-asm-elf-header.patch +++ /dev/null @@ -1,34 +0,0 @@ -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some defines - from alpha's asm/elf.h - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h 2009-11-13 00:50:49.000000000 +0100 -@@ -29,10 +29,23 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * The OSF/1 version of makes gregset_t 46 entries long. -+ * I have no idea why that is so. For now, we just leave it at 33 -+ * (32 general regs + processor status word). -+ */ -+#define ELF_NGREG 33 -+#define ELF_NFPREG 32 -+ -+typedef unsigned long elf_greg_t; -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef double elf_fpreg_t; -+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h diff --git a/patches/glibc/ports-2.10.1/430-alpha-creat.patch b/patches/glibc/ports-2.10.1/430-alpha-creat.patch deleted file mode 100644 index e80294f..0000000 --- a/patches/glibc/ports-2.10.1/430-alpha-creat.patch +++ /dev/null @@ -1,14 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c glibc-2.10.1/sysdeps/unix/sysv/linux/wordsize-64/creat64.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2007-11-10 20:34:26.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2009-11-13 00:50:51.000000000 +0100 -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/patches/glibc/ports-2.10.1/440-alpha-cache-shape.patch b/patches/glibc/ports-2.10.1/440-alpha-cache-shape.patch deleted file mode 100644 index 77d0753..0000000 --- a/patches/glibc/ports-2.10.1/440-alpha-cache-shape.patch +++ /dev/null @@ -1,13 +0,0 @@ -older verisons of glibc would build dl-sysdep as shared-only and dl-support as -static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of -glibc build dl-sysdep as both shared and static which means we now have symbol -duplication for static builds with dl-sysdep and dl-support. since dl-sysdep -is both shared/static, there is no point in hooking dl-support anymore, so we -can punt it. - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/dl-support.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/dl-support.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-11-13 00:50:53.000000000 +0100 -@@ -1,2 +1,1 @@ --#include "dl-auxv.h" - #include diff --git a/patches/glibc/ports-2.10.1/450-alpha-ptr-mangling.patch b/patches/glibc/ports-2.10.1/450-alpha-ptr-mangling.patch deleted file mode 100644 index 5483659..0000000 --- a/patches/glibc/ports-2.10.1/450-alpha-ptr-mangling.patch +++ /dev/null @@ -1,111 +0,0 @@ -http://bugs.gentoo.org/201910 - -For every arch, PTR_MANGLE and PTR_DEMANGLE defines are in -sysdeps/unix/sysv/linux//sysdep.h. But for alpha this is not true. The -defines are in sysdeps/unix/alpha/sysdep.h and unix/sysv/linux/alpha/sysdep.h -includes the first. - -This is a patch that fixes the issue and let alpha build, at the expense of -disabling MANGLING in the non PIC case, but googling showed that the issue is -known, and that nobody really cares about it. - -Info from: http://sourceware.org/bugzilla/show_bug.cgi?id=5216 - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/alpha/sysdep.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/alpha/sysdep.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/alpha/sysdep.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/alpha/sysdep.h 2009-11-13 00:50:55.000000000 +0100 -@@ -397,42 +397,4 @@ - _sc_ret = _sc_0, _sc_err = _sc_19; \ - } - --/* Pointer mangling support. Note that tls access is slow enough that -- we don't deoptimize things by placing the pointer check value there. */ -- --#include -- --#if defined NOT_IN_libc && defined IS_IN_rtld --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; --# define PTR_MANGLE(var) \ -- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#elif defined PIC --# ifdef __ASSEMBLER__ --# define PTR_MANGLE(dst, src, tmp) \ -- ldq tmp, __pointer_chk_guard; \ -- xor src, tmp, dst --# define PTR_MANGLE2(dst, src, tmp) \ -- xor src, tmp, dst --# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) --# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) --# else --extern uintptr_t __pointer_chk_guard attribute_relro; --# define PTR_MANGLE(var) \ -- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) --# define PTR_DEMANGLE(var) PTR_MANGLE(var) --# endif --#endif -- - #endif /* ASSEMBLER */ -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysdep.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysdep.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysdep.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysdep.h 2009-11-13 00:50:55.000000000 +0100 -@@ -98,4 +98,46 @@ - INTERNAL_SYSCALL1(name, err_out, nr, args); \ - }) - -+/* Pointer mangling support. Note that tls access is slow enough that -+ we don't deoptimize things by placing the pointer check value there. */ -+ -+#if defined NOT_IN_libc && defined IS_IN_rtld -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ -+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -+# define PTR_MANGLE(var) \ -+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#elif defined PIC -+# ifdef __ASSEMBLER__ -+# define PTR_MANGLE(dst, src, tmp) \ -+ ldq tmp, __pointer_chk_guard; \ -+ xor src, tmp, dst -+# define PTR_MANGLE2(dst, src, tmp) \ -+ xor src, tmp, dst -+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -+# else -+extern uintptr_t __pointer_chk_guard attribute_relro; -+# define PTR_MANGLE(var) \ -+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard) -+# define PTR_DEMANGLE(var) PTR_MANGLE(var) -+# endif -+#else -+/* Pointer mangling is not yet supported for static libc on alpha. */ -+# ifndef __ASSEMBLER__ -+# define PTR_MANGLE(var) (void) (var) -+# define PTR_DEMANGLE(var) (void) (var) -+# endif -+#endif -+ - #endif /* _LINUX_ALPHA_SYSDEP_H */ -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/alpha/sysdep.h glibc-2.10.1/ports/sysdeps/unix/alpha/sysdep.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sysdep.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sysdep.h diff --git a/patches/glibc/ports-2.10.1/460-alpha-fix-gcc-4.1-warnings.patch b/patches/glibc/ports-2.10.1/460-alpha-fix-gcc-4.1-warnings.patch deleted file mode 100644 index a657231..0000000 --- a/patches/glibc/ports-2.10.1/460-alpha-fix-gcc-4.1-warnings.patch +++ /dev/null @@ -1,56 +0,0 @@ -2006-05-30 Falk Hueffner - - * sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture - to ev6 in assembly code. - -{standard input}: Assembler messages: -{standard input}:341: Error: macro requires $at register while noat in effect -{standard input}:374: Error: macro requires $at register while noat in effect -{standard input}:438: Error: macro requires $at register while noat in effect -{standard input}:471: Error: macro requires $at register while noat in effect -make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1 - -Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as. -I cannot really think of anything better than - - ports/sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/ioperm.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-11-13 00:50:57.000000000 +0100 -@@ -178,13 +178,13 @@ - static inline void - stb_mb(unsigned char val, unsigned long addr) - { -- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); -+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); - } - - static inline void - stw_mb(unsigned short val, unsigned long addr) - { -- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); -+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); - } - - static inline void -@@ -356,7 +356,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned char r; - -- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); -+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); - return r; - } - -@@ -366,7 +366,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned short r; - -- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); -+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); - return r; - } - -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c diff --git a/patches/glibc/ports-2.10.1/470-alpha-floor_ceil_fix.patch b/patches/glibc/ports-2.10.1/470-alpha-floor_ceil_fix.patch deleted file mode 100644 index 571e1fb..0000000 --- a/patches/glibc/ports-2.10.1/470-alpha-floor_ceil_fix.patch +++ /dev/null @@ -1,270 +0,0 @@ -http://sources.redhat.com/bugzilla/show_bug.cgi?id=5350 -https://bugs.gentoo.org/264335 - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceil.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceil.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceil.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceil.c 2009-11-13 00:50:59.000000000 +0100 -@@ -27,20 +27,25 @@ - double - __ceil (double x) - { -- double two52 = copysign (0x1.0p52, x); -- double r, tmp; -- -- __asm ( -+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */ -+ { -+ double tmp1, new_x; -+ -+ new_x = -x; -+ __asm ( - #ifdef _IEEE_FP_INEXACT -- "addt/suim %2, %3, %1\n\tsubt/suim %1, %3, %0" -+ "cvttq/svim %2,%1\n\t" - #else -- "addt/sum %2, %3, %1\n\tsubt/sum %1, %3, %0" -+ "cvttq/svm %2,%1\n\t" - #endif -- : "=&f"(r), "=&f"(tmp) -- : "f"(-x), "f"(-two52)); -+ "cvtqt/m %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1) -+ : "f"(new_x)); - -- /* Fix up the negation we did above, as well as handling -0 properly. */ -- return copysign (r, x); -+ /* Fix up the negation we did above, as well as handling -0 properly. */ -+ x = copysign(new_x, x); -+ } -+ return x; - } - - weak_alias (__ceil, ceil) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceilf.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceilf.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceilf.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_ceilf.c 2009-11-13 00:50:59.000000000 +0100 -@@ -26,20 +26,30 @@ - float - __ceilf (float x) - { -- float two23 = copysignf (0x1.0p23, x); -- float r, tmp; -- -- __asm ( -+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */ -+ { -+ /* Note that Alpha S_Floating is stored in registers in a -+ restricted T_Floating format, so we don't even need to -+ convert back to S_Floating in the end. The initial -+ conversion to T_Floating is needed to handle denormals. */ -+ -+ float tmp1, tmp2, new_x; -+ -+ new_x = -x; -+ __asm ("cvtst/s %3,%2\n\t" - #ifdef _IEEE_FP_INEXACT -- "adds/suim %2, %3, %1\n\tsubs/suim %1, %3, %0" -+ "cvttq/svim %2,%1\n\t" - #else -- "adds/sum %2, %3, %1\n\tsubs/sum %1, %3, %0" -+ "cvttq/svm %2,%1\n\t" - #endif -- : "=&f"(r), "=&f"(tmp) -- : "f"(-x), "f"(-two23)); -+ "cvtqt/m %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2) -+ : "f"(new_x)); - -- /* Fix up the negation we did above, as well as handling -0 properly. */ -- return copysignf (r, x); -+ /* Fix up the negation we did above, as well as handling -0 properly. */ -+ x = copysignf(new_x, x); -+ } -+ return x; - } - - weak_alias (__ceilf, ceilf) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floor.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floor.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floor.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floor.c 2009-11-13 00:50:59.000000000 +0100 -@@ -21,26 +21,32 @@ - #include - - --/* Use the -inf rounding mode conversion instructions to implement floor. */ -+/* Use the -inf rounding mode conversion instructions to implement -+ floor. We note when the exponent is large enough that the value -+ must be integral, as this avoids unpleasant integer overflows. */ - - double - __floor (double x) - { -- double two52 = copysign (0x1.0p52, x); -- double r, tmp; -- -- __asm ( -+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */ -+ { -+ double tmp1, new_x; -+ -+ __asm ( - #ifdef _IEEE_FP_INEXACT -- "addt/suim %2, %3, %1\n\tsubt/suim %1, %3, %0" -+ "cvttq/svim %2,%1\n\t" - #else -- "addt/sum %2, %3, %1\n\tsubt/sum %1, %3, %0" -+ "cvttq/svm %2,%1\n\t" - #endif -- : "=&f"(r), "=&f"(tmp) -- : "f"(x), "f"(two52)); -+ "cvtqt/m %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1) -+ : "f"(x)); - -- /* floor(-0) == -0, and in general we'll always have the same -- sign as our input. */ -- return copysign (r, x); -+ /* floor(-0) == -0, and in general we'll always have the same -+ sign as our input. */ -+ x = copysign(new_x, x); -+ } -+ return x; - } - - weak_alias (__floor, floor) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floorf.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floorf.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floorf.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_floorf.c 2009-11-13 00:50:59.000000000 +0100 -@@ -20,26 +20,37 @@ - #include - - --/* Use the -inf rounding mode conversion instructions to implement floor. */ -+/* Use the -inf rounding mode conversion instructions to implement -+ floor. We note when the exponent is large enough that the value -+ must be integral, as this avoids unpleasant integer overflows. */ - - float - __floorf (float x) - { -- float two23 = copysignf (0x1.0p23, x); -- float r, tmp; -- -- __asm ( -+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */ -+ { -+ /* Note that Alpha S_Floating is stored in registers in a -+ restricted T_Floating format, so we don't even need to -+ convert back to S_Floating in the end. The initial -+ conversion to T_Floating is needed to handle denormals. */ -+ -+ float tmp1, tmp2, new_x; -+ -+ __asm ("cvtst/s %3,%2\n\t" - #ifdef _IEEE_FP_INEXACT -- "adds/suim %2, %3, %1\n\tsubs/suim %1, %3, %0" -+ "cvttq/svim %2,%1\n\t" - #else -- "adds/sum %2, %3, %1\n\tsubs/sum %1, %3, %0" -+ "cvttq/svm %2,%1\n\t" - #endif -- : "=&f"(r), "=&f"(tmp) -- : "f"(x), "f"(two23)); -+ "cvtqt/m %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2) -+ : "f"(x)); - -- /* floor(-0) == -0, and in general we'll always have the same -- sign as our input. */ -- return copysignf (r, x); -+ /* floor(-0) == -0, and in general we'll always have the same -+ sign as our input. */ -+ x = copysignf(new_x, x); -+ } -+ return x; - } - - weak_alias (__floorf, floorf) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rint.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rint.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rint.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rint.c 2009-11-13 00:50:59.000000000 +0100 -@@ -24,15 +24,24 @@ - double - __rint (double x) - { -- double two52 = copysign (0x1.0p52, x); -- double r; -- -- r = x + two52; -- r = r - two52; -+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */ -+ { -+ double tmp1, new_x; -+ __asm ( -+#ifdef _IEEE_FP_INEXACT -+ "cvttq/svid %2,%1\n\t" -+#else -+ "cvttq/svd %2,%1\n\t" -+#endif -+ "cvtqt/d %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1) -+ : "f"(x)); - -- /* rint(-0.1) == -0, and in general we'll always have the same sign -- as our input. */ -- return copysign (r, x); -+ /* rint(-0.1) == -0, and in general we'll always have the same -+ sign as our input. */ -+ x = copysign(new_x, x); -+ } -+ return x; - } - - weak_alias (__rint, rint) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rintf.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rintf.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rintf.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/fpu/s_rintf.c 2009-11-13 00:50:59.000000000 +0100 -@@ -23,15 +23,30 @@ - float - __rintf (float x) - { -- float two23 = copysignf (0x1.0p23, x); -- float r; -+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */ -+ { -+ /* Note that Alpha S_Floating is stored in registers in a -+ restricted T_Floating format, so we don't even need to -+ convert back to S_Floating in the end. The initial -+ conversion to T_Floating is needed to handle denormals. */ - -- r = x + two23; -- r = r - two23; -+ float tmp1, tmp2, new_x; - -- /* rint(-0.1) == -0, and in general we'll always have the same sign -- as our input. */ -- return copysign (r, x); -+ __asm ("cvtst/s %3,%2\n\t" -+#ifdef _IEEE_FP_INEXACT -+ "cvttq/svid %2,%1\n\t" -+#else -+ "cvttq/svd %2,%1\n\t" -+#endif -+ "cvtqt/d %1,%0\n\t" -+ : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2) -+ : "f"(x)); -+ -+ /* rint(-0.1) == -0, and in general we'll always have the same -+ sign as our input. */ -+ x = copysignf(new_x, x); -+ } -+ return x; - } - - weak_alias (__rintf, rintf) -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_ceil.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_ceil.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_ceilf.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_ceilf.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_floor.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_floor.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_floorf.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_floorf.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_rint.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_rint.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/fpu/s_rintf.c glibc-2.10.1/ports/sysdeps/alpha/fpu/s_rintf.c diff --git a/patches/glibc/ports-2.10.1/480-alpha-add-dl-procinfo-support.patch b/patches/glibc/ports-2.10.1/480-alpha-add-dl-procinfo-support.patch deleted file mode 100644 index ccce756..0000000 --- a/patches/glibc/ports-2.10.1/480-alpha-add-dl-procinfo-support.patch +++ /dev/null @@ -1,170 +0,0 @@ - ports/sysdeps/alpha/dl-machine.h | 12 ++++++ - ports/sysdeps/alpha/dl-procinfo.c | 64 +++++++++++++++++++++++++++++++++++ - ports/sysdeps/alpha/dl-procinfo.h | 68 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 144 insertions(+) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-machine.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-machine.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-machine.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-machine.h 2009-11-13 00:51:02.000000000 +0100 -@@ -249,6 +249,18 @@ - /* The alpha never uses Elf64_Rel relocations. */ - #define ELF_MACHINE_NO_REL 1 - -+/* We define an initialization functions. This is called very early in -+ * _dl_sysdep_start. */ -+#define DL_PLATFORM_INIT dl_platform_init () -+ -+static inline void __attribute__ ((unused)) -+dl_platform_init (void) -+{ -+ if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0') -+ /* Avoid an empty string which would disturb us. */ -+ GLRO(dl_platform) = NULL; -+} -+ - /* Fix up the instructions of a PLT entry to invoke the function - rather than the dynamic linker. */ - static inline Elf64_Addr -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.c 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.c 2009-11-13 00:51:02.000000000 +0100 -@@ -0,0 +1,64 @@ -+/* Data for Alpha version of processor capability information. -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Aurelien Jarno , 2007. -+ -+ 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. */ -+ -+/* This information must be kept in sync with the _DL_PLATFORM_COUNT -+ definitions in procinfo.h. -+ -+ If anything should be added here check whether the size of each string -+ is still ok with the given array size. -+ -+ All the #ifdefs in the definitions are quite irritating but -+ necessary if we want to avoid duplicating the information. There -+ are three different modes: -+ -+ - PROCINFO_DECL is defined. This means we are only interested in -+ declarations. -+ -+ - PROCINFO_DECL is not defined: -+ -+ + if SHARED is defined the file is included in an array -+ initializer. The .element = { ... } syntax is needed. -+ -+ + if SHARED is not defined a normal array initialization is -+ needed. -+ */ -+ -+#ifndef PROCINFO_CLASS -+#define PROCINFO_CLASS -+#endif -+ -+#if !defined PROCINFO_DECL && defined SHARED -+ ._dl_alpha_platforms -+#else -+PROCINFO_CLASS const char _dl_alpha_platforms[5][5] -+#endif -+#ifndef PROCINFO_DECL -+= { -+ "ev4", "ev5", "ev56", "ev6", "ev67" -+ } -+#endif -+#if !defined SHARED || defined PROCINFO_DECL -+; -+#else -+, -+#endif -+ -+#undef PROCINFO_DECL -+#undef PROCINFO_CLASS -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.h 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/dl-procinfo.h 2009-11-13 00:51:02.000000000 +0100 -@@ -0,0 +1,68 @@ -+/* Alpha version of processor capability information handling macros. -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Aurelien Jarno , 2007. -+ -+ 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 _DL_PROCINFO_H -+#define _DL_PROCINFO_H 1 -+ -+#include -+ -+ -+/* Mask to filter out platforms. */ -+#define _DL_HWCAP_PLATFORM (-1ULL) -+ -+#define _DL_PLATFORMS_COUNT 5 -+ -+static inline const char * -+__attribute__ ((unused)) -+_dl_platform_string (int idx) -+{ -+ return GLRO(dl_alpha_platforms)[idx]; -+}; -+ -+static inline int -+__attribute__ ((unused, always_inline)) -+_dl_string_platform (const char *str) -+{ -+ int i; -+ -+ if (str != NULL) -+ for (i = 0; i < _DL_PLATFORMS_COUNT; ++i) -+ { -+ if (strcmp (str, _dl_platform_string (i)) == 0) -+ return i; -+ } -+ return -1; -+}; -+ -+/* We cannot provide a general printing function. */ -+#define _dl_procinfo(word) -1 -+ -+/* There are no hardware capabilities defined. */ -+#define _dl_hwcap_string(idx) "" -+ -+/* By default there is no important hardware capability. */ -+#define HWCAP_IMPORTANT (0) -+ -+/* We don't have any hardware capabilities. */ -+#define _DL_HWCAP_COUNT 0 -+ -+#define _dl_string_hwcap(str) (-1) -+ -+#endif /* dl-procinfo.h */ -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/dl-machine.h glibc-2.10.1/ports/sysdeps/alpha/dl-machine.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/dl-procinfo.c glibc-2.10.1/ports/sysdeps/alpha/dl-procinfo.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/dl-procinfo.h glibc-2.10.1/ports/sysdeps/alpha/dl-procinfo.h diff --git a/patches/glibc/ports-2.10.1/490-alpha_alpha-add-fdatasync-support.patch b/patches/glibc/ports-2.10.1/490-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index ec8d57b..0000000 --- a/patches/glibc/ports-2.10.1/490-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,126 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/Makefile glibc-2.10.1/sysdeps/unix/sysv/linux/Makefile ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/Makefile 2009-03-02 17:15:13.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/Makefile 2009-11-13 00:51:04.000000000 +0100 -@@ -16,6 +16,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - - sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/fdatasync.c glibc-2.10.1/sysdeps/unix/sysv/linux/fdatasync.c ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/fdatasync.c 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/fdatasync.c 2009-11-13 00:51:04.000000000 +0100 -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.10.1/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:51:04.000000000 +0100 -@@ -479,6 +479,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on alpha and s390 - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ -diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/syscalls.list glibc-2.10.1/sysdeps/unix/sysv/linux/syscalls.list ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/syscalls.list 2008-08-02 01:29:08.000000000 +0200 -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/syscalls.list 2009-11-13 00:51:04.000000000 +0100 -@@ -11,7 +11,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/patches/glibc/ports-2.10.1/500-alpha-add-getsystats-support.patch b/patches/glibc/ports-2.10.1/500-alpha-add-getsystats-support.patch deleted file mode 100644 index a669c6d..0000000 --- a/patches/glibc/ports-2.10.1/500-alpha-add-getsystats-support.patch +++ /dev/null @@ -1,31 +0,0 @@ -2009-05-16 Aurelien Jarno - - * sysdeps/unix/sysv/linux/alpha/getsysstats.c (GET_NPROCS_PARSER): - Change parameters and use next_line. - - ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getsysstats.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getsysstats.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getsysstats.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getsysstats.c 2009-11-13 00:51:07.000000000 +0100 -@@ -20,15 +20,16 @@ - - - /* We need to define a special parser for /proc/cpuinfo. */ --#define GET_NPROCS_PARSER(FP, BUFFER, RESULT) \ -+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT) \ - do \ - { \ - /* Find the line that contains the information about the number of \ - active cpus. We don't have to fear extremely long lines since \ - the kernel will not generate them. 8192 bytes are really enough. \ - If there is no "CPUs ..." line then we are on a UP system. */ \ -+ char *l; \ - (RESULT) = 1; \ -- while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL) \ -+ while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL) \ - if ((sscanf (BUFFER, "cpus active : %d", &(RESULT)) == 1) \ - || (sscanf (BUFFER, "CPUs probed %*d active %d", \ - &(RESULT)) == 1)) \ -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c diff --git a/patches/glibc/ports-2.10.1/510-alpha-fix-includes.patch b/patches/glibc/ports-2.10.1/510-alpha-fix-includes.patch deleted file mode 100644 index 0004d51..0000000 --- a/patches/glibc/ports-2.10.1/510-alpha-fix-includes.patch +++ /dev/null @@ -1,95 +0,0 @@ -2009-05-15 Aurelien Jarno - - * sysdeps/unix/sysv/linux/alpha/getdents64.c: Adjust include path. - * sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/sysconf.c: Likewise. - - ports/sysdeps/unix/sysv/linux/alpha/getdents64.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c | 2 +- - ports/sysdeps/unix/sysv/linux/alpha/sysconf.c | 2 +- - 9 files changed, 9 insertions(+), 9 deletions(-) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getdents64.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getdents64.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getdents64.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/getdents64.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../getdents64.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/fork.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/fork.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/fork.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/fork.c 2009-11-13 00:51:08.000000000 +0100 -@@ -27,4 +27,4 @@ - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \ - NULL, NULL, &THREAD_SELF->tid, NULL) - --#include "../fork.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c 2009-11-13 00:51:08.000000000 +0100 -@@ -2,4 +2,4 @@ - the acquire/release semantics of atomic_exchange_and_add. And even if - we don't do this, we should be using atomic_full_barrier or otherwise. */ - #define __lll_rel_instr "mb" --#include "../sem_post.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../x86_64/timer_create.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../x86_64/timer_delete.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../x86_64/timer_getoverr.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../x86_64/timer_gettime.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c 2009-11-13 00:51:08.000000000 +0100 -@@ -1 +1 @@ --#include "../x86_64/timer_settime.c" -+#include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysconf.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysconf.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysconf.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sysconf.c 2009-11-13 00:51:08.000000000 +0100 -@@ -149,4 +149,4 @@ - /* Now the generic Linux version. */ - #undef __sysconf - #define __sysconf static linux_sysconf --#include "../sysconf.c" -+#include -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/getdents64.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/getdents64.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c diff --git a/patches/glibc/ports-2.10.1/520-alpha-add-futex-defines.patch b/patches/glibc/ports-2.10.1/520-alpha-add-futex-defines.patch deleted file mode 100644 index 42e1499..0000000 --- a/patches/glibc/ports-2.10.1/520-alpha-add-futex-defines.patch +++ /dev/null @@ -1,26 +0,0 @@ -2009-05-19 Aurelien Jarno - - * sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h: Define - FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and - FUTEX_BITSET_MATCH_ANY. - - ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h 2009-11-13 00:51:11.000000000 +0100 -@@ -37,7 +37,12 @@ - #define FUTEX_LOCK_PI 6 - #define FUTEX_UNLOCK_PI 7 - #define FUTEX_TRYLOCK_PI 8 -+#define FUTEX_WAIT_BITSET 9 -+#define FUTEX_WAKE_BITSET 10 - #define FUTEX_PRIVATE_FLAG 128 -+#define FUTEX_CLOCK_REALTIME 256 -+ -+#define FUTEX_BITSET_MATCH_ANY 0xffffffff - - /* Values for 'private' parameter of locking macros. Yes, the - definition seems to be backwards. But it is not. The bit will be -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h diff --git a/patches/glibc/ports-2.10.1/530-alpha-fix-rtld-fPIC.patch b/patches/glibc/ports-2.10.1/530-alpha-fix-rtld-fPIC.patch deleted file mode 100644 index 0dec6ba..0000000 --- a/patches/glibc/ports-2.10.1/530-alpha-fix-rtld-fPIC.patch +++ /dev/null @@ -1,21 +0,0 @@ -2009-05-26 Aurelien Jarno - - * sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag). - - ports/sysdeps/alpha/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/Makefile glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/Makefile ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/Makefile 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/Makefile 2009-11-13 00:51:13.000000000 +0100 -@@ -35,7 +35,8 @@ - - ifeq ($(subdir),elf) - # The ld.so startup code cannot use literals until it self-relocates. --CFLAGS-rtld.c = -mbuild-constants -+# It uses more than 64k for the small data area. -+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag) - endif - - # Build everything with full IEEE math support, and with dynamic rounding; -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/Makefile glibc-2.10.1/ports/sysdeps/alpha/Makefile diff --git a/patches/glibc/ports-2.10.1/540-alpha-fix-memchr.patch b/patches/glibc/ports-2.10.1/540-alpha-fix-memchr.patch deleted file mode 100644 index 84999d6..0000000 --- a/patches/glibc/ports-2.10.1/540-alpha-fix-memchr.patch +++ /dev/null @@ -1,121 +0,0 @@ -2009-07-27 Aurelien Jarno - - * sysdeps/alpha/memchr.S: Use prefetch load. - * sysdeps/alpha/alphaev6/memchr.S: Likewise. - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/alphaev6/memchr.S glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/alphaev6/memchr.S ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/alphaev6/memchr.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/alphaev6/memchr.S 2009-11-13 00:51:15.000000000 +0100 -@@ -127,7 +127,7 @@ - cmpbge $31, $1, $2 # E : - bne $2, $found_it # U : - # At least one byte left to process. -- ldq $1, 8($0) # L : -+ ldq $31, 8($0) # L : - subq $5, 1, $18 # E : U L U L - - addq $0, 8, $0 # E : -@@ -143,38 +143,38 @@ - and $4, 8, $4 # E : odd number of quads? - bne $4, $odd_quad_count # U : - # At least three quads remain to be accessed -- mov $1, $4 # E : L U L U : move prefetched value to correct reg -+ nop # E : L U L U : move prefetched value to correct reg - - .align 4 - $unrolled_loop: -- ldq $1, 8($0) # L : prefetch $1 -- xor $17, $4, $2 # E : -- cmpbge $31, $2, $2 # E : -- bne $2, $found_it # U : U L U L -+ ldq $1, 0($0) # L : load quad -+ xor $17, $1, $2 # E : -+ ldq $31, 8($0) # L : prefetch next quad -+ cmpbge $31, $2, $2 # E : U L U L - -+ bne $2, $found_it # U : - addq $0, 8, $0 # E : - nop # E : - nop # E : -- nop # E : - - $odd_quad_count: -+ ldq $1, 0($0) # L : load quad - xor $17, $1, $2 # E : -- ldq $4, 8($0) # L : prefetch $4 -+ ldq $31, 8($0) # L : prefetch $4 - cmpbge $31, $2, $2 # E : -- addq $0, 8, $6 # E : - -+ addq $0, 8, $6 # E : - bne $2, $found_it # U : - cmpult $6, $18, $6 # E : - addq $0, 8, $0 # E : -- nop # E : - - bne $6, $unrolled_loop # U : -- mov $4, $1 # E : move prefetched value into $1 - nop # E : - nop # E : -- --$final: subq $5, $0, $18 # E : $18 <- number of bytes left to do - nop # E : -+ -+$final: ldq $1, 0($0) # L : load last quad -+ subq $5, $0, $18 # E : $18 <- number of bytes left to do - nop # E : - bne $18, $last_quad # U : - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/memchr.S glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/memchr.S ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/alpha/memchr.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/alpha/memchr.S 2009-11-13 00:51:15.000000000 +0100 -@@ -119,7 +119,7 @@ - - # At least one byte left to process. - -- ldq t0, 8(v0) # e0 : -+ ldq zero, 8(v0) # e0 : prefetch next quad - subq t4, 1, a2 # .. e1 : - addq v0, 8, v0 #-e0 : - -@@ -138,19 +138,19 @@ - - # At least three quads remain to be accessed - -- mov t0, t3 # e0 : move prefetched value to correct reg -- - .align 4 - $unrolled_loop: -- ldq t0, 8(v0) #-e0 : prefetch t0 -- xor a1, t3, t1 # .. e1 : -- cmpbge zero, t1, t1 # e0 : -- bne t1, $found_it # .. e1 : -+ ldq t0, 0(v0) # e0 : load quad -+ xor a1, t0, t1 # .. e1 : -+ ldq zero, 8(v0) # e0 : prefetch next quad -+ cmpbge zero, t1, t1 # .. e1: -+ bne t1, $found_it # e0 : - -- addq v0, 8, v0 #-e0 : -+ addq v0, 8, v0 # e1 : - $odd_quad_count: -+ ldq t0, 0(v0) # e0 : load quad - xor a1, t0, t1 # .. e1 : -- ldq t3, 8(v0) # e0 : prefetch t3 -+ ldq zero, 8(v0) # e0 : prefetch next quad - cmpbge zero, t1, t1 # .. e1 : - addq v0, 8, t5 #-e0 : - bne t1, $found_it # .. e1 : -@@ -159,8 +159,8 @@ - addq v0, 8, v0 # .. e1 : - bne t5, $unrolled_loop #-e1 : - -- mov t3, t0 # e0 : move prefetched value into t0 --$final: subq t4, v0, a2 # .. e1 : a2 <- number of bytes left to do -+$final: ldq t0, 0(v0) # e0 : load last quad -+ subq t4, v0, a2 # .. e1 : a2 <- number of bytes left to do - bne a2, $last_quad # e1 : - - $not_found: -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/alphaev6/memchr.S glibc-2.10.1/ports/sysdeps/alpha/alphaev6/memchr.S -diff -durN glibc-2.10.1.orig/ports/sysdeps/alpha/memchr.S glibc-2.10.1/ports/sysdeps/alpha/memchr.S diff --git a/patches/glibc/ports-2.10.1/550-alpha-fix-SOCK_NONBLOCK.patch b/patches/glibc/ports-2.10.1/550-alpha-fix-SOCK_NONBLOCK.patch deleted file mode 100644 index 9a3e733..0000000 --- a/patches/glibc/ports-2.10.1/550-alpha-fix-SOCK_NONBLOCK.patch +++ /dev/null @@ -1,417 +0,0 @@ -2009-08-16 Aurelien Jarno - - * ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h: New file based on - the generic version, with SOCK_NONBLOCK matching the kernel value. - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/bits/socket.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/bits/socket.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/bits/socket.h 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/bits/socket.h 2009-11-13 00:51:17.000000000 +0100 -@@ -0,0 +1,407 @@ -+/* System-specific socket constants and types. Linux version. -+ Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009 -+ 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 __BITS_SOCKET_H -+#define __BITS_SOCKET_H -+ -+#ifndef _SYS_SOCKET_H -+# error "Never include directly; use instead." -+#endif -+ -+#define __need_size_t -+#include -+ -+#include -+ -+/* Type for length arguments in socket calls. */ -+#ifndef __socklen_t_defined -+typedef __socklen_t socklen_t; -+# define __socklen_t_defined -+#endif -+ -+/* Types of sockets. */ -+enum __socket_type -+{ -+ SOCK_STREAM = 1, /* Sequenced, reliable, connection-based -+ byte streams. */ -+#define SOCK_STREAM SOCK_STREAM -+ SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams -+ of fixed maximum length. */ -+#define SOCK_DGRAM SOCK_DGRAM -+ SOCK_RAW = 3, /* Raw protocol interface. */ -+#define SOCK_RAW SOCK_RAW -+ SOCK_RDM = 4, /* Reliably-delivered messages. */ -+#define SOCK_RDM SOCK_RDM -+ SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, -+ datagrams of fixed maximum length. */ -+#define SOCK_SEQPACKET SOCK_SEQPACKET -+ SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -+#define SOCK_DCCP SOCK_DCCP -+ SOCK_PACKET = 10, /* Linux specific way of getting packets -+ at the dev level. For writing rarp and -+ other similar things on the user level. */ -+#define SOCK_PACKET SOCK_PACKET -+ -+ /* Flags to be ORed into the type parameter of socket and socketpair and -+ used for the flags parameter of paccept. */ -+ -+ SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the -+ new descriptor(s). */ -+#define SOCK_CLOEXEC SOCK_CLOEXEC -+#undef SOCK_NONBLOCK -+ SOCK_NONBLOCK = 0x40000000 /* Atomically mark descriptor(s) as -+ non-blocking. */ -+#define SOCK_NONBLOCK SOCK_NONBLOCK -+}; -+ -+/* Protocol families. */ -+#define PF_UNSPEC 0 /* Unspecified. */ -+#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ -+#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */ -+#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ -+#define PF_INET 2 /* IP protocol family. */ -+#define PF_AX25 3 /* Amateur Radio AX.25. */ -+#define PF_IPX 4 /* Novell Internet Protocol. */ -+#define PF_APPLETALK 5 /* Appletalk DDP. */ -+#define PF_NETROM 6 /* Amateur radio NetROM. */ -+#define PF_BRIDGE 7 /* Multiprotocol bridge. */ -+#define PF_ATMPVC 8 /* ATM PVCs. */ -+#define PF_X25 9 /* Reserved for X.25 project. */ -+#define PF_INET6 10 /* IP version 6. */ -+#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */ -+#define PF_DECnet 12 /* Reserved for DECnet project. */ -+#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */ -+#define PF_SECURITY 14 /* Security callback pseudo AF. */ -+#define PF_KEY 15 /* PF_KEY key management API. */ -+#define PF_NETLINK 16 -+#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */ -+#define PF_PACKET 17 /* Packet family. */ -+#define PF_ASH 18 /* Ash. */ -+#define PF_ECONET 19 /* Acorn Econet. */ -+#define PF_ATMSVC 20 /* ATM SVCs. */ -+#define PF_RDS 21 /* RDS sockets. */ -+#define PF_SNA 22 /* Linux SNA Project */ -+#define PF_IRDA 23 /* IRDA sockets. */ -+#define PF_PPPOX 24 /* PPPoX sockets. */ -+#define PF_WANPIPE 25 /* Wanpipe API sockets. */ -+#define PF_LLC 26 /* Linux LLC. */ -+#define PF_CAN 29 /* Controller Area Network. */ -+#define PF_TIPC 30 /* TIPC sockets. */ -+#define PF_BLUETOOTH 31 /* Bluetooth sockets. */ -+#define PF_IUCV 32 /* IUCV sockets. */ -+#define PF_RXRPC 33 /* RxRPC sockets. */ -+#define PF_ISDN 34 /* mISDN sockets. */ -+#define PF_PHONET 35 /* Phonet sockets. */ -+#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */ -+#define PF_MAX 37 /* For now.. */ -+ -+/* Address families. */ -+#define AF_UNSPEC PF_UNSPEC -+#define AF_LOCAL PF_LOCAL -+#define AF_UNIX PF_UNIX -+#define AF_FILE PF_FILE -+#define AF_INET PF_INET -+#define AF_AX25 PF_AX25 -+#define AF_IPX PF_IPX -+#define AF_APPLETALK PF_APPLETALK -+#define AF_NETROM PF_NETROM -+#define AF_BRIDGE PF_BRIDGE -+#define AF_ATMPVC PF_ATMPVC -+#define AF_X25 PF_X25 -+#define AF_INET6 PF_INET6 -+#define AF_ROSE PF_ROSE -+#define AF_DECnet PF_DECnet -+#define AF_NETBEUI PF_NETBEUI -+#define AF_SECURITY PF_SECURITY -+#define AF_KEY PF_KEY -+#define AF_NETLINK PF_NETLINK -+#define AF_ROUTE PF_ROUTE -+#define AF_PACKET PF_PACKET -+#define AF_ASH PF_ASH -+#define AF_ECONET PF_ECONET -+#define AF_ATMSVC PF_ATMSVC -+#define AF_RDS PF_RDS -+#define AF_SNA PF_SNA -+#define AF_IRDA PF_IRDA -+#define AF_PPPOX PF_PPPOX -+#define AF_WANPIPE PF_WANPIPE -+#define AF_LLC PF_LLC -+#define AF_CAN PF_CAN -+#define AF_TIPC PF_TIPC -+#define AF_BLUETOOTH PF_BLUETOOTH -+#define AF_IUCV PF_IUCV -+#define AF_RXRPC PF_RXRPC -+#define AF_ISDN PF_ISDN -+#define AF_PHONET PF_PHONET -+#define AF_IEEE802154 PF_IEEE802154 -+#define AF_MAX PF_MAX -+ -+/* Socket level values. Others are defined in the appropriate headers. -+ -+ XXX These definitions also should go into the appropriate headers as -+ far as they are available. */ -+#define SOL_RAW 255 -+#define SOL_DECNET 261 -+#define SOL_X25 262 -+#define SOL_PACKET 263 -+#define SOL_ATM 264 /* ATM layer (cell level). */ -+#define SOL_AAL 265 /* ATM Adaption Layer (packet level). */ -+#define SOL_IRDA 266 -+ -+/* Maximum queue length specifiable by listen. */ -+#define SOMAXCONN 128 -+ -+/* Get the definition of the macro to define the common sockaddr members. */ -+#include -+ -+/* Structure describing a generic socket address. */ -+struct sockaddr -+ { -+ __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ -+ char sa_data[14]; /* Address data. */ -+ }; -+ -+ -+/* Structure large enough to hold any socket address (with the historical -+ exception of AF_UNIX). We reserve 128 bytes. */ -+#define __ss_aligntype unsigned long int -+#define _SS_SIZE 128 -+#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) -+ -+struct sockaddr_storage -+ { -+ __SOCKADDR_COMMON (ss_); /* Address family, etc. */ -+ __ss_aligntype __ss_align; /* Force desired alignment. */ -+ char __ss_padding[_SS_PADSIZE]; -+ }; -+ -+ -+/* Bits in the FLAGS argument to `send', `recv', et al. */ -+enum -+ { -+ MSG_OOB = 0x01, /* Process out-of-band data. */ -+#define MSG_OOB MSG_OOB -+ MSG_PEEK = 0x02, /* Peek at incoming messages. */ -+#define MSG_PEEK MSG_PEEK -+ MSG_DONTROUTE = 0x04, /* Don't use local routing. */ -+#define MSG_DONTROUTE MSG_DONTROUTE -+#ifdef __USE_GNU -+ /* DECnet uses a different name. */ -+ MSG_TRYHARD = MSG_DONTROUTE, -+# define MSG_TRYHARD MSG_DONTROUTE -+#endif -+ MSG_CTRUNC = 0x08, /* Control data lost before delivery. */ -+#define MSG_CTRUNC MSG_CTRUNC -+ MSG_PROXY = 0x10, /* Supply or ask second address. */ -+#define MSG_PROXY MSG_PROXY -+ MSG_TRUNC = 0x20, -+#define MSG_TRUNC MSG_TRUNC -+ MSG_DONTWAIT = 0x40, /* Nonblocking IO. */ -+#define MSG_DONTWAIT MSG_DONTWAIT -+ MSG_EOR = 0x80, /* End of record. */ -+#define MSG_EOR MSG_EOR -+ MSG_WAITALL = 0x100, /* Wait for a full request. */ -+#define MSG_WAITALL MSG_WAITALL -+ MSG_FIN = 0x200, -+#define MSG_FIN MSG_FIN -+ MSG_SYN = 0x400, -+#define MSG_SYN MSG_SYN -+ MSG_CONFIRM = 0x800, /* Confirm path validity. */ -+#define MSG_CONFIRM MSG_CONFIRM -+ MSG_RST = 0x1000, -+#define MSG_RST MSG_RST -+ MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */ -+#define MSG_ERRQUEUE MSG_ERRQUEUE -+ MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */ -+#define MSG_NOSIGNAL MSG_NOSIGNAL -+ MSG_MORE = 0x8000, /* Sender will send more. */ -+#define MSG_MORE MSG_MORE -+ -+ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file -+ descriptor received through -+ SCM_RIGHTS. */ -+#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC -+ }; -+ -+ -+/* Structure describing messages sent by -+ `sendmsg' and received by `recvmsg'. */ -+struct msghdr -+ { -+ void *msg_name; /* Address to send to/receive from. */ -+ socklen_t msg_namelen; /* Length of address data. */ -+ -+ struct iovec *msg_iov; /* Vector of data to send/receive into. */ -+ size_t msg_iovlen; /* Number of elements in the vector. */ -+ -+ void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ -+ size_t msg_controllen; /* Ancillary data buffer length. -+ !! The type should be socklen_t but the -+ definition of the kernel is incompatible -+ with this. */ -+ -+ int msg_flags; /* Flags on received message. */ -+ }; -+ -+/* Structure used for storage of ancillary data object information. */ -+struct cmsghdr -+ { -+ size_t cmsg_len; /* Length of data in cmsg_data plus length -+ of cmsghdr structure. -+ !! The type should be socklen_t but the -+ definition of the kernel is incompatible -+ with this. */ -+ int cmsg_level; /* Originating protocol. */ -+ int cmsg_type; /* Protocol specific type. */ -+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L -+ __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ -+#endif -+ }; -+ -+/* Ancillary data object manipulation macros. */ -+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L -+# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) -+#else -+# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) -+#endif -+#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) -+#define CMSG_FIRSTHDR(mhdr) \ -+ ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ -+ ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) -+#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ -+ & (size_t) ~(sizeof (size_t) - 1)) -+#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ -+ + CMSG_ALIGN (sizeof (struct cmsghdr))) -+#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) -+ -+extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, -+ struct cmsghdr *__cmsg) __THROW; -+#ifdef __USE_EXTERN_INLINES -+# ifndef _EXTERN_INLINE -+# define _EXTERN_INLINE __extern_inline -+# endif -+_EXTERN_INLINE struct cmsghdr * -+__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) -+{ -+ if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) -+ /* The kernel header does this so there may be a reason. */ -+ return 0; -+ -+ __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg -+ + CMSG_ALIGN (__cmsg->cmsg_len)); -+ if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control -+ + __mhdr->msg_controllen) -+ || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) -+ > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) -+ /* No more entries. */ -+ return 0; -+ return __cmsg; -+} -+#endif /* Use `extern inline'. */ -+ -+/* Socket level message types. This must match the definitions in -+ . */ -+enum -+ { -+ SCM_RIGHTS = 0x01 /* Transfer file descriptors. */ -+#define SCM_RIGHTS SCM_RIGHTS -+#ifdef __USE_GNU -+ , SCM_CREDENTIALS = 0x02 /* Credentials passing. */ -+# define SCM_CREDENTIALS SCM_CREDENTIALS -+#endif -+ }; -+ -+#ifdef __USE_GNU -+/* User visible structure for SCM_CREDENTIALS message */ -+struct ucred -+{ -+ pid_t pid; /* PID of sending process. */ -+ uid_t uid; /* UID of sending process. */ -+ gid_t gid; /* GID of sending process. */ -+}; -+#endif -+ -+/* Ugly workaround for unclean kernel headers. */ -+#if !defined __USE_MISC && !defined __USE_GNU -+# ifndef FIOGETOWN -+# define __SYS_SOCKET_H_undef_FIOGETOWN -+# endif -+# ifndef FIOSETOWN -+# define __SYS_SOCKET_H_undef_FIOSETOWN -+# endif -+# ifndef SIOCATMARK -+# define __SYS_SOCKET_H_undef_SIOCATMARK -+# endif -+# ifndef SIOCGPGRP -+# define __SYS_SOCKET_H_undef_SIOCGPGRP -+# endif -+# ifndef SIOCGSTAMP -+# define __SYS_SOCKET_H_undef_SIOCGSTAMP -+# endif -+# ifndef SIOCGSTAMPNS -+# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS -+# endif -+# ifndef SIOCSPGRP -+# define __SYS_SOCKET_H_undef_SIOCSPGRP -+# endif -+#endif -+ -+/* Get socket manipulation related informations from kernel headers. */ -+#include -+ -+#if !defined __USE_MISC && !defined __USE_GNU -+# ifdef __SYS_SOCKET_H_undef_FIOGETOWN -+# undef __SYS_SOCKET_H_undef_FIOGETOWN -+# undef FIOGETOWN -+# endif -+# ifdef __SYS_SOCKET_H_undef_FIOSETOWN -+# undef __SYS_SOCKET_H_undef_FIOSETOWN -+# undef FIOSETOWN -+# endif -+# ifdef __SYS_SOCKET_H_undef_SIOCATMARK -+# undef __SYS_SOCKET_H_undef_SIOCATMARK -+# undef SIOCATMARK -+# endif -+# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP -+# undef __SYS_SOCKET_H_undef_SIOCGPGRP -+# undef SIOCGPGRP -+# endif -+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP -+# undef __SYS_SOCKET_H_undef_SIOCGSTAMP -+# undef SIOCGSTAMP -+# endif -+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS -+# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS -+# undef SIOCGSTAMPNS -+# endif -+# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP -+# undef __SYS_SOCKET_H_undef_SIOCSPGRP -+# undef SIOCSPGRP -+# endif -+#endif -+ -+/* Structure used to manipulate the SO_LINGER option. */ -+struct linger -+ { -+ int l_onoff; /* Nonzero to linger on close. */ -+ int l_linger; /* Time to linger. */ -+ }; -+ -+#endif /* bits/socket.h */ -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h diff --git a/patches/glibc/ports-2.10.1/560-ppc-atomic.patch b/patches/glibc/ports-2.10.1/560-ppc-atomic.patch deleted file mode 100644 index c44350c..0000000 --- a/patches/glibc/ports-2.10.1/560-ppc-atomic.patch +++ /dev/null @@ -1,415 +0,0 @@ -sniped from suse - -Index: sysdeps/powerpc/bits/atomic.h -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/powerpc/bits/atomic.h,v -retrieving revision 1.17 -diff -u -a -p -r1.17 atomic.h - -diff -durN glibc-2.10.1.orig/sysdeps/powerpc/bits/atomic.h glibc-2.10.1/sysdeps/powerpc/bits/atomic.h ---- glibc-2.10.1.orig/sysdeps/powerpc/bits/atomic.h 2007-03-26 22:15:28.000000000 +0200 -+++ glibc-2.10.1/sysdeps/powerpc/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -diff -durN glibc-2.10.1.orig/sysdeps/powerpc/powerpc32/bits/atomic.h glibc-2.10.1/sysdeps/powerpc/powerpc32/bits/atomic.h ---- glibc-2.10.1.orig/sysdeps/powerpc/powerpc32/bits/atomic.h 2007-03-26 22:15:45.000000000 +0200 -+++ glibc-2.10.1/sysdeps/powerpc/powerpc32/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -diff -durN glibc-2.10.1.orig/sysdeps/powerpc/powerpc64/bits/atomic.h glibc-2.10.1/sysdeps/powerpc/powerpc64/bits/atomic.h ---- glibc-2.10.1.orig/sysdeps/powerpc/powerpc64/bits/atomic.h 2007-03-26 22:16:03.000000000 +0200 -+++ glibc-2.10.1/sysdeps/powerpc/powerpc64/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/patches/glibc/ports-2.10.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/patches/glibc/ports-2.10.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch deleted file mode 100644 index f77cb8c..0000000 --- a/patches/glibc/ports-2.10.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch +++ /dev/null @@ -1,374 +0,0 @@ -http://yann.poupet.free.fr/ep93xx/ -Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/bits/endian.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/bits/endian.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/bits/endian.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/bits/endian.h 2009-11-13 00:51:22.000000000 +0100 -@@ -12,7 +12,7 @@ - /* FPA floating point units are always big-endian, irrespective of the - CPU endianness. VFP floating point units use the same endianness - as the rest of the system. */ --#ifdef __VFP_FP__ -+#if defined __VFP_FP__ || defined __MAVERICK__ - #define __FLOAT_WORD_ORDER __BYTE_ORDER - #else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/__longjmp.S glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/__longjmp.S ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/__longjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/__longjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -30,7 +30,33 @@ - movs r0, r1 /* get the return value in place */ - moveq r0, #1 /* can't let setjmp() return zero! */ - -+#ifdef __MAVERICK__ -+ cfldrd mvd4, [ip], #8 -+ nop -+ cfldrd mvd5, [ip], #8 -+ nop -+ cfldrd mvd6, [ip], #8 -+ nop -+ cfldrd mvd7, [ip], #8 -+ nop -+ cfldrd mvd8, [ip], #8 -+ nop -+ cfldrd mvd9, [ip], #8 -+ nop -+ cfldrd mvd10, [ip], #8 -+ nop -+ cfldrd mvd11, [ip], #8 -+ nop -+ cfldrd mvd12, [ip], #8 -+ nop -+ cfldrd mvd13, [ip], #8 -+ nop -+ cfldrd mvd14, [ip], #8 -+ nop -+ cfldrd mvd15, [ip], #8 -+#else - lfmfd f4, 4, [ip] ! /* load the floating point regs */ -+#endif - - LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc}) - END (__longjmp) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/fenv.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/fenv.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/fenv.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/fenv.h 2009-11-13 00:51:22.000000000 +0100 -@@ -20,6 +20,45 @@ - # error "Never use directly; include instead." - #endif - -+#if defined(__MAVERICK__) -+ -+/* Define bits representing exceptions in the FPU status word. */ -+enum -+ { -+ FE_INVALID = 1, -+#define FE_INVALID FE_INVALID -+ FE_OVERFLOW = 4, -+#define FE_OVERFLOW FE_OVERFLOW -+ FE_UNDERFLOW = 8, -+#define FE_UNDERFLOW FE_UNDERFLOW -+ FE_INEXACT = 16, -+#define FE_INEXACT FE_INEXACT -+ }; -+ -+/* Amount to shift by to convert an exception to a mask bit. */ -+#define FE_EXCEPT_SHIFT 5 -+ -+/* All supported exceptions. */ -+#define FE_ALL_EXCEPT \ -+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) -+ -+/* IEEE rounding modes. */ -+enum -+ { -+ FE_TONEAREST = 0, -+#define FE_TONEAREST FE_TONEAREST -+ FE_TOWARDZERO = 0x400, -+#define FE_TOWARDZERO FE_TOWARDZERO -+ FE_DOWNWARD = 0x800, -+#define FE_DOWNWARD FE_DOWNWARD -+ FE_UPWARD = 0xc00, -+#define FE_UPWARD FE_UPWARD -+ }; -+ -+#define FE_ROUND_MASK (FE_UPWARD) -+ -+#else /* FPA */ -+ - /* Define bits representing exceptions in the FPU status word. */ - enum - { -@@ -44,6 +83,8 @@ - modes exist, but you have to encode them in the actual instruction. */ - #define FE_TONEAREST 0 - -+#endif -+ - /* Type representing exception flags. */ - typedef unsigned long int fexcept_t; - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/setjmp.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/setjmp.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/setjmp.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/bits/setjmp.h 2009-11-13 00:51:22.000000000 +0100 -@@ -28,7 +28,11 @@ - #ifndef _ASM - /* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not - saved. */ -+#ifdef __MAVERICK__ -+typedef int __jmp_buf[34]; -+#else - typedef int __jmp_buf[22]; - #endif -+#endif - - #endif -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fegetround.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fegetround.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fegetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fegetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,9 +18,21 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fegetround (void) - { -+#if defined(__MAVERICK__) -+ -+ unsigned long temp; -+ -+ _FPU_GETCW (temp); -+ return temp & FE_ROUND_MASK; -+ -+#else /* FPA */ -+ - return FE_TONEAREST; /* Easy. :-) */ -+ -+#endif - } -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fesetround.c glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fesetround.c ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fesetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fesetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,12 +18,28 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fesetround (int round) - { -+#if defined(__MAVERICK__) -+ unsigned long temp; -+ -+ if (round & ~FE_ROUND_MASK) -+ return 1; -+ -+ _FPU_GETCW (temp); -+ temp = (temp & ~FE_ROUND_MASK) | round; -+ _FPU_SETCW (temp); -+ return 0; -+ -+#else /* FPA */ -+ - /* We only support FE_TONEAREST, so there is no need for any work. */ - return (round == FE_TONEAREST)?0:1; -+ -+#endif - } - - libm_hidden_def (fesetround) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fpu_control.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fpu_control.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/fpu_control.h 2009-11-13 00:51:22.000000000 +0100 -@@ -1,5 +1,6 @@ - /* FPU control word definitions. ARM version. -- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. -+ Copyright (C) 1996, 1997, 1998, 2000, 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 -@@ -20,6 +21,79 @@ - #ifndef _FPU_CONTROL_H - #define _FPU_CONTROL_H - -+#if defined(__MAVERICK__) -+ -+/* DSPSC register: (from EP9312 User's Guide) -+ * -+ * bits 31..29 - DAID -+ * bits 28..26 - HVID -+ * bits 25..24 - RSVD -+ * bit 23 - ISAT -+ * bit 22 - UI -+ * bit 21 - INT -+ * bit 20 - AEXC -+ * bits 19..18 - SAT -+ * bits 17..16 - FCC -+ * bit 15 - V -+ * bit 14 - FWDEN -+ * bit 13 - Invalid -+ * bit 12 - Denorm -+ * bits 11..10 - RM -+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE -+ * bits 4..0 - IX, UF, OF, RSVD, IO -+ */ -+ -+/* masking of interrupts */ -+#define _FPU_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_MASK_ZM 0 /* divide by zero */ -+#define _FPU_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_MASK_DM 0 /* denormalized operation */ -+ -+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */ -+ -+#define _FPU_DEFAULT 0x00b00000 /* Default value. */ -+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */ -+ -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t; -+ -+/* Macros for accessing the hardware control word. */ -+#define _FPU_GETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv32sc mvdx0, dspsc\n\t" \ -+ "cfmvr64l %0, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \ -+ ); \ -+}) -+ -+#define _FPU_SETCW(cw) ({ \ -+ register int __t0, __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %0\n\t" \ -+ "cfmvsc32 dspsc, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \ -+ : "0" (cw) \ -+ ); \ -+}) -+ -+/* Default control word set at startup. */ -+extern fpu_control_t __fpu_control; -+ -+#else /* FPA */ -+ - /* We have a slight terminology confusion here. On the ARM, the register - * we're interested in is actually the FPU status word - the FPU control - * word is something different (which is implementation-defined and only -@@ -99,4 +173,6 @@ - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; - -+#endif -+ - #endif /* _FPU_CONTROL_H */ -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/jmpbuf-offsets.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,4 +17,8 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define __JMP_BUF_SP 32 -+#else - #define __JMP_BUF_SP 20 -+#endif -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/setjmp.S glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/setjmp.S ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/fpu/setjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/fpu/setjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -24,11 +24,41 @@ - - ENTRY (__sigsetjmp) - /* Save registers */ -+#ifdef __MAVERICK__ -+ cfstrd mvd4, [r0], #8 -+ nop -+ cfstrd mvd5, [r0], #8 -+ nop -+ cfstrd mvd6, [r0], #8 -+ nop -+ cfstrd mvd7, [r0], #8 -+ nop -+ cfstrd mvd8, [r0], #8 -+ nop -+ cfstrd mvd9, [r0], #8 -+ nop -+ cfstrd mvd10, [r0], #8 -+ nop -+ cfstrd mvd11, [r0], #8 -+ nop -+ cfstrd mvd12, [r0], #8 -+ nop -+ cfstrd mvd13, [r0], #8 -+ nop -+ cfstrd mvd14, [r0], #8 -+ nop -+ cfstrd mvd15, [r0], #8 -+#else - sfmea f4, 4, [r0]! -+#endif - stmia r0, {v1-v6, sl, fp, sp, lr} - - /* Restore pointer to jmp_buf */ -+#ifdef __MAVERICK__ -+ sub r0, r0, #96 -+#else - sub r0, r0, #48 -+#endif - - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/gccframe.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/gccframe.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/gccframe.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/gccframe.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,6 +17,10 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define FIRST_PSEUDO_REGISTER 43 -+#else - #define FIRST_PSEUDO_REGISTER 27 -+#endif - - #include -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/gmp-mparam.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/gmp-mparam.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/arm/gmp-mparam.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/arm/gmp-mparam.h 2009-11-13 00:51:22.000000000 +0100 -@@ -29,7 +29,7 @@ - #if defined(__ARMEB__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 1 --#elif defined(__VFP_FP__) -+#elif defined(__VFP_FP__) || defined(__MAVERICK__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 0 - #else -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/bits/endian.h glibc-2.10.1/ports/sysdeps/arm/bits/endian.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.10.1/ports/sysdeps/arm/fpu/__longjmp.S -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.10.1/ports/sysdeps/arm/fpu/bits/fenv.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.10.1/ports/sysdeps/arm/fpu/bits/setjmp.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/fegetround.c glibc-2.10.1/ports/sysdeps/arm/fpu/fegetround.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/fesetround.c glibc-2.10.1/ports/sysdeps/arm/fpu/fesetround.c -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.10.1/ports/sysdeps/arm/fpu/fpu_control.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.10.1/ports/sysdeps/arm/fpu/jmpbuf-offsets.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/fpu/setjmp.S glibc-2.10.1/ports/sysdeps/arm/fpu/setjmp.S -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/gccframe.h glibc-2.10.1/ports/sysdeps/arm/gccframe.h -diff -durN glibc-2.10.1.orig/ports/sysdeps/arm/gmp-mparam.h glibc-2.10.1/ports/sysdeps/arm/gmp-mparam.h diff --git a/patches/glibc/ports-2.10.1/580-nptl-lowlevellock.patch b/patches/glibc/ports-2.10.1/580-nptl-lowlevellock.patch deleted file mode 100644 index 9ab6cda..0000000 --- a/patches/glibc/ports-2.10.1/580-nptl-lowlevellock.patch +++ /dev/null @@ -1,23 +0,0 @@ -fix build error on arm like on hppa: - -arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1 -In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM' -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-11-13 00:51:23.000000000 +0100 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include /* Need THREAD_*, and header.*. */ - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h diff --git a/patches/glibc/ports-2.10.1/590-sh-set-fpscr-proto.patch b/patches/glibc/ports-2.10.1/590-sh-set-fpscr-proto.patch deleted file mode 100644 index ef8f7aa..0000000 --- a/patches/glibc/ports-2.10.1/590-sh-set-fpscr-proto.patch +++ /dev/null @@ -1,13 +0,0 @@ - - -diff -durN glibc-2.10.1.orig/sysdeps/sh/sh4/fpu/fpu_control.h glibc-2.10.1/sysdeps/sh/sh4/fpu/fpu_control.h ---- glibc-2.10.1.orig/sysdeps/sh/sh4/fpu/fpu_control.h 2001-07-06 06:56:04.000000000 +0200 -+++ glibc-2.10.1/sysdeps/sh/sh4/fpu/fpu_control.h 2009-11-13 00:51:26.000000000 +0100 -@@ -45,6 +45,7 @@ - #define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw)) - - #if defined __GNUC__ -+extern void __set_fpscr(unsigned long); - #define _FPU_SETCW(cw) __set_fpscr ((cw)) - #else - #define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw)) diff --git a/patches/glibc/ports-2.10.1/600-mips_librt-mips.patch b/patches/glibc/ports-2.10.1/600-mips_librt-mips.patch deleted file mode 100644 index de8c858..0000000 --- a/patches/glibc/ports-2.10.1/600-mips_librt-mips.patch +++ /dev/null @@ -1,94 +0,0 @@ -we kind of screwed ourselves into a corner by having the clock symbols -exported only with the glibc-2.0 version ... this patch fixes the -export so all new binaries built against librt will use the correct -glibc-2.2 symbol version - -one day, we'll just drop this on the floor (maybe after 2006.1) - -diff -durN glibc-2.10.1.orig/Versions.def glibc-2.10.1/Versions.def ---- glibc-2.10.1.orig/Versions.def 2008-12-03 05:19:06.000000000 +0100 -+++ glibc-2.10.1/Versions.def 2009-11-13 00:51:27.000000000 +0100 -@@ -98,6 +98,7 @@ - GLIBC_PRIVATE - } - librt { -+ GLIBC_2.0 - GLIBC_2.1 - GLIBC_2.2 - GLIBC_2.3 -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions 2009-11-13 00:51:27.000000000 +0100 -@@ -35,3 +35,9 @@ - _test_and_set; - } - } -+librt { -+ GLIBC_2.0 { -+ # c* -+ clock_gettime; clock_settime; -+ } -+} -diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/mips/Versions glibc-2.10.1/ports/sysdeps/unix/sysv/linux/mips/Versions -diff -durN glibc-2.10.1.orig/sysdeps/unix/clock_gettime.c glibc-2.10.1/sysdeps/unix/clock_gettime.c ---- glibc-2.10.1.orig/sysdeps/unix/clock_gettime.c 2007-07-28 22:36:04.000000000 +0200 -+++ glibc-2.10.1/sysdeps/unix/clock_gettime.c 2009-11-13 00:51:27.000000000 +0100 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - - #if HP_TIMING_AVAIL -@@ -90,7 +91,7 @@ - - /* Get current value of CLOCK and store it in TP. */ - int --clock_gettime (clockid_t clock_id, struct timespec *tp) -+__clock_gettime (clockid_t clock_id, struct timespec *tp) - { - int retval = -1; - -@@ -133,4 +134,10 @@ - - return retval; - } --librt_hidden_def (clock_gettime) -+versioned_symbol (librt, __clock_gettime, clock_gettime, GLIBC_2_2); -+librt_hidden_ver (__clock_gettime, clock_gettime) -+ -+#if defined __mips__ && defined SHARED -+strong_alias (__clock_gettime, __mips_clock_gettime) -+compat_symbol (librt, __mips_clock_gettime, clock_gettime, GLIBC_2_0); -+#endif -diff -durN glibc-2.10.1.orig/sysdeps/unix/clock_settime.c glibc-2.10.1/sysdeps/unix/clock_settime.c ---- glibc-2.10.1.orig/sysdeps/unix/clock_settime.c 2007-08-14 05:19:33.000000000 +0200 -+++ glibc-2.10.1/sysdeps/unix/clock_settime.c 2009-11-13 00:51:27.000000000 +0100 -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - - #if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME -@@ -73,7 +74,7 @@ - - /* Set CLOCK to value TP. */ - int --clock_settime (clockid_t clock_id, const struct timespec *tp) -+__clock_settime (clockid_t clock_id, const struct timespec *tp) - { - int retval; - -@@ -125,3 +126,9 @@ - - return retval; - } -+versioned_symbol (librt, __clock_settime, clock_settime, GLIBC_2_2); -+ -+#if defined __mips__ && defined SHARED -+strong_alias (__clock_settime, __mips_clock_settime) -+compat_symbol (librt, __mips_clock_settime, clock_settime, GLIBC_2_0); -+#endif diff --git a/patches/glibc/ports-2.10.1/610-fpu-cw-mips.patch b/patches/glibc/ports-2.10.1/610-fpu-cw-mips.patch deleted file mode 100644 index 664e199..0000000 --- a/patches/glibc/ports-2.10.1/610-fpu-cw-mips.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/fpu_control.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/fpu_control.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/fpu_control.h 2009-11-13 00:51:31.000000000 +0100 -@@ -86,7 +86,7 @@ - #define _FPU_RC_UP 0x2 - #define _FPU_RC_DOWN 0x3 - --#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */ -+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */ - - - /* The fdlibm code requires strict IEEE double precision arithmetic, -diff -durN glibc-2.10.1.orig/ports/sysdeps/mips/fpu_control.h glibc-2.10.1/ports/sysdeps/mips/fpu_control.h diff --git a/patches/glibc/ports-2.10.1/620-r10k-workarounds.patch b/patches/glibc/ports-2.10.1/620-r10k-workarounds.patch deleted file mode 100644 index 42a431f..0000000 --- a/patches/glibc/ports-2.10.1/620-r10k-workarounds.patch +++ /dev/null @@ -1,67 +0,0 @@ -ripped from Debian - -the R10000 needs an LL/SC Workaround. If not applied all R10k before -rev 3.0 misbehave on atomic ops and rev 2.6 and lower (e.g. SGI IP28) -die after very few seconds with a deadlock due to even more erratas. - - ports/sysdeps/mips/bits/atomic.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h ---- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h 2009-11-13 00:51:34.000000000 +0100 -@@ -74,7 +74,7 @@ - "bne %0,%2,2f\n\t" \ - "move %1,%3\n\t" \ - "sc %1,%4\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -@@ -98,7 +98,7 @@ - "bne %0,%2,2f\n\t" \ - "move %1,%3\n\t" \ - "scd %1,%4\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -@@ -192,7 +192,7 @@ - "ll %0,%3\n\t" \ - "move %1,%2\n\t" \ - "sc %1,%3\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -@@ -216,7 +216,7 @@ - "lld %0,%3\n\t" \ - "move %1,%2\n\t" \ - "scd %1,%3\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -@@ -251,7 +251,7 @@ - "ll %0,%3\n\t" \ - "addu %1,%0,%2\n\t" \ - "sc %1,%3\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -@@ -275,7 +275,7 @@ - "lld %0,%3\n\t" \ - "daddu %1,%0,%2\n\t" \ - "scd %1,%3\n\t" \ -- "beqz %1,1b\n" \ -+ "beqzl %1,1b\n" \ - acq "\n\t" \ - ".set pop\n" \ - "2:\n\t" \ -diff -durN glibc-2.10.1.orig/ports/sysdeps/mips/bits/atomic.h glibc-2.10.1/ports/sysdeps/mips/bits/atomic.h diff --git a/patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch b/patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch deleted file mode 100644 index 13f0ee8..0000000 --- a/patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch +++ /dev/null @@ -1,24 +0,0 @@ - Hack from Debian to hopefully get sandbox working on mips - -<`Kumba> ths: given the SHN_UNDEF thing is a hack, what's the preferred solution? - For fakeroot the simplest trigger is "fakeroot file /bin/ls". - `Kumba: I haven't found a better one yet. - Probably marker symbols around the stub section, and then exclude it from the link map. - This needs a ld change. - -diff -durN glibc-2.10.1.orig/elf/do-lookup.h glibc-2.10.1/elf/do-lookup.h ---- glibc-2.10.1.orig/elf/do-lookup.h 2009-03-30 23:14:32.000000000 +0200 -+++ glibc-2.10.1/elf/do-lookup.h 2009-11-13 00:51:36.000000000 +0100 -@@ -248,6 +248,12 @@ - } - /* FALLTHROUGH */ - case STB_GLOBAL: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/patches/glibc/ports-2.10.1/640-alpha-atfcts.patch b/patches/glibc/ports-2.10.1/640-alpha-atfcts.patch deleted file mode 100644 index 83adbce..0000000 --- a/patches/glibc/ports-2.10.1/640-alpha-atfcts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h 2007-08-14 06:21:09.000000000 +0300 -+++ glibc-2.7/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-23 07:05:20.000000000 +0300 -@@ -454,8 +454,7 @@ - and on Alpha just after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ - && ((!defined __sh__ && !defined __alpha__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \ -- || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__)) -+ || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__)) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/ports-2.10.1/650-syslog.patch b/patches/glibc/ports-2.10.1/650-syslog.patch deleted file mode 100644 index c20cafc..0000000 --- a/patches/glibc/ports-2.10.1/650-syslog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -durN glibc-cvs-2.9.orig/misc/syslog.c glibc-cvs-2.9/misc/syslog.c ---- glibc-cvs-2.9.orig/misc/syslog.c 2009-06-01 10:16:50.000000000 +0200 -+++ glibc-cvs-2.9/misc/syslog.c 2009-06-01 10:17:20.000000000 +0200 -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/patches/glibc/ports-2.10.1/660-debug-readlink_chk-readklinkat_chk.patch b/patches/glibc/ports-2.10.1/660-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index a5a7052..0000000 --- a/patches/glibc/ports-2.10.1/660-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -dur glibc-cvs-2.9.orig/debug/readlink_chk.c glibc-cvs-2.9/debug/readlink_chk.c ---- glibc-cvs-2.9.orig/debug/readlink_chk.c 2005-03-01 01:41:15.000000000 +0100 -+++ glibc-cvs-2.9/debug/readlink_chk.c 2009-06-01 10:59:37.000000000 +0200 -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); -diff -dur glibc-cvs-2.9.orig/debug/readlinkat_chk.c glibc-cvs-2.9/debug/readlinkat_chk.c ---- glibc-cvs-2.9.orig/debug/readlinkat_chk.c 2006-04-24 18:56:12.000000000 +0200 -+++ glibc-cvs-2.9/debug/readlinkat_chk.c 2009-06-01 11:07:26.000000000 +0200 -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch b/patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch deleted file mode 100644 index ed022be..0000000 --- a/patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,25 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - -diff -durN glibc-2.12.1.orig/Makeconfig glibc-2.12.1/Makeconfig ---- glibc-2.12.1.orig/Makeconfig 2009-05-09 23:57:56.000000000 +0200 -+++ glibc-2.12.1/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -@@ -697,6 +697,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$(field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/patches/glibc/ports-2.12.1/160-manual-no-perl.patch b/patches/glibc/ports-2.12.1/160-manual-no-perl.patch deleted file mode 100644 index 2eb5414..0000000 --- a/patches/glibc/ports-2.12.1/160-manual-no-perl.patch +++ /dev/null @@ -1,24 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - -diff -durN glibc-2.12.1.orig/manual/Makefile glibc-2.12.1/manual/Makefile ---- glibc-2.12.1.orig/manual/Makefile 2006-01-08 07:43:47.000000000 +0100 -+++ glibc-2.12.1/manual/Makefile 2009-11-13 00:49:54.000000000 +0100 -@@ -104,9 +104,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch b/patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch deleted file mode 100644 index 0e05844..0000000 --- a/patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch +++ /dev/null @@ -1,69 +0,0 @@ -#! /bin/sh -e - -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -diff -durN glibc-2.12.1.orig/locale/programs/3level.h glibc-2.12.1/locale/programs/3level.h ---- glibc-2.12.1.orig/locale/programs/3level.h 2007-07-16 02:54:59.000000000 +0200 -+++ glibc-2.12.1/locale/programs/3level.h 2009-11-13 00:49:56.000000000 +0100 -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/patches/glibc/ports-2.12.1/180-resolv-dynamic.patch b/patches/glibc/ports-2.12.1/180-resolv-dynamic.patch deleted file mode 100644 index 8f74a53..0000000 --- a/patches/glibc/ports-2.12.1/180-resolv-dynamic.patch +++ /dev/null @@ -1,39 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - -diff -durN glibc-2.12.1.orig/resolv/res_libc.c glibc-2.12.1/resolv/res_libc.c ---- glibc-2.12.1.orig/resolv/res_libc.c 2009-02-07 05:27:42.000000000 +0100 -+++ glibc-2.12.1/resolv/res_libc.c 2009-11-13 00:49:59.000000000 +0100 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/patches/glibc/ports-2.12.1/190-localedef-mmap.patch b/patches/glibc/ports-2.12.1/190-localedef-mmap.patch deleted file mode 100644 index b24ed80..0000000 --- a/patches/glibc/ports-2.12.1/190-localedef-mmap.patch +++ /dev/null @@ -1,39 +0,0 @@ -sniped from Debian -http://bugs.gentoo.org/289615 - -2009-10-27 Aurelien Jarno - - * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory - used later with MMAP_FIXED | MMAP_SHARED to cope with different - alignment restrictions. - -diff -durN glibc-2.12.1.orig/locale/programs/locarchive.c glibc-2.12.1/locale/programs/locarchive.c ---- glibc-2.12.1.orig/locale/programs/locarchive.c 2009-04-27 16:07:47.000000000 +0200 -+++ glibc-2.12.1/locale/programs/locarchive.c 2009-11-13 00:50:01.000000000 +0100 -@@ -134,7 +134,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -396,7 +396,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -614,7 +614,7 @@ - int xflags = 0; - void *p; - if (st.st_size < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else diff --git a/patches/glibc/ports-2.12.1/200-fadvise64_64.patch b/patches/glibc/ports-2.12.1/200-fadvise64_64.patch deleted file mode 100644 index a9f10cd..0000000 --- a/patches/glibc/ports-2.12.1/200-fadvise64_64.patch +++ /dev/null @@ -1,28 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.12.1/sysdeps/unix/sysv/linux/posix_fadvise.c ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-11-13 00:50:03.000000000 +0100 -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/patches/glibc/ports-2.12.1/220-section-comments.patch b/patches/glibc/ports-2.12.1/220-section-comments.patch deleted file mode 100644 index 4d35535..0000000 --- a/patches/glibc/ports-2.12.1/220-section-comments.patch +++ /dev/null @@ -1,24 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - -diff -durN glibc-2.12.1.orig/include/libc-symbols.h glibc-2.12.1/include/libc-symbols.h ---- glibc-2.12.1.orig/include/libc-symbols.h 2009-03-14 00:51:46.000000000 +0100 -+++ glibc-2.12.1/include/libc-symbols.h 2009-11-13 00:50:07.000000000 +0100 -@@ -239,12 +239,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/patches/glibc/ports-2.12.1/230-no-inline-gmon.patch b/patches/glibc/ports-2.12.1/230-no-inline-gmon.patch deleted file mode 100644 index 594fb79..0000000 --- a/patches/glibc/ports-2.12.1/230-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - -Index: sysdeps/generic/initfini.c -=================================================================== - -diff -durN glibc-2.12.1.orig/sysdeps/generic/initfini.c glibc-2.12.1/sysdeps/generic/initfini.c ---- glibc-2.12.1.orig/sysdeps/generic/initfini.c 2007-06-17 20:02:40.000000000 +0200 -+++ glibc-2.12.1/sysdeps/generic/initfini.c 2009-11-13 00:50:09.000000000 +0100 -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/patches/glibc/ports-2.12.1/240-check_native-headers.patch b/patches/glibc/ports-2.12.1/240-check_native-headers.patch deleted file mode 100644 index de0cb5b..0000000 --- a/patches/glibc/ports-2.12.1/240-check_native-headers.patch +++ /dev/null @@ -1,17 +0,0 @@ -many ports hit this warning: -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' - -snipped from suse - -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/check_native.c glibc-2.12.1/sysdeps/unix/sysv/linux/check_native.c ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/check_native.c 2007-11-24 04:12:17.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/check_native.c 2009-11-13 00:50:11.000000000 +0100 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/patches/glibc/ports-2.12.1/250-fix-pr631.patch b/patches/glibc/ports-2.12.1/250-fix-pr631.patch deleted file mode 100644 index af5b347..0000000 --- a/patches/glibc/ports-2.12.1/250-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 - -diff -durN glibc-2.12.1.orig/Makeconfig glibc-2.12.1/Makeconfig ---- glibc-2.12.1.orig/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -+++ glibc-2.12.1/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -@@ -531,7 +531,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... -diff -durN glibc-2.12.1.orig/elf/Makefile glibc-2.12.1/elf/Makefile ---- glibc-2.12.1.orig/elf/Makefile 2009-01-31 01:20:55.000000000 +0100 -+++ glibc-2.12.1/elf/Makefile 2009-11-13 00:50:13.000000000 +0100 -@@ -146,6 +146,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/ports-2.12.1/260-assume-pipe2.patch b/patches/glibc/ports-2.12.1/260-assume-pipe2.patch deleted file mode 100644 index b84f882..0000000 --- a/patches/glibc/ports-2.12.1/260-assume-pipe2.patch +++ /dev/null @@ -1,40 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - -diff -durN glibc-2.12.1.orig/socket/have_sock_cloexec.c glibc-2.12.1/socket/have_sock_cloexec.c ---- glibc-2.12.1.orig/socket/have_sock_cloexec.c 2008-07-25 18:46:23.000000000 +0200 -+++ glibc-2.12.1/socket/have_sock_cloexec.c 2009-11-13 00:50:15.000000000 +0100 -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/patches/glibc/ports-2.12.1/270-china.patch b/patches/glibc/ports-2.12.1/270-china.patch deleted file mode 100644 index 4cde1cf..0000000 --- a/patches/glibc/ports-2.12.1/270-china.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.12.1.orig/localedata/locales/zh_TW glibc-2.12.1/localedata/locales/zh_TW ---- glibc-2.12.1.orig/localedata/locales/zh_TW 2004-11-01 00:42:28.000000000 +0100 -+++ glibc-2.12.1/localedata/locales/zh_TW 2009-11-13 00:50:17.000000000 +0100 -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/patches/glibc/ports-2.12.1/280-new-valencian-locale.patch b/patches/glibc/ports-2.12.1/280-new-valencian-locale.patch deleted file mode 100644 index 6b46b44..0000000 --- a/patches/glibc/ports-2.12.1/280-new-valencian-locale.patch +++ /dev/null @@ -1,115 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - -diff -durN glibc-2.12.1.orig/localedata/SUPPORTED glibc-2.12.1/localedata/SUPPORTED ---- glibc-2.12.1.orig/localedata/SUPPORTED 2009-04-18 10:43:52.000000000 +0200 -+++ glibc-2.12.1/localedata/SUPPORTED 2009-11-13 00:50:20.000000000 +0100 -@@ -72,6 +72,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ -diff -durN glibc-2.12.1.orig/localedata/locales/ca_ES@valencia glibc-2.12.1/localedata/locales/ca_ES@valencia ---- glibc-2.12.1.orig/localedata/locales/ca_ES@valencia 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.12.1/localedata/locales/ca_ES@valencia 2009-11-13 00:50:20.000000000 +0100 -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/patches/glibc/ports-2.12.1/300-nscd-one-fork.patch b/patches/glibc/ports-2.12.1/300-nscd-one-fork.patch deleted file mode 100644 index 27eae51..0000000 --- a/patches/glibc/ports-2.12.1/300-nscd-one-fork.patch +++ /dev/null @@ -1,40 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - -diff -durN glibc-2.12.1.orig/nscd/nscd.c glibc-2.12.1/nscd/nscd.c ---- glibc-2.12.1.orig/nscd/nscd.c 2009-02-06 21:10:27.000000000 +0100 -+++ glibc-2.12.1/nscd/nscd.c 2009-11-13 00:50:24.000000000 +0100 -@@ -182,6 +182,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -231,12 +234,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -245,9 +242,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch b/patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch deleted file mode 100644 index 947bb58..0000000 --- a/patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch +++ /dev/null @@ -1,246 +0,0 @@ - - -diff -durN glibc-2.12.1.orig/elf/rtld.c glibc-2.12.1/elf/rtld.c ---- glibc-2.12.1.orig/elf/rtld.c 2009-04-17 02:00:08.000000000 +0200 -+++ glibc-2.12.1/elf/rtld.c 2009-11-13 00:50:26.000000000 +0100 -@@ -390,14 +390,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; -diff -durN glibc-2.12.1.orig/include/atomic.h glibc-2.12.1/include/atomic.h ---- glibc-2.12.1.orig/include/atomic.h 2009-02-09 00:49:53.000000000 +0100 -+++ glibc-2.12.1/include/atomic.h 2009-11-13 00:50:26.000000000 +0100 -@@ -185,7 +185,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -206,7 +206,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -224,7 +224,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -242,7 +242,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -259,7 +259,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -277,7 +277,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -361,7 +361,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -400,7 +400,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -418,7 +418,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -450,7 +450,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -468,7 +468,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -484,7 +484,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -500,7 +500,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ -diff -durN glibc-2.12.1.orig/nptl/Makefile glibc-2.12.1/nptl/Makefile ---- glibc-2.12.1.orig/nptl/Makefile 2008-11-12 14:38:23.000000000 +0100 -+++ glibc-2.12.1/nptl/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -264,9 +264,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -425,6 +425,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror -diff -durN glibc-2.12.1.orig/nptl/pthread_barrier_wait.c glibc-2.12.1/nptl/pthread_barrier_wait.c ---- glibc-2.12.1.orig/nptl/pthread_barrier_wait.c 2007-08-01 06:18:50.000000000 +0200 -+++ glibc-2.12.1/nptl/pthread_barrier_wait.c 2009-11-13 00:50:26.000000000 +0100 -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ -diff -durN glibc-2.12.1.orig/nptl/sysdeps/pthread/Makefile glibc-2.12.1/nptl/sysdeps/pthread/Makefile ---- glibc-2.12.1.orig/nptl/sysdeps/pthread/Makefile 2006-02-28 08:09:41.000000000 +0100 -+++ glibc-2.12.1/nptl/sysdeps/pthread/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -33,7 +33,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - -diff -durN glibc-2.12.1.orig/stdio-common/Makefile glibc-2.12.1/stdio-common/Makefile ---- glibc-2.12.1.orig/stdio-common/Makefile 2009-04-11 07:29:56.000000000 +0200 -+++ glibc-2.12.1/stdio-common/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format -diff -durN glibc-2.12.1.orig/sunrpc/clnt_udp.c glibc-2.12.1/sunrpc/clnt_udp.c ---- glibc-2.12.1.orig/sunrpc/clnt_udp.c 2008-07-26 10:42:44.000000000 +0200 -+++ glibc-2.12.1/sunrpc/clnt_udp.c 2009-11-13 00:50:26.000000000 +0100 -@@ -456,7 +456,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/patches/glibc/ports-2.12.1/330-m68k-sys-user.patch b/patches/glibc/ports-2.12.1/330-m68k-sys-user.patch deleted file mode 100644 index b441691..0000000 --- a/patches/glibc/ports-2.12.1/330-m68k-sys-user.patch +++ /dev/null @@ -1,97 +0,0 @@ -copied from kernel as it is sanitized now - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/m68k/sys/user.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-11-13 00:50:31.000000000 +0100 -@@ -1,3 +1,90 @@ -+#ifndef _SYS_USER_H -+#define _SYS_USER_H -+ -+/* Core file format: The core file is written in such a way that gdb -+ can understand it and provide useful information to the user (under -+ linux we use the 'trad-core' bfd). There are quite a number of -+ obstacles to being able to view the contents of the floating point -+ registers, and until these are solved you will not be able to view the -+ contents of them. Actually, you can read in the core file and look at -+ the contents of the user struct to find out what the floating point -+ registers contain. -+ The actual file contents are as follows: -+ UPAGE: 1 page consisting of a user struct that tells gdb what is present -+ in the file. Directly after this is a copy of the task_struct, which -+ is currently not used by gdb, but it may come in useful at some point. -+ All of the registers are stored as part of the upage. The upage should -+ always be only one page. -+ DATA: The data area is stored. We use current->end_text to -+ current->brk to pick up all of the user variables, plus any memory -+ that may have been malloced. No attempt is made to determine if a page -+ is demand-zero or if a page is totally unused, we just cover the entire -+ range. All of the addresses are rounded in such a way that an integral -+ number of pages is written. -+ STACK: We need the stack information in order to get a meaningful -+ backtrace. We need to write the data from (esp) to -+ current->start_stack, so we round each of these off in order to be able -+ to write an integer number of pages. -+ The minimum core file size is 3 pages, or 12288 bytes. -+*/ -+ -+struct user_m68kfp_struct { -+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */ -+ unsigned long fpcntl[3]; /* fp control regs */ -+}; -+ -+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and -+ is still the layout used by user (the new pt_regs doesn't have -+ all registers). */ -+struct user_regs_struct { -+ long d1,d2,d3,d4,d5,d6,d7; -+ long a0,a1,a2,a3,a4,a5,a6; -+ long d0; -+ long usp; -+ long orig_d0; -+ short stkadj; -+ short sr; -+ long pc; -+ short fmtvec; -+ short __fill; -+}; -+ -+ -+/* When the kernel dumps core, it starts by dumping the user struct - -+ this will be used by gdb to figure out where the data and stack segments -+ are within the file, and what virtual addresses to use. */ -+struct user{ -+/* We start with the registers, to mimic the way that "memory" is returned -+ from the ptrace(3,...) function. */ -+ struct user_regs_struct regs; /* Where the registers are actually stored */ -+/* ptrace does not yet supply these. Someday.... */ -+ int u_fpvalid; /* True if math co-processor being used. */ -+ /* for this mess. Not yet used. */ -+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */ -+/* The rest of this junk is to help gdb figure out what goes where */ -+ unsigned long int u_tsize; /* Text segment size (pages). */ -+ unsigned long int u_dsize; /* Data segment size (pages). */ -+ unsigned long int u_ssize; /* Stack segment size (pages). */ -+ unsigned long start_code; /* Starting virtual address of text. */ -+ unsigned long start_stack; /* Starting virtual address of stack area. -+ This is actually the bottom of the stack, -+ the top of the stack is always found in the -+ esp register. */ -+ long int signal; /* Signal that caused the core dump. */ -+ int reserved; /* No longer used */ -+ struct user_regs_struct *u_ar0; -+ /* Used by gdb to help find the values for */ -+ /* the registers. */ -+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */ -+ unsigned long magic; /* To uniquely identify a core file */ -+ char u_comm[32]; /* User command that was responsible */ -+}; -+#define NBPG 4096 -+#define UPAGES 1 -+#define HOST_TEXT_START_ADDR (u.start_code) -+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) -+ -+#endif - /* Copyright (C) 2008 Free Software Foundation, Inc. - This file is part of the GNU C Library. - -diff -durN glibc-2.12.1.orig/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.12.1/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h diff --git a/patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch b/patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch deleted file mode 100644 index afdb39c..0000000 --- a/patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,66 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - -diff -durN glibc-2.12.1.orig/nptl/allocatestack.c glibc-2.12.1/nptl/allocatestack.c ---- glibc-2.12.1.orig/nptl/allocatestack.c 2009-01-29 21:34:16.000000000 +0100 -+++ glibc-2.12.1/nptl/allocatestack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -329,7 +329,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/dl-execstack.c glibc-2.12.1/sysdeps/unix/sysv/linux/dl-execstack.c ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/dl-execstack.c 2006-01-08 09:21:15.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/dl-execstack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch b/patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch deleted file mode 100644 index 3f03169..0000000 --- a/patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.12.1.orig/elf/elf.h glibc-2.12.1/elf/elf.h ---- glibc-2.12.1.orig/elf/elf.h 2009-04-15 02:15:54.000000000 +0200 -+++ glibc-2.12.1/elf/elf.h 2009-11-13 00:50:35.000000000 +0100 -@@ -580,6 +580,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -593,6 +594,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch b/patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch deleted file mode 100644 index a847cdb..0000000 --- a/patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,193 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - -diff -durN glibc-2.12.1.orig/grp/tst_fgetgrent.sh glibc-2.12.1/grp/tst_fgetgrent.sh ---- glibc-2.12.1.orig/grp/tst_fgetgrent.sh 2001-07-06 06:54:46.000000000 +0200 -+++ glibc-2.12.1/grp/tst_fgetgrent.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - -diff -durN glibc-2.12.1.orig/iconvdata/run-iconv-test.sh glibc-2.12.1/iconvdata/run-iconv-test.sh ---- glibc-2.12.1.orig/iconvdata/run-iconv-test.sh 2008-05-15 03:59:44.000000000 +0200 -+++ glibc-2.12.1/iconvdata/run-iconv-test.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ -diff -durN glibc-2.12.1.orig/iconvdata/tst-table.sh glibc-2.12.1/iconvdata/tst-table.sh ---- glibc-2.12.1.orig/iconvdata/tst-table.sh 2002-04-24 23:39:35.000000000 +0200 -+++ glibc-2.12.1/iconvdata/tst-table.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - -diff -durN glibc-2.12.1.orig/intl/tst-codeset.sh glibc-2.12.1/intl/tst-codeset.sh ---- glibc-2.12.1.orig/intl/tst-codeset.sh 2005-04-06 04:18:35.000000000 +0200 -+++ glibc-2.12.1/intl/tst-codeset.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - -diff -durN glibc-2.12.1.orig/intl/tst-gettext.sh glibc-2.12.1/intl/tst-gettext.sh ---- glibc-2.12.1.orig/intl/tst-gettext.sh 2004-08-15 21:28:18.000000000 +0200 -+++ glibc-2.12.1/intl/tst-gettext.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.12.1.orig/intl/tst-gettext2.sh glibc-2.12.1/intl/tst-gettext2.sh ---- glibc-2.12.1.orig/intl/tst-gettext2.sh 2005-05-04 19:54:48.000000000 +0200 -+++ glibc-2.12.1/intl/tst-gettext2.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.12.1.orig/malloc/tst-mtrace.sh glibc-2.12.1/malloc/tst-mtrace.sh ---- glibc-2.12.1.orig/malloc/tst-mtrace.sh 2005-10-15 01:40:35.000000000 +0200 -+++ glibc-2.12.1/malloc/tst-mtrace.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then -diff -durN glibc-2.12.1.orig/nptl/tst-tls6.sh glibc-2.12.1/nptl/tst-tls6.sh ---- glibc-2.12.1.orig/nptl/tst-tls6.sh 2003-09-03 00:02:59.000000000 +0200 -+++ glibc-2.12.1/nptl/tst-tls6.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - -diff -durN glibc-2.12.1.orig/posix/globtest.sh glibc-2.12.1/posix/globtest.sh ---- glibc-2.12.1.orig/posix/globtest.sh 2008-12-06 07:05:39.000000000 +0100 -+++ glibc-2.12.1/posix/globtest.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C -diff -durN glibc-2.12.1.orig/posix/tst-getconf.sh glibc-2.12.1/posix/tst-getconf.sh ---- glibc-2.12.1.orig/posix/tst-getconf.sh 2002-09-01 13:11:25.000000000 +0200 -+++ glibc-2.12.1/posix/tst-getconf.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - -diff -durN glibc-2.12.1.orig/posix/wordexp-tst.sh glibc-2.12.1/posix/wordexp-tst.sh ---- glibc-2.12.1.orig/posix/wordexp-tst.sh 2000-10-20 18:23:30.000000000 +0200 -+++ glibc-2.12.1/posix/wordexp-tst.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/patches/glibc/ports-2.12.1/370-fnmatch.patch b/patches/glibc/ports-2.12.1/370-fnmatch.patch deleted file mode 100644 index f345b35..0000000 --- a/patches/glibc/ports-2.12.1/370-fnmatch.patch +++ /dev/null @@ -1,62 +0,0 @@ -http://sourceware.org/ml/libc-hacker/2002-11/msg00071.html - -When fnmatch detects an invalid multibyte character it should fall back to -single byte matching, so that "*" has a chance to match such a string. - -Andreas. - -2005-04-12 Andreas Schwab - - * posix/fnmatch.c (fnmatch): If conversion to wide character - fails fall back to single byte matching. - -Index: posix/fnmatch.c -=================================================================== - -diff -durN glibc-2.12.1.orig/posix/fnmatch.c glibc-2.12.1/posix/fnmatch.c ---- glibc-2.12.1.orig/posix/fnmatch.c 2007-07-28 22:35:00.000000000 +0200 -+++ glibc-2.12.1/posix/fnmatch.c 2009-11-13 00:50:39.000000000 +0100 -@@ -327,6 +327,7 @@ - # if HANDLE_MULTIBYTE - if (__builtin_expect (MB_CUR_MAX, 1) != 1) - { -+ const char *orig_pattern = pattern; - mbstate_t ps; - size_t n; - const char *p; -@@ -382,10 +383,8 @@ - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - n = mbsrtowcs (wstring, &p, n + 1, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -397,10 +396,8 @@ - prepare_wstring: - n = mbsrtowcs (NULL, &string, 0, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - assert (mbsinit (&ps)); - (void) mbsrtowcs (wstring, &string, n + 1, &ps); -@@ -408,6 +405,9 @@ - - return internal_fnwmatch (wpattern, wstring, wstring + n, - flags & FNM_PERIOD, flags, NULL); -+ -+ try_singlebyte: -+ pattern = orig_pattern; - } - # endif /* mbstate_t and mbsrtowcs or _LIBC. */ - diff --git a/patches/glibc/ports-2.12.1/380-dont-build-timezone.patch b/patches/glibc/ports-2.12.1/380-dont-build-timezone.patch deleted file mode 100644 index 0a30436..0000000 --- a/patches/glibc/ports-2.12.1/380-dont-build-timezone.patch +++ /dev/null @@ -1,14 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - -diff -durN glibc-2.12.1.orig/Makeconfig glibc-2.12.1/Makeconfig ---- glibc-2.12.1.orig/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -+++ glibc-2.12.1/Makeconfig 2009-11-13 00:50:41.000000000 +0100 -@@ -944,7 +944,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/patches/glibc/ports-2.12.1/400-alpha-xstat.patch b/patches/glibc/ports-2.12.1/400-alpha-xstat.patch deleted file mode 100644 index 97bea98..0000000 --- a/patches/glibc/ports-2.12.1/400-alpha-xstat.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-05-09 08:54:20.000000000 +0200 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -@@ -386,6 +386,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/patches/glibc/ports-2.12.1/430-alpha-creat.patch b/patches/glibc/ports-2.12.1/430-alpha-creat.patch deleted file mode 100644 index bfb72d0..0000000 --- a/patches/glibc/ports-2.12.1/430-alpha-creat.patch +++ /dev/null @@ -1,14 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c glibc-2.12.1/sysdeps/unix/sysv/linux/wordsize-64/creat64.c ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2007-11-10 20:34:26.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2009-11-13 00:50:51.000000000 +0100 -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch b/patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch deleted file mode 100644 index ea85e99..0000000 --- a/patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch +++ /dev/null @@ -1,13 +0,0 @@ -older verisons of glibc would build dl-sysdep as shared-only and dl-support as -static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of -glibc build dl-sysdep as both shared and static which means we now have symbol -duplication for static builds with dl-sysdep and dl-support. since dl-sysdep -is both shared/static, there is no point in hooking dl-support anymore, so we -can punt it. - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/dl-support.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/dl-support.c ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-11-13 00:50:53.000000000 +0100 -@@ -1,2 +1,1 @@ --#include "dl-auxv.h" - #include diff --git a/patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch b/patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch deleted file mode 100644 index 6438267..0000000 --- a/patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch +++ /dev/null @@ -1,56 +0,0 @@ -2006-05-30 Falk Hueffner - - * sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture - to ev6 in assembly code. - -{standard input}: Assembler messages: -{standard input}:341: Error: macro requires $at register while noat in effect -{standard input}:374: Error: macro requires $at register while noat in effect -{standard input}:438: Error: macro requires $at register while noat in effect -{standard input}:471: Error: macro requires $at register while noat in effect -make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1 - -Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as. -I cannot really think of anything better than - - ports/sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/ioperm.c ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-11-13 00:50:57.000000000 +0100 -@@ -178,13 +178,13 @@ - static inline void - stb_mb(unsigned char val, unsigned long addr) - { -- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); -+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); - } - - static inline void - stw_mb(unsigned short val, unsigned long addr) - { -- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); -+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); - } - - static inline void -@@ -356,7 +356,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned char r; - -- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); -+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); - return r; - } - -@@ -366,7 +366,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned short r; - -- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); -+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); - return r; - } - -diff -durN glibc-2.12.1.orig/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.12.1/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c diff --git a/patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch b/patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index 9d35ebd..0000000 --- a/patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,126 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/Makefile glibc-2.12.1/sysdeps/unix/sysv/linux/Makefile ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/Makefile 2009-03-02 17:15:13.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/Makefile 2009-11-13 00:51:04.000000000 +0100 -@@ -20,6 +20,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - - sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/fdatasync.c glibc-2.12.1/sysdeps/unix/sysv/linux/fdatasync.c ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/fdatasync.c 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/fdatasync.c 2009-11-13 00:51:04.000000000 +0100 -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:51:04.000000000 +0100 -@@ -459,6 +459,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ -diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/syscalls.list glibc-2.12.1/sysdeps/unix/sysv/linux/syscalls.list ---- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/syscalls.list 2008-08-02 01:29:08.000000000 +0200 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/syscalls.list 2009-11-13 00:51:04.000000000 +0100 -@@ -11,7 +11,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch b/patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch deleted file mode 100644 index 621a6f3..0000000 --- a/patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch +++ /dev/null @@ -1,21 +0,0 @@ -2009-05-26 Aurelien Jarno - - * sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag). - - ports/sysdeps/alpha/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/alpha/Makefile glibc-2.12.1/glibc-ports-2.12.1/sysdeps/alpha/Makefile ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/alpha/Makefile 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/alpha/Makefile 2009-11-13 00:51:13.000000000 +0100 -@@ -35,7 +35,8 @@ - - ifeq ($(subdir),elf) - # The ld.so startup code cannot use literals until it self-relocates. --CFLAGS-rtld.c = -mbuild-constants -+# It uses more than 64k for the small data area. -+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag) - endif - - # Build everything with full IEEE math support, and with dynamic rounding; -diff -durN glibc-2.12.1.orig/ports/sysdeps/alpha/Makefile glibc-2.12.1/ports/sysdeps/alpha/Makefile diff --git a/patches/glibc/ports-2.12.1/560-ppc-atomic.patch b/patches/glibc/ports-2.12.1/560-ppc-atomic.patch deleted file mode 100644 index 679ef18..0000000 --- a/patches/glibc/ports-2.12.1/560-ppc-atomic.patch +++ /dev/null @@ -1,415 +0,0 @@ -sniped from suse - -Index: sysdeps/powerpc/bits/atomic.h -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/powerpc/bits/atomic.h,v -retrieving revision 1.17 -diff -u -a -p -r1.17 atomic.h - -diff -durN glibc-2.12.1.orig/sysdeps/powerpc/bits/atomic.h glibc-2.12.1/sysdeps/powerpc/bits/atomic.h ---- glibc-2.12.1.orig/sysdeps/powerpc/bits/atomic.h 2007-03-26 22:15:28.000000000 +0200 -+++ glibc-2.12.1/sysdeps/powerpc/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -diff -durN glibc-2.12.1.orig/sysdeps/powerpc/powerpc32/bits/atomic.h glibc-2.12.1/sysdeps/powerpc/powerpc32/bits/atomic.h ---- glibc-2.12.1.orig/sysdeps/powerpc/powerpc32/bits/atomic.h 2007-03-26 22:15:45.000000000 +0200 -+++ glibc-2.12.1/sysdeps/powerpc/powerpc32/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -diff -durN glibc-2.12.1.orig/sysdeps/powerpc/powerpc64/bits/atomic.h glibc-2.12.1/sysdeps/powerpc/powerpc64/bits/atomic.h ---- glibc-2.12.1.orig/sysdeps/powerpc/powerpc64/bits/atomic.h 2007-03-26 22:16:03.000000000 +0200 -+++ glibc-2.12.1/sysdeps/powerpc/powerpc64/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch deleted file mode 100644 index fc42a92..0000000 --- a/patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch +++ /dev/null @@ -1,374 +0,0 @@ -http://yann.poupet.free.fr/ep93xx/ -Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h 2009-11-13 00:51:22.000000000 +0100 -@@ -12,7 +12,7 @@ - /* FPA floating point units are always big-endian, irrespective of the - CPU endianness. VFP floating point units use the same endianness - as the rest of the system. */ --#ifdef __VFP_FP__ -+#if defined __VFP_FP__ || defined __MAVERICK__ - #define __FLOAT_WORD_ORDER __BYTE_ORDER - #else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -30,7 +30,33 @@ - movs r0, r1 /* get the return value in place */ - moveq r0, #1 /* can't let setjmp() return zero! */ - -+#ifdef __MAVERICK__ -+ cfldrd mvd4, [ip], #8 -+ nop -+ cfldrd mvd5, [ip], #8 -+ nop -+ cfldrd mvd6, [ip], #8 -+ nop -+ cfldrd mvd7, [ip], #8 -+ nop -+ cfldrd mvd8, [ip], #8 -+ nop -+ cfldrd mvd9, [ip], #8 -+ nop -+ cfldrd mvd10, [ip], #8 -+ nop -+ cfldrd mvd11, [ip], #8 -+ nop -+ cfldrd mvd12, [ip], #8 -+ nop -+ cfldrd mvd13, [ip], #8 -+ nop -+ cfldrd mvd14, [ip], #8 -+ nop -+ cfldrd mvd15, [ip], #8 -+#else - lfmfd f4, 4, [ip] ! /* load the floating point regs */ -+#endif - - LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc}) - END (__longjmp) -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h 2009-11-13 00:51:22.000000000 +0100 -@@ -20,6 +20,45 @@ - # error "Never use directly; include instead." - #endif - -+#if defined(__MAVERICK__) -+ -+/* Define bits representing exceptions in the FPU status word. */ -+enum -+ { -+ FE_INVALID = 1, -+#define FE_INVALID FE_INVALID -+ FE_OVERFLOW = 4, -+#define FE_OVERFLOW FE_OVERFLOW -+ FE_UNDERFLOW = 8, -+#define FE_UNDERFLOW FE_UNDERFLOW -+ FE_INEXACT = 16, -+#define FE_INEXACT FE_INEXACT -+ }; -+ -+/* Amount to shift by to convert an exception to a mask bit. */ -+#define FE_EXCEPT_SHIFT 5 -+ -+/* All supported exceptions. */ -+#define FE_ALL_EXCEPT \ -+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) -+ -+/* IEEE rounding modes. */ -+enum -+ { -+ FE_TONEAREST = 0, -+#define FE_TONEAREST FE_TONEAREST -+ FE_TOWARDZERO = 0x400, -+#define FE_TOWARDZERO FE_TOWARDZERO -+ FE_DOWNWARD = 0x800, -+#define FE_DOWNWARD FE_DOWNWARD -+ FE_UPWARD = 0xc00, -+#define FE_UPWARD FE_UPWARD -+ }; -+ -+#define FE_ROUND_MASK (FE_UPWARD) -+ -+#else /* FPA */ -+ - /* Define bits representing exceptions in the FPU status word. */ - enum - { -@@ -44,6 +83,8 @@ - modes exist, but you have to encode them in the actual instruction. */ - #define FE_TONEAREST 0 - -+#endif -+ - /* Type representing exception flags. */ - typedef unsigned long int fexcept_t; - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h 2009-11-13 00:51:22.000000000 +0100 -@@ -28,7 +28,11 @@ - #ifndef _ASM - /* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not - saved. */ -+#ifdef __MAVERICK__ -+typedef int __jmp_buf[34]; -+#else - typedef int __jmp_buf[22]; - #endif -+#endif - - #endif -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,9 +18,21 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fegetround (void) - { -+#if defined(__MAVERICK__) -+ -+ unsigned long temp; -+ -+ _FPU_GETCW (temp); -+ return temp & FE_ROUND_MASK; -+ -+#else /* FPA */ -+ - return FE_TONEAREST; /* Easy. :-) */ -+ -+#endif - } -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,12 +18,28 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fesetround (int round) - { -+#if defined(__MAVERICK__) -+ unsigned long temp; -+ -+ if (round & ~FE_ROUND_MASK) -+ return 1; -+ -+ _FPU_GETCW (temp); -+ temp = (temp & ~FE_ROUND_MASK) | round; -+ _FPU_SETCW (temp); -+ return 0; -+ -+#else /* FPA */ -+ - /* We only support FE_TONEAREST, so there is no need for any work. */ - return (round == FE_TONEAREST)?0:1; -+ -+#endif - } - - libm_hidden_def (fesetround) -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h 2009-11-13 00:51:22.000000000 +0100 -@@ -1,5 +1,6 @@ - /* FPU control word definitions. ARM version. -- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. -+ Copyright (C) 1996, 1997, 1998, 2000, 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 -@@ -20,6 +21,79 @@ - #ifndef _FPU_CONTROL_H - #define _FPU_CONTROL_H - -+#if defined(__MAVERICK__) -+ -+/* DSPSC register: (from EP9312 User's Guide) -+ * -+ * bits 31..29 - DAID -+ * bits 28..26 - HVID -+ * bits 25..24 - RSVD -+ * bit 23 - ISAT -+ * bit 22 - UI -+ * bit 21 - INT -+ * bit 20 - AEXC -+ * bits 19..18 - SAT -+ * bits 17..16 - FCC -+ * bit 15 - V -+ * bit 14 - FWDEN -+ * bit 13 - Invalid -+ * bit 12 - Denorm -+ * bits 11..10 - RM -+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE -+ * bits 4..0 - IX, UF, OF, RSVD, IO -+ */ -+ -+/* masking of interrupts */ -+#define _FPU_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_MASK_ZM 0 /* divide by zero */ -+#define _FPU_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_MASK_DM 0 /* denormalized operation */ -+ -+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */ -+ -+#define _FPU_DEFAULT 0x00b00000 /* Default value. */ -+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */ -+ -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t; -+ -+/* Macros for accessing the hardware control word. */ -+#define _FPU_GETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv32sc mvdx0, dspsc\n\t" \ -+ "cfmvr64l %0, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \ -+ ); \ -+}) -+ -+#define _FPU_SETCW(cw) ({ \ -+ register int __t0, __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %0\n\t" \ -+ "cfmvsc32 dspsc, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \ -+ : "0" (cw) \ -+ ); \ -+}) -+ -+/* Default control word set at startup. */ -+extern fpu_control_t __fpu_control; -+ -+#else /* FPA */ -+ - /* We have a slight terminology confusion here. On the ARM, the register - * we're interested in is actually the FPU status word - the FPU control - * word is something different (which is implementation-defined and only -@@ -99,4 +173,6 @@ - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; - -+#endif -+ - #endif /* _FPU_CONTROL_H */ -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,4 +17,8 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define __JMP_BUF_SP 32 -+#else - #define __JMP_BUF_SP 20 -+#endif -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -24,11 +24,41 @@ - - ENTRY (__sigsetjmp) - /* Save registers */ -+#ifdef __MAVERICK__ -+ cfstrd mvd4, [r0], #8 -+ nop -+ cfstrd mvd5, [r0], #8 -+ nop -+ cfstrd mvd6, [r0], #8 -+ nop -+ cfstrd mvd7, [r0], #8 -+ nop -+ cfstrd mvd8, [r0], #8 -+ nop -+ cfstrd mvd9, [r0], #8 -+ nop -+ cfstrd mvd10, [r0], #8 -+ nop -+ cfstrd mvd11, [r0], #8 -+ nop -+ cfstrd mvd12, [r0], #8 -+ nop -+ cfstrd mvd13, [r0], #8 -+ nop -+ cfstrd mvd14, [r0], #8 -+ nop -+ cfstrd mvd15, [r0], #8 -+#else - sfmea f4, 4, [r0]! -+#endif - stmia r0, {v1-v6, sl, fp, sp, lr} - - /* Restore pointer to jmp_buf */ -+#ifdef __MAVERICK__ -+ sub r0, r0, #96 -+#else - sub r0, r0, #48 -+#endif - - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gccframe.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gccframe.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gccframe.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gccframe.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,6 +17,10 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define FIRST_PSEUDO_REGISTER 43 -+#else - #define FIRST_PSEUDO_REGISTER 27 -+#endif - - #include -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h 2009-11-13 00:51:22.000000000 +0100 -@@ -29,7 +29,7 @@ - #if defined(__ARMEB__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 1 --#elif defined(__VFP_FP__) -+#elif defined(__VFP_FP__) || defined(__MAVERICK__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 0 - #else -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/bits/endian.h glibc-2.12.1/ports/sysdeps/arm/bits/endian.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.12.1/ports/sysdeps/arm/fpu/__longjmp.S -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.12.1/ports/sysdeps/arm/fpu/bits/fenv.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.12.1/ports/sysdeps/arm/fpu/bits/setjmp.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fegetround.c glibc-2.12.1/ports/sysdeps/arm/fpu/fegetround.c -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fesetround.c glibc-2.12.1/ports/sysdeps/arm/fpu/fesetround.c -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.12.1/ports/sysdeps/arm/fpu/fpu_control.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.12.1/ports/sysdeps/arm/fpu/jmpbuf-offsets.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/setjmp.S glibc-2.12.1/ports/sysdeps/arm/fpu/setjmp.S -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/gccframe.h glibc-2.12.1/ports/sysdeps/arm/gccframe.h -diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/gmp-mparam.h glibc-2.12.1/ports/sysdeps/arm/gmp-mparam.h diff --git a/patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch b/patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch deleted file mode 100644 index c243a76..0000000 --- a/patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch +++ /dev/null @@ -1,23 +0,0 @@ -fix build error on arm like on hppa: - -arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1 -In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM' -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function) - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-11-13 00:51:23.000000000 +0100 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include /* Need THREAD_*, and header.*. */ - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 -diff -durN glibc-2.12.1.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.12.1/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h diff --git a/patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch b/patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch deleted file mode 100644 index 7d990de..0000000 --- a/patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html - -diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/mips/fpu_control.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/mips/fpu_control.h ---- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/mips/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/mips/fpu_control.h 2009-11-13 00:51:31.000000000 +0100 -@@ -86,7 +86,7 @@ - #define _FPU_RC_UP 0x2 - #define _FPU_RC_DOWN 0x3 - --#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */ -+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */ - - - /* The fdlibm code requires strict IEEE double precision arithmetic, -diff -durN glibc-2.12.1.orig/ports/sysdeps/mips/fpu_control.h glibc-2.12.1/ports/sysdeps/mips/fpu_control.h diff --git a/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch b/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch deleted file mode 100644 index f6a5eb6..0000000 --- a/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -durN glibc-2.12.1.orig/elf/dl-lookup.c glibc-2.12.1/elf/dl-lookup.c ---- glibc-2.12.1.orig/elf/dl-lookup.c 2009-03-30 23:14:32.000000000 +0200 -+++ glibc-2.12.1/elf/dl-lookup.c 2009-11-13 00:51:36.000000000 +0100 -@@ -301,6 +301,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/patches/glibc/ports-2.12.1/640-alpha-atfcts.patch b/patches/glibc/ports-2.12.1/640-alpha-atfcts.patch deleted file mode 100644 index 90a9d0d..0000000 --- a/patches/glibc/ports-2.12.1/640-alpha-atfcts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h 2010-07-27 14:34:39.000000000 +0300 -+++ glibc-2.12.1/sysdeps/unix/sysv/linux/kernel-features.h.new 2011-03-10 18:54:37.686795979 +0200 -@@ -437,7 +437,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/ports-2.12.1/650-syslog.patch b/patches/glibc/ports-2.12.1/650-syslog.patch deleted file mode 100644 index c20cafc..0000000 --- a/patches/glibc/ports-2.12.1/650-syslog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -durN glibc-cvs-2.9.orig/misc/syslog.c glibc-cvs-2.9/misc/syslog.c ---- glibc-cvs-2.9.orig/misc/syslog.c 2009-06-01 10:16:50.000000000 +0200 -+++ glibc-cvs-2.9/misc/syslog.c 2009-06-01 10:17:20.000000000 +0200 -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch b/patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index a5a7052..0000000 --- a/patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -dur glibc-cvs-2.9.orig/debug/readlink_chk.c glibc-cvs-2.9/debug/readlink_chk.c ---- glibc-cvs-2.9.orig/debug/readlink_chk.c 2005-03-01 01:41:15.000000000 +0100 -+++ glibc-cvs-2.9/debug/readlink_chk.c 2009-06-01 10:59:37.000000000 +0200 -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); -diff -dur glibc-cvs-2.9.orig/debug/readlinkat_chk.c glibc-cvs-2.9/debug/readlinkat_chk.c ---- glibc-cvs-2.9.orig/debug/readlinkat_chk.c 2006-04-24 18:56:12.000000000 +0200 -+++ glibc-cvs-2.9/debug/readlinkat_chk.c 2009-06-01 11:07:26.000000000 +0200 -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch b/patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch deleted file mode 100644 index 3798cb2..0000000 --- a/patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,14 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - -diff -durN glibc-2.13.orig/Makeconfig glibc-2.13/Makeconfig ---- glibc-2.13.orig/Makeconfig 2009-05-09 23:57:56.000000000 +0200 -+++ glibc-2.13/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -@@ -697,6 +697,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$(field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/patches/glibc/ports-2.13/160-manual-no-perl.patch b/patches/glibc/ports-2.13/160-manual-no-perl.patch deleted file mode 100644 index 5e2b807..0000000 --- a/patches/glibc/ports-2.13/160-manual-no-perl.patch +++ /dev/null @@ -1,24 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - -diff -durN glibc-2.13.orig/manual/Makefile glibc-2.13/manual/Makefile ---- glibc-2.13.orig/manual/Makefile 2006-01-08 07:43:47.000000000 +0100 -+++ glibc-2.13/manual/Makefile 2009-11-13 00:49:54.000000000 +0100 -@@ -104,9 +104,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch b/patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch deleted file mode 100644 index 4784a07..0000000 --- a/patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch +++ /dev/null @@ -1,69 +0,0 @@ -#! /bin/sh -e - -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -diff -durN glibc-2.13.orig/locale/programs/3level.h glibc-2.13/locale/programs/3level.h ---- glibc-2.13.orig/locale/programs/3level.h 2007-07-16 02:54:59.000000000 +0200 -+++ glibc-2.13/locale/programs/3level.h 2009-11-13 00:49:56.000000000 +0100 -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/patches/glibc/ports-2.13/180-resolv-dynamic.patch b/patches/glibc/ports-2.13/180-resolv-dynamic.patch deleted file mode 100644 index e916bce..0000000 --- a/patches/glibc/ports-2.13/180-resolv-dynamic.patch +++ /dev/null @@ -1,39 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - -diff -durN glibc-2.13.orig/resolv/res_libc.c glibc-2.13/resolv/res_libc.c ---- glibc-2.13.orig/resolv/res_libc.c 2009-02-07 05:27:42.000000000 +0100 -+++ glibc-2.13/resolv/res_libc.c 2009-11-13 00:49:59.000000000 +0100 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/patches/glibc/ports-2.13/190-localedef-mmap.patch b/patches/glibc/ports-2.13/190-localedef-mmap.patch deleted file mode 100644 index f3914cd..0000000 --- a/patches/glibc/ports-2.13/190-localedef-mmap.patch +++ /dev/null @@ -1,39 +0,0 @@ -sniped from Debian -http://bugs.gentoo.org/289615 - -2009-10-27 Aurelien Jarno - - * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory - used later with MMAP_FIXED | MMAP_SHARED to cope with different - alignment restrictions. - -diff -durN glibc-2.13.orig/locale/programs/locarchive.c glibc-2.13/locale/programs/locarchive.c ---- glibc-2.13.orig/locale/programs/locarchive.c 2009-04-27 16:07:47.000000000 +0200 -+++ glibc-2.13/locale/programs/locarchive.c 2009-11-13 00:50:01.000000000 +0100 -@@ -134,7 +134,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -396,7 +396,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -614,7 +614,7 @@ - int xflags = 0; - void *p; - if (st.st_size < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else diff --git a/patches/glibc/ports-2.13/200-fadvise64_64.patch b/patches/glibc/ports-2.13/200-fadvise64_64.patch deleted file mode 100644 index 71bca38..0000000 --- a/patches/glibc/ports-2.13/200-fadvise64_64.patch +++ /dev/null @@ -1,28 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200 -+++ glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-11-13 00:50:03.000000000 +0100 -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/patches/glibc/ports-2.13/220-section-comments.patch b/patches/glibc/ports-2.13/220-section-comments.patch deleted file mode 100644 index d717829..0000000 --- a/patches/glibc/ports-2.13/220-section-comments.patch +++ /dev/null @@ -1,24 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - -diff -durN glibc-2.13.orig/include/libc-symbols.h glibc-2.13/include/libc-symbols.h ---- glibc-2.13.orig/include/libc-symbols.h 2009-03-14 00:51:46.000000000 +0100 -+++ glibc-2.13/include/libc-symbols.h 2009-11-13 00:50:07.000000000 +0100 -@@ -239,12 +239,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/patches/glibc/ports-2.13/230-no-inline-gmon.patch b/patches/glibc/ports-2.13/230-no-inline-gmon.patch deleted file mode 100644 index fa33c2b..0000000 --- a/patches/glibc/ports-2.13/230-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - -Index: sysdeps/generic/initfini.c -=================================================================== - -diff -durN glibc-2.13.orig/sysdeps/generic/initfini.c glibc-2.13/sysdeps/generic/initfini.c ---- glibc-2.13.orig/sysdeps/generic/initfini.c 2007-06-17 20:02:40.000000000 +0200 -+++ glibc-2.13/sysdeps/generic/initfini.c 2009-11-13 00:50:09.000000000 +0100 -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/patches/glibc/ports-2.13/240-check_native-headers.patch b/patches/glibc/ports-2.13/240-check_native-headers.patch deleted file mode 100644 index c936f71..0000000 --- a/patches/glibc/ports-2.13/240-check_native-headers.patch +++ /dev/null @@ -1,17 +0,0 @@ -many ports hit this warning: -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' - -snipped from suse - -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/check_native.c glibc-2.13/sysdeps/unix/sysv/linux/check_native.c ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/check_native.c 2007-11-24 04:12:17.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/check_native.c 2009-11-13 00:50:11.000000000 +0100 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/patches/glibc/ports-2.13/250-fix-pr631.patch b/patches/glibc/ports-2.13/250-fix-pr631.patch deleted file mode 100644 index a48912e..0000000 --- a/patches/glibc/ports-2.13/250-fix-pr631.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 - -diff -durN glibc-2.13.orig/Makeconfig glibc-2.13/Makeconfig ---- glibc-2.13.orig/Makeconfig 2009-11-13 00:49:41.000000000 +0100 -+++ glibc-2.13/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -@@ -531,7 +531,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... -diff -durN glibc-2.13.orig/elf/Makefile glibc-2.13/elf/Makefile ---- glibc-2.13.orig/elf/Makefile 2009-01-31 01:20:55.000000000 +0100 -+++ glibc-2.13/elf/Makefile 2009-11-13 00:50:13.000000000 +0100 -@@ -146,6 +146,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/ports-2.13/260-assume-pipe2.patch b/patches/glibc/ports-2.13/260-assume-pipe2.patch deleted file mode 100644 index 42e8f4e..0000000 --- a/patches/glibc/ports-2.13/260-assume-pipe2.patch +++ /dev/null @@ -1,40 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - -diff -durN glibc-2.13.orig/socket/have_sock_cloexec.c glibc-2.13/socket/have_sock_cloexec.c ---- glibc-2.13.orig/socket/have_sock_cloexec.c 2008-07-25 18:46:23.000000000 +0200 -+++ glibc-2.13/socket/have_sock_cloexec.c 2009-11-13 00:50:15.000000000 +0100 -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/patches/glibc/ports-2.13/270-china.patch b/patches/glibc/ports-2.13/270-china.patch deleted file mode 100644 index 41d7759..0000000 --- a/patches/glibc/ports-2.13/270-china.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.13.orig/localedata/locales/zh_TW glibc-2.13/localedata/locales/zh_TW ---- glibc-2.13.orig/localedata/locales/zh_TW 2004-11-01 00:42:28.000000000 +0100 -+++ glibc-2.13/localedata/locales/zh_TW 2009-11-13 00:50:17.000000000 +0100 -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/patches/glibc/ports-2.13/280-new-valencian-locale.patch b/patches/glibc/ports-2.13/280-new-valencian-locale.patch deleted file mode 100644 index 4cdd108..0000000 --- a/patches/glibc/ports-2.13/280-new-valencian-locale.patch +++ /dev/null @@ -1,115 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - -diff -durN glibc-2.13.orig/localedata/SUPPORTED glibc-2.13/localedata/SUPPORTED ---- glibc-2.13.orig/localedata/SUPPORTED 2009-04-18 10:43:52.000000000 +0200 -+++ glibc-2.13/localedata/SUPPORTED 2009-11-13 00:50:20.000000000 +0100 -@@ -72,6 +72,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ -diff -durN glibc-2.13.orig/localedata/locales/ca_ES@valencia glibc-2.13/localedata/locales/ca_ES@valencia ---- glibc-2.13.orig/localedata/locales/ca_ES@valencia 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.13/localedata/locales/ca_ES@valencia 2009-11-13 00:50:20.000000000 +0100 -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/patches/glibc/ports-2.13/300-nscd-one-fork.patch b/patches/glibc/ports-2.13/300-nscd-one-fork.patch deleted file mode 100644 index adc9b3f..0000000 --- a/patches/glibc/ports-2.13/300-nscd-one-fork.patch +++ /dev/null @@ -1,40 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - -diff -durN glibc-2.13.orig/nscd/nscd.c glibc-2.13/nscd/nscd.c ---- glibc-2.13.orig/nscd/nscd.c 2009-02-06 21:10:27.000000000 +0100 -+++ glibc-2.13/nscd/nscd.c 2009-11-13 00:50:24.000000000 +0100 -@@ -182,6 +182,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -231,12 +234,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -245,9 +242,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch b/patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch deleted file mode 100644 index 4c028b2..0000000 --- a/patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch +++ /dev/null @@ -1,246 +0,0 @@ - - -diff -durN glibc-2.13.orig/elf/rtld.c glibc-2.13/elf/rtld.c ---- glibc-2.13.orig/elf/rtld.c 2009-04-17 02:00:08.000000000 +0200 -+++ glibc-2.13/elf/rtld.c 2009-11-13 00:50:26.000000000 +0100 -@@ -392,14 +392,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; -diff -durN glibc-2.13.orig/include/atomic.h glibc-2.13/include/atomic.h ---- glibc-2.13.orig/include/atomic.h 2009-02-09 00:49:53.000000000 +0100 -+++ glibc-2.13/include/atomic.h 2009-11-13 00:50:26.000000000 +0100 -@@ -185,7 +185,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -206,7 +206,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -224,7 +224,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -242,7 +242,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -259,7 +259,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -277,7 +277,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -361,7 +361,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -400,7 +400,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -418,7 +418,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -450,7 +450,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -468,7 +468,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -484,7 +484,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -500,7 +500,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ -diff -durN glibc-2.13.orig/nptl/Makefile glibc-2.13/nptl/Makefile ---- glibc-2.13.orig/nptl/Makefile 2008-11-12 14:38:23.000000000 +0100 -+++ glibc-2.13/nptl/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -265,9 +265,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -426,6 +426,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror -diff -durN glibc-2.13.orig/nptl/pthread_barrier_wait.c glibc-2.13/nptl/pthread_barrier_wait.c ---- glibc-2.13.orig/nptl/pthread_barrier_wait.c 2007-08-01 06:18:50.000000000 +0200 -+++ glibc-2.13/nptl/pthread_barrier_wait.c 2009-11-13 00:50:26.000000000 +0100 -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ -diff -durN glibc-2.13.orig/nptl/sysdeps/pthread/Makefile glibc-2.13/nptl/sysdeps/pthread/Makefile ---- glibc-2.13.orig/nptl/sysdeps/pthread/Makefile 2006-02-28 08:09:41.000000000 +0100 -+++ glibc-2.13/nptl/sysdeps/pthread/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -33,7 +33,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - -diff -durN glibc-2.13.orig/stdio-common/Makefile glibc-2.13/stdio-common/Makefile ---- glibc-2.13.orig/stdio-common/Makefile 2009-04-11 07:29:56.000000000 +0200 -+++ glibc-2.13/stdio-common/Makefile 2009-11-13 00:50:26.000000000 +0100 -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format -diff -durN glibc-2.13.orig/sunrpc/clnt_udp.c glibc-2.13/sunrpc/clnt_udp.c ---- glibc-2.13.orig/sunrpc/clnt_udp.c 2008-07-26 10:42:44.000000000 +0200 -+++ glibc-2.13/sunrpc/clnt_udp.c 2009-11-13 00:50:26.000000000 +0100 -@@ -456,7 +456,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/patches/glibc/ports-2.13/330-m68k-sys-user.patch b/patches/glibc/ports-2.13/330-m68k-sys-user.patch deleted file mode 100644 index 191e0c6..0000000 --- a/patches/glibc/ports-2.13/330-m68k-sys-user.patch +++ /dev/null @@ -1,97 +0,0 @@ -copied from kernel as it is sanitized now - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/m68k/sys/user.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/m68k/sys/user.h 2009-11-13 00:50:31.000000000 +0100 -@@ -1,3 +1,90 @@ -+#ifndef _SYS_USER_H -+#define _SYS_USER_H -+ -+/* Core file format: The core file is written in such a way that gdb -+ can understand it and provide useful information to the user (under -+ linux we use the 'trad-core' bfd). There are quite a number of -+ obstacles to being able to view the contents of the floating point -+ registers, and until these are solved you will not be able to view the -+ contents of them. Actually, you can read in the core file and look at -+ the contents of the user struct to find out what the floating point -+ registers contain. -+ The actual file contents are as follows: -+ UPAGE: 1 page consisting of a user struct that tells gdb what is present -+ in the file. Directly after this is a copy of the task_struct, which -+ is currently not used by gdb, but it may come in useful at some point. -+ All of the registers are stored as part of the upage. The upage should -+ always be only one page. -+ DATA: The data area is stored. We use current->end_text to -+ current->brk to pick up all of the user variables, plus any memory -+ that may have been malloced. No attempt is made to determine if a page -+ is demand-zero or if a page is totally unused, we just cover the entire -+ range. All of the addresses are rounded in such a way that an integral -+ number of pages is written. -+ STACK: We need the stack information in order to get a meaningful -+ backtrace. We need to write the data from (esp) to -+ current->start_stack, so we round each of these off in order to be able -+ to write an integer number of pages. -+ The minimum core file size is 3 pages, or 12288 bytes. -+*/ -+ -+struct user_m68kfp_struct { -+ unsigned long fpregs[8*3]; /* fp0-fp7 registers */ -+ unsigned long fpcntl[3]; /* fp control regs */ -+}; -+ -+/* This is the old layout of "struct pt_regs" as of Linux 1.x, and -+ is still the layout used by user (the new pt_regs doesn't have -+ all registers). */ -+struct user_regs_struct { -+ long d1,d2,d3,d4,d5,d6,d7; -+ long a0,a1,a2,a3,a4,a5,a6; -+ long d0; -+ long usp; -+ long orig_d0; -+ short stkadj; -+ short sr; -+ long pc; -+ short fmtvec; -+ short __fill; -+}; -+ -+ -+/* When the kernel dumps core, it starts by dumping the user struct - -+ this will be used by gdb to figure out where the data and stack segments -+ are within the file, and what virtual addresses to use. */ -+struct user{ -+/* We start with the registers, to mimic the way that "memory" is returned -+ from the ptrace(3,...) function. */ -+ struct user_regs_struct regs; /* Where the registers are actually stored */ -+/* ptrace does not yet supply these. Someday.... */ -+ int u_fpvalid; /* True if math co-processor being used. */ -+ /* for this mess. Not yet used. */ -+ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */ -+/* The rest of this junk is to help gdb figure out what goes where */ -+ unsigned long int u_tsize; /* Text segment size (pages). */ -+ unsigned long int u_dsize; /* Data segment size (pages). */ -+ unsigned long int u_ssize; /* Stack segment size (pages). */ -+ unsigned long start_code; /* Starting virtual address of text. */ -+ unsigned long start_stack; /* Starting virtual address of stack area. -+ This is actually the bottom of the stack, -+ the top of the stack is always found in the -+ esp register. */ -+ long int signal; /* Signal that caused the core dump. */ -+ int reserved; /* No longer used */ -+ struct user_regs_struct *u_ar0; -+ /* Used by gdb to help find the values for */ -+ /* the registers. */ -+ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */ -+ unsigned long magic; /* To uniquely identify a core file */ -+ char u_comm[32]; /* User command that was responsible */ -+}; -+#define NBPG 4096 -+#define UPAGES 1 -+#define HOST_TEXT_START_ADDR (u.start_code) -+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) -+ -+#endif - /* Copyright (C) 2008, 2010 Free Software Foundation, Inc. - This file is part of the GNU C Library. - -diff -durN glibc-2.13.orig/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h glibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/sys/user.h diff --git a/patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch b/patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch deleted file mode 100644 index 2402af0..0000000 --- a/patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,66 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - -diff -durN glibc-2.13.orig/nptl/allocatestack.c glibc-2.13/nptl/allocatestack.c ---- glibc-2.13.orig/nptl/allocatestack.c 2009-01-29 21:34:16.000000000 +0100 -+++ glibc-2.13/nptl/allocatestack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -329,7 +329,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/dl-execstack.c glibc-2.13/sysdeps/unix/sysv/linux/dl-execstack.c ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/dl-execstack.c 2006-01-08 09:21:15.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/dl-execstack.c 2009-11-13 00:50:33.000000000 +0100 -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch b/patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch deleted file mode 100644 index f8f6b83..0000000 --- a/patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch +++ /dev/null @@ -1,32 +0,0 @@ - - -diff -durN glibc-2.13.orig/elf/elf.h glibc-2.13/elf/elf.h ---- glibc-2.13.orig/elf/elf.h 2009-04-15 02:15:54.000000000 +0200 -+++ glibc-2.13/elf/elf.h 2009-11-13 00:50:35.000000000 +0100 -@@ -580,6 +580,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -593,6 +594,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch b/patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 9f78c52..0000000 --- a/patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,193 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - -diff -durN glibc-2.13.orig/grp/tst_fgetgrent.sh glibc-2.13/grp/tst_fgetgrent.sh ---- glibc-2.13.orig/grp/tst_fgetgrent.sh 2001-07-06 06:54:46.000000000 +0200 -+++ glibc-2.13/grp/tst_fgetgrent.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - -diff -durN glibc-2.13.orig/iconvdata/run-iconv-test.sh glibc-2.13/iconvdata/run-iconv-test.sh ---- glibc-2.13.orig/iconvdata/run-iconv-test.sh 2008-05-15 03:59:44.000000000 +0200 -+++ glibc-2.13/iconvdata/run-iconv-test.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ -diff -durN glibc-2.13.orig/iconvdata/tst-table.sh glibc-2.13/iconvdata/tst-table.sh ---- glibc-2.13.orig/iconvdata/tst-table.sh 2002-04-24 23:39:35.000000000 +0200 -+++ glibc-2.13/iconvdata/tst-table.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - -diff -durN glibc-2.13.orig/intl/tst-codeset.sh glibc-2.13/intl/tst-codeset.sh ---- glibc-2.13.orig/intl/tst-codeset.sh 2005-04-06 04:18:35.000000000 +0200 -+++ glibc-2.13/intl/tst-codeset.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - -diff -durN glibc-2.13.orig/intl/tst-gettext.sh glibc-2.13/intl/tst-gettext.sh ---- glibc-2.13.orig/intl/tst-gettext.sh 2004-08-15 21:28:18.000000000 +0200 -+++ glibc-2.13/intl/tst-gettext.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.13.orig/intl/tst-gettext2.sh glibc-2.13/intl/tst-gettext2.sh ---- glibc-2.13.orig/intl/tst-gettext2.sh 2005-05-04 19:54:48.000000000 +0200 -+++ glibc-2.13/intl/tst-gettext2.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? -diff -durN glibc-2.13.orig/malloc/tst-mtrace.sh glibc-2.13/malloc/tst-mtrace.sh ---- glibc-2.13.orig/malloc/tst-mtrace.sh 2005-10-15 01:40:35.000000000 +0200 -+++ glibc-2.13/malloc/tst-mtrace.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then -diff -durN glibc-2.13.orig/nptl/tst-tls6.sh glibc-2.13/nptl/tst-tls6.sh ---- glibc-2.13.orig/nptl/tst-tls6.sh 2003-09-03 00:02:59.000000000 +0200 -+++ glibc-2.13/nptl/tst-tls6.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - -diff -durN glibc-2.13.orig/posix/globtest.sh glibc-2.13/posix/globtest.sh ---- glibc-2.13.orig/posix/globtest.sh 2008-12-06 07:05:39.000000000 +0100 -+++ glibc-2.13/posix/globtest.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C -diff -durN glibc-2.13.orig/posix/tst-getconf.sh glibc-2.13/posix/tst-getconf.sh ---- glibc-2.13.orig/posix/tst-getconf.sh 2002-09-01 13:11:25.000000000 +0200 -+++ glibc-2.13/posix/tst-getconf.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - -diff -durN glibc-2.13.orig/posix/wordexp-tst.sh glibc-2.13/posix/wordexp-tst.sh ---- glibc-2.13.orig/posix/wordexp-tst.sh 2000-10-20 18:23:30.000000000 +0200 -+++ glibc-2.13/posix/wordexp-tst.sh 2009-11-13 00:50:37.000000000 +0100 -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/patches/glibc/ports-2.13/380-dont-build-timezone.patch b/patches/glibc/ports-2.13/380-dont-build-timezone.patch deleted file mode 100644 index 11c358e..0000000 --- a/patches/glibc/ports-2.13/380-dont-build-timezone.patch +++ /dev/null @@ -1,14 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - -diff -durN glibc-2.13.orig/Makeconfig glibc-2.13/Makeconfig ---- glibc-2.13.orig/Makeconfig 2009-11-13 00:50:13.000000000 +0100 -+++ glibc-2.13/Makeconfig 2009-11-13 00:50:41.000000000 +0100 -@@ -944,7 +944,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/patches/glibc/ports-2.13/400-alpha-xstat.patch b/patches/glibc/ports-2.13/400-alpha-xstat.patch deleted file mode 100644 index 6e4ab8f..0000000 --- a/patches/glibc/ports-2.13/400-alpha-xstat.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-05-09 08:54:20.000000000 +0200 -+++ glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -@@ -386,6 +386,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch b/patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch deleted file mode 100644 index fd55537..0000000 --- a/patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch +++ /dev/null @@ -1,19 +0,0 @@ -2011-02-28 Aurelien Jarno - - * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETPIPE_SZ, - F_GETPIPE_SZ): Define. - -diff --git glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h -index 860e9ac..e5e726b 100644 ---- glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h -@@ -97,6 +97,8 @@ - # define F_SETLEASE 1024 /* Set a lease. */ - # define F_GETLEASE 1025 /* Enquire what lease is active. */ - # define F_NOTIFY 1026 /* Request notfications on a directory. */ -+# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */ -+# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */ - #endif - #ifdef __USE_XOPEN2K8 - # define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with - diff --git a/patches/glibc/ports-2.13/420-alpha-statfs.patch b/patches/glibc/ports-2.13/420-alpha-statfs.patch deleted file mode 100644 index 65c925a..0000000 --- a/patches/glibc/ports-2.13/420-alpha-statfs.patch +++ /dev/null @@ -1,29 +0,0 @@ -2011-02-28 Aurelien Jarno - - * sysdeps/unix/sysv/linux/mips/bits/statfs.h (struct statfs, - struct statfs64): Add f_flags field. - -diff --git glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/statfs.h glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/statfs.h -index d838e6b..157591d 100644 ---- glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/statfs.h -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/bits/statfs.h -@@ -42,7 +42,8 @@ struct statfs - __fsid_t f_fsid; - int f_namelen; - int f_frsize; -- int f_spare[5]; -+ int f_flags; -+ int f_spare[4]; - }; - - #ifdef __USE_LARGEFILE64 -@@ -58,7 +59,8 @@ struct statfs64 - __fsid_t f_fsid; - int f_namelen; - int f_frsize; -- int f_spare[5]; -+ int f_flags; -+ int f_spare[4]; - }; - #endif - diff --git a/patches/glibc/ports-2.13/430-alpha-creat.patch b/patches/glibc/ports-2.13/430-alpha-creat.patch deleted file mode 100644 index da6ddda..0000000 --- a/patches/glibc/ports-2.13/430-alpha-creat.patch +++ /dev/null @@ -1,14 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c glibc-2.13/sysdeps/unix/sysv/linux/wordsize-64/creat64.c ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2007-11-10 20:34:26.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/wordsize-64/creat64.c 2009-11-13 00:50:51.000000000 +0100 -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/patches/glibc/ports-2.13/440-alpha-cache-shape.patch b/patches/glibc/ports-2.13/440-alpha-cache-shape.patch deleted file mode 100644 index 62ade7b..0000000 --- a/patches/glibc/ports-2.13/440-alpha-cache-shape.patch +++ /dev/null @@ -1,13 +0,0 @@ -older verisons of glibc would build dl-sysdep as shared-only and dl-support as -static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of -glibc build dl-sysdep as both shared and static which means we now have symbol -duplication for static builds with dl-sysdep and dl-support. since dl-sysdep -is both shared/static, there is no point in hooking dl-support anymore, so we -can punt it. - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/dl-support.c glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/dl-support.c ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/dl-support.c 2009-11-13 00:50:53.000000000 +0100 -@@ -1,2 +1,1 @@ --#include "dl-auxv.h" - #include diff --git a/patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch b/patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch deleted file mode 100644 index ac3ea9a..0000000 --- a/patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch +++ /dev/null @@ -1,23 +0,0 @@ -2011-02-28 Aurelien Jarno - - * sysdeps/alpha/stackinfo.h: Define DEFAULT_STACK_PERMS with PF_X. - -diff --git glibc-2.13/glibc-ports-2.13/sysdeps/alpha/stackinfo.h glibc-2.13/glibc-ports-2.13/sysdeps/alpha/stackinfo.h -index 0a281bd..d9dbc35 100644 ---- glibc-2.13/glibc-ports-2.13/sysdeps/alpha/stackinfo.h -+++ glibc-2.13/glibc-ports-2.13/sysdeps/alpha/stackinfo.h -@@ -22,7 +22,13 @@ - #ifndef _STACKINFO_H - #define _STACKINFO_H 1 - -+#include -+ - /* On Alpha the stack grows down. */ - #define _STACK_GROWS_DOWN 1 - -+/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is -+ * present, but it is presumed absent. */ -+#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) -+ - #endif /* stackinfo.h */ - diff --git a/patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch b/patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch deleted file mode 100644 index 313e0e0..0000000 --- a/patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch +++ /dev/null @@ -1,56 +0,0 @@ -2006-05-30 Falk Hueffner - - * sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture - to ev6 in assembly code. - -{standard input}: Assembler messages: -{standard input}:341: Error: macro requires $at register while noat in effect -{standard input}:374: Error: macro requires $at register while noat in effect -{standard input}:438: Error: macro requires $at register while noat in effect -{standard input}:471: Error: macro requires $at register while noat in effect -make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1 - -Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as. -I cannot really think of anything better than - - ports/sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c 2009-11-13 00:50:57.000000000 +0100 -@@ -178,13 +178,13 @@ - static inline void - stb_mb(unsigned char val, unsigned long addr) - { -- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); -+ __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val)); - } - - static inline void - stw_mb(unsigned short val, unsigned long addr) - { -- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); -+ __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val)); - } - - static inline void -@@ -356,7 +356,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned char r; - -- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); -+ __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr)); - return r; - } - -@@ -366,7 +366,7 @@ - unsigned long int addr = dense_port_to_cpu_addr (port); - unsigned short r; - -- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); -+ __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr)); - return r; - } - -diff -durN glibc-2.13.orig/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.13/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c diff --git a/patches/glibc/ports-2.13/470-alpha-feupdateenv.patch b/patches/glibc/ports-2.13/470-alpha-feupdateenv.patch deleted file mode 100644 index 45a7051..0000000 --- a/patches/glibc/ports-2.13/470-alpha-feupdateenv.patch +++ /dev/null @@ -1,26 +0,0 @@ -2011-03-01 Aurelien Jarno - - * sysdeps/alpha/fpu/feupdateenv.c (feupdateenv): Add - libm_hidden_def. - * sysdeps/alpha/fpu/ftestexcept.c (fetestexcept): Likewise. - -diff --git glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/feupdateenv.c glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/feupdateenv.c -index c798070..9abbf11 100644 ---- glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/feupdateenv.c -+++ glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/feupdateenv.c -@@ -46,4 +46,5 @@ strong_alias (__feupdateenv, __old_feupdateenv) - compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1); - #endif - -+libm_hidden_ver (__feupdateenv, feupdateenv) - versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2); -diff --git glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/ftestexcept.c glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/ftestexcept.c -index a4b3081..34d8113 100644 ---- glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/ftestexcept.c -+++ glibc-2.13/glibc-ports-2.13/sysdeps/alpha/fpu/ftestexcept.c -@@ -30,3 +30,4 @@ fetestexcept (int excepts) - - return tmp & excepts & SWCR_STATUS_MASK; - } -+libm_hidden_def (fetestexcept) - diff --git a/patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch b/patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index 372f34c..0000000 --- a/patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,126 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/Makefile glibc-2.13/sysdeps/unix/sysv/linux/Makefile ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/Makefile 2009-03-02 17:15:13.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/Makefile 2009-11-13 00:51:04.000000000 +0100 -@@ -20,6 +20,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write prlimit - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - - sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/fdatasync.c glibc-2.13/sysdeps/unix/sysv/linux/fdatasync.c ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/fdatasync.c 1970-01-01 01:00:00.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/fdatasync.c 2009-11-13 00:51:04.000000000 +0100 -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100 -+++ glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:51:04.000000000 +0100 -@@ -459,6 +459,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ -diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/syscalls.list glibc-2.13/sysdeps/unix/sysv/linux/syscalls.list ---- glibc-2.13.orig/sysdeps/unix/sysv/linux/syscalls.list 2008-08-02 01:29:08.000000000 +0200 -+++ glibc-2.13/sysdeps/unix/sysv/linux/syscalls.list 2009-11-13 00:51:04.000000000 +0100 -@@ -11,7 +11,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch b/patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch deleted file mode 100644 index b2ae9b5..0000000 --- a/patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch +++ /dev/null @@ -1,21 +0,0 @@ -2009-05-26 Aurelien Jarno - - * sysdeps/alpha/Makefile (CFLAGS-rtld.c): add $(PIC-ccflag). - - ports/sysdeps/alpha/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/alpha/Makefile glibc-2.13/glibc-ports-2.13/sysdeps/alpha/Makefile ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/alpha/Makefile 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/alpha/Makefile 2009-11-13 00:51:13.000000000 +0100 -@@ -35,7 +35,8 @@ - - ifeq ($(subdir),elf) - # The ld.so startup code cannot use literals until it self-relocates. --CFLAGS-rtld.c = -mbuild-constants -+# It uses more than 64k for the small data area. -+CFLAGS-rtld.c = -mbuild-constants $(PIC-ccflag) - endif - - # Build everything with full IEEE math support, and with dynamic rounding; -diff -durN glibc-2.13.orig/ports/sysdeps/alpha/Makefile glibc-2.13/ports/sysdeps/alpha/Makefile diff --git a/patches/glibc/ports-2.13/560-ppc-atomic.patch b/patches/glibc/ports-2.13/560-ppc-atomic.patch deleted file mode 100644 index ee1cb90..0000000 --- a/patches/glibc/ports-2.13/560-ppc-atomic.patch +++ /dev/null @@ -1,415 +0,0 @@ -sniped from suse - -Index: sysdeps/powerpc/bits/atomic.h -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/powerpc/bits/atomic.h,v -retrieving revision 1.17 -diff -u -a -p -r1.17 atomic.h - -diff -durN glibc-2.13.orig/sysdeps/powerpc/bits/atomic.h glibc-2.13/sysdeps/powerpc/bits/atomic.h ---- glibc-2.13.orig/sysdeps/powerpc/bits/atomic.h 2007-03-26 22:15:28.000000000 +0200 -+++ glibc-2.13/sysdeps/powerpc/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -diff -durN glibc-2.13.orig/sysdeps/powerpc/powerpc32/bits/atomic.h glibc-2.13/sysdeps/powerpc/powerpc32/bits/atomic.h ---- glibc-2.13.orig/sysdeps/powerpc/powerpc32/bits/atomic.h 2007-03-26 22:15:45.000000000 +0200 -+++ glibc-2.13/sysdeps/powerpc/powerpc32/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -diff -durN glibc-2.13.orig/sysdeps/powerpc/powerpc64/bits/atomic.h glibc-2.13/sysdeps/powerpc/powerpc64/bits/atomic.h ---- glibc-2.13.orig/sysdeps/powerpc/powerpc64/bits/atomic.h 2007-03-26 22:16:03.000000000 +0200 -+++ glibc-2.13/sysdeps/powerpc/powerpc64/bits/atomic.h 2009-11-13 00:51:19.000000000 +0100 -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch deleted file mode 100644 index 4f4dbec..0000000 --- a/patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch +++ /dev/null @@ -1,374 +0,0 @@ -http://yann.poupet.free.fr/ep93xx/ -Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/bits/endian.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/bits/endian.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/bits/endian.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/bits/endian.h 2009-11-13 00:51:22.000000000 +0100 -@@ -12,7 +12,7 @@ - /* FPA floating point units are always big-endian, irrespective of the - CPU endianness. VFP floating point units use the same endianness - as the rest of the system. */ --#ifdef __VFP_FP__ -+#if defined __VFP_FP__ || defined __MAVERICK__ - #define __FLOAT_WORD_ORDER __BYTE_ORDER - #else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/__longjmp.S glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/__longjmp.S ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/__longjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/__longjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -30,7 +30,33 @@ - movs r0, r1 /* get the return value in place */ - moveq r0, #1 /* can't let setjmp() return zero! */ - -+#ifdef __MAVERICK__ -+ cfldrd mvd4, [ip], #8 -+ nop -+ cfldrd mvd5, [ip], #8 -+ nop -+ cfldrd mvd6, [ip], #8 -+ nop -+ cfldrd mvd7, [ip], #8 -+ nop -+ cfldrd mvd8, [ip], #8 -+ nop -+ cfldrd mvd9, [ip], #8 -+ nop -+ cfldrd mvd10, [ip], #8 -+ nop -+ cfldrd mvd11, [ip], #8 -+ nop -+ cfldrd mvd12, [ip], #8 -+ nop -+ cfldrd mvd13, [ip], #8 -+ nop -+ cfldrd mvd14, [ip], #8 -+ nop -+ cfldrd mvd15, [ip], #8 -+#else - lfmfd f4, 4, [ip] ! /* load the floating point regs */ -+#endif - - LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc}) - END (__longjmp) -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/bits/fenv.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/bits/fenv.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/bits/fenv.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/bits/fenv.h 2009-11-13 00:51:22.000000000 +0100 -@@ -20,6 +20,45 @@ - # error "Never use directly; include instead." - #endif - -+#if defined(__MAVERICK__) -+ -+/* Define bits representing exceptions in the FPU status word. */ -+enum -+ { -+ FE_INVALID = 1, -+#define FE_INVALID FE_INVALID -+ FE_OVERFLOW = 4, -+#define FE_OVERFLOW FE_OVERFLOW -+ FE_UNDERFLOW = 8, -+#define FE_UNDERFLOW FE_UNDERFLOW -+ FE_INEXACT = 16, -+#define FE_INEXACT FE_INEXACT -+ }; -+ -+/* Amount to shift by to convert an exception to a mask bit. */ -+#define FE_EXCEPT_SHIFT 5 -+ -+/* All supported exceptions. */ -+#define FE_ALL_EXCEPT \ -+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) -+ -+/* IEEE rounding modes. */ -+enum -+ { -+ FE_TONEAREST = 0, -+#define FE_TONEAREST FE_TONEAREST -+ FE_TOWARDZERO = 0x400, -+#define FE_TOWARDZERO FE_TOWARDZERO -+ FE_DOWNWARD = 0x800, -+#define FE_DOWNWARD FE_DOWNWARD -+ FE_UPWARD = 0xc00, -+#define FE_UPWARD FE_UPWARD -+ }; -+ -+#define FE_ROUND_MASK (FE_UPWARD) -+ -+#else /* FPA */ -+ - /* Define bits representing exceptions in the FPU status word. */ - enum - { -@@ -44,6 +83,8 @@ - modes exist, but you have to encode them in the actual instruction. */ - #define FE_TONEAREST 0 - -+#endif -+ - /* Type representing exception flags. */ - typedef unsigned long int fexcept_t; - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/bits/setjmp.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/bits/setjmp.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/bits/setjmp.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/bits/setjmp.h 2009-11-13 00:51:22.000000000 +0100 -@@ -28,7 +28,11 @@ - #ifndef _ASM - /* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not - saved. */ -+#ifdef __MAVERICK__ -+typedef int __jmp_buf[34]; -+#else - typedef int __jmp_buf[22]; - #endif -+#endif - - #endif -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fegetround.c glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fegetround.c ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fegetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fegetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,9 +18,21 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fegetround (void) - { -+#if defined(__MAVERICK__) -+ -+ unsigned long temp; -+ -+ _FPU_GETCW (temp); -+ return temp & FE_ROUND_MASK; -+ -+#else /* FPA */ -+ - return FE_TONEAREST; /* Easy. :-) */ -+ -+#endif - } -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fesetround.c glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fesetround.c ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fesetround.c 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fesetround.c 2009-11-13 00:51:22.000000000 +0100 -@@ -18,12 +18,28 @@ - 02111-1307 USA. */ - - #include -+#include - - int - fesetround (int round) - { -+#if defined(__MAVERICK__) -+ unsigned long temp; -+ -+ if (round & ~FE_ROUND_MASK) -+ return 1; -+ -+ _FPU_GETCW (temp); -+ temp = (temp & ~FE_ROUND_MASK) | round; -+ _FPU_SETCW (temp); -+ return 0; -+ -+#else /* FPA */ -+ - /* We only support FE_TONEAREST, so there is no need for any work. */ - return (round == FE_TONEAREST)?0:1; -+ -+#endif - } - - libm_hidden_def (fesetround) -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fpu_control.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fpu_control.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/fpu_control.h 2009-11-13 00:51:22.000000000 +0100 -@@ -1,5 +1,6 @@ - /* FPU control word definitions. ARM version. -- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. -+ Copyright (C) 1996, 1997, 1998, 2000, 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 -@@ -20,6 +21,79 @@ - #ifndef _FPU_CONTROL_H - #define _FPU_CONTROL_H - -+#if defined(__MAVERICK__) -+ -+/* DSPSC register: (from EP9312 User's Guide) -+ * -+ * bits 31..29 - DAID -+ * bits 28..26 - HVID -+ * bits 25..24 - RSVD -+ * bit 23 - ISAT -+ * bit 22 - UI -+ * bit 21 - INT -+ * bit 20 - AEXC -+ * bits 19..18 - SAT -+ * bits 17..16 - FCC -+ * bit 15 - V -+ * bit 14 - FWDEN -+ * bit 13 - Invalid -+ * bit 12 - Denorm -+ * bits 11..10 - RM -+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE -+ * bits 4..0 - IX, UF, OF, RSVD, IO -+ */ -+ -+/* masking of interrupts */ -+#define _FPU_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_MASK_ZM 0 /* divide by zero */ -+#define _FPU_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_MASK_DM 0 /* denormalized operation */ -+ -+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */ -+ -+#define _FPU_DEFAULT 0x00b00000 /* Default value. */ -+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */ -+ -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t; -+ -+/* Macros for accessing the hardware control word. */ -+#define _FPU_GETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv32sc mvdx0, dspsc\n\t" \ -+ "cfmvr64l %0, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \ -+ ); \ -+}) -+ -+#define _FPU_SETCW(cw) ({ \ -+ register int __t0, __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %0\n\t" \ -+ "cfmvsc32 dspsc, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \ -+ : "0" (cw) \ -+ ); \ -+}) -+ -+/* Default control word set at startup. */ -+extern fpu_control_t __fpu_control; -+ -+#else /* FPA */ -+ - /* We have a slight terminology confusion here. On the ARM, the register - * we're interested in is actually the FPU status word - the FPU control - * word is something different (which is implementation-defined and only -@@ -99,4 +173,6 @@ - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; - -+#endif -+ - #endif /* _FPU_CONTROL_H */ -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/jmpbuf-offsets.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/jmpbuf-offsets.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,4 +17,8 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define __JMP_BUF_SP 32 -+#else - #define __JMP_BUF_SP 20 -+#endif -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/setjmp.S glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/setjmp.S ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/fpu/setjmp.S 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/fpu/setjmp.S 2009-11-13 00:51:22.000000000 +0100 -@@ -24,11 +24,41 @@ - - ENTRY (__sigsetjmp) - /* Save registers */ -+#ifdef __MAVERICK__ -+ cfstrd mvd4, [r0], #8 -+ nop -+ cfstrd mvd5, [r0], #8 -+ nop -+ cfstrd mvd6, [r0], #8 -+ nop -+ cfstrd mvd7, [r0], #8 -+ nop -+ cfstrd mvd8, [r0], #8 -+ nop -+ cfstrd mvd9, [r0], #8 -+ nop -+ cfstrd mvd10, [r0], #8 -+ nop -+ cfstrd mvd11, [r0], #8 -+ nop -+ cfstrd mvd12, [r0], #8 -+ nop -+ cfstrd mvd13, [r0], #8 -+ nop -+ cfstrd mvd14, [r0], #8 -+ nop -+ cfstrd mvd15, [r0], #8 -+#else - sfmea f4, 4, [r0]! -+#endif - stmia r0, {v1-v6, sl, fp, sp, lr} - - /* Restore pointer to jmp_buf */ -+#ifdef __MAVERICK__ -+ sub r0, r0, #96 -+#else - sub r0, r0, #48 -+#endif - - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/gccframe.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/gccframe.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/gccframe.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/gccframe.h 2009-11-13 00:51:22.000000000 +0100 -@@ -17,6 +17,10 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define FIRST_PSEUDO_REGISTER 43 -+#else - #define FIRST_PSEUDO_REGISTER 27 -+#endif - - #include -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/gmp-mparam.h glibc-2.13/glibc-ports-2.13/sysdeps/arm/gmp-mparam.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/arm/gmp-mparam.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/arm/gmp-mparam.h 2009-11-13 00:51:22.000000000 +0100 -@@ -29,7 +29,7 @@ - #if defined(__ARMEB__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 1 --#elif defined(__VFP_FP__) -+#elif defined(__VFP_FP__) || defined(__MAVERICK__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 0 - #else -diff -durN glibc-2.13.orig/ports/sysdeps/arm/bits/endian.h glibc-2.13/ports/sysdeps/arm/bits/endian.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.13/ports/sysdeps/arm/fpu/__longjmp.S -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.13/ports/sysdeps/arm/fpu/bits/fenv.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.13/ports/sysdeps/arm/fpu/bits/setjmp.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/fegetround.c glibc-2.13/ports/sysdeps/arm/fpu/fegetround.c -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/fesetround.c glibc-2.13/ports/sysdeps/arm/fpu/fesetround.c -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.13/ports/sysdeps/arm/fpu/fpu_control.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.13/ports/sysdeps/arm/fpu/jmpbuf-offsets.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/fpu/setjmp.S glibc-2.13/ports/sysdeps/arm/fpu/setjmp.S -diff -durN glibc-2.13.orig/ports/sysdeps/arm/gccframe.h glibc-2.13/ports/sysdeps/arm/gccframe.h -diff -durN glibc-2.13.orig/ports/sysdeps/arm/gmp-mparam.h glibc-2.13/ports/sysdeps/arm/gmp-mparam.h diff --git a/patches/glibc/ports-2.13/580-nptl-lowlevellock.patch b/patches/glibc/ports-2.13/580-nptl-lowlevellock.patch deleted file mode 100644 index 08518e9..0000000 --- a/patches/glibc/ports-2.13/580-nptl-lowlevellock.patch +++ /dev/null @@ -1,23 +0,0 @@ -fix build error on arm like on hppa: - -arm-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -g -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include -isystem /usr/lib/gcc/arm-unknown-linux-gnu/4.3.2/include-fixed -isystem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.8_p20080602/work/build-default-arm-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -DNOT_IN_libc=1 -DIS_IN_rtld=1 -In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: warning: implicit declaration of function 'THREAD_GETMEM' -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'THREAD_SELF' undeclared (first use in this function) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: (Each undeclared identifier is reported only once -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: for each function it appears in.) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:31: error: 'header' undeclared (first use in this function) - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2009-11-13 00:51:23.000000000 +0100 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include /* Need THREAD_*, and header.*. */ - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 -diff -durN glibc-2.13.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.13/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h diff --git a/patches/glibc/ports-2.13/610-fpu-cw-mips.patch b/patches/glibc/ports-2.13/610-fpu-cw-mips.patch deleted file mode 100644 index cd2b4d9..0000000 --- a/patches/glibc/ports-2.13/610-fpu-cw-mips.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html - -diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/mips/fpu_control.h glibc-2.13/glibc-ports-2.13/sysdeps/mips/fpu_control.h ---- glibc-2.13.orig/glibc-ports-2.13/sysdeps/mips/fpu_control.h 2009-05-16 10:36:20.000000000 +0200 -+++ glibc-2.13/glibc-ports-2.13/sysdeps/mips/fpu_control.h 2009-11-13 00:51:31.000000000 +0100 -@@ -86,7 +86,7 @@ - #define _FPU_RC_UP 0x2 - #define _FPU_RC_DOWN 0x3 - --#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */ -+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */ - - - /* The fdlibm code requires strict IEEE double precision arithmetic, -diff -durN glibc-2.13.orig/ports/sysdeps/mips/fpu_control.h glibc-2.13/ports/sysdeps/mips/fpu_control.h diff --git a/patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch b/patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch deleted file mode 100644 index 791d76c..0000000 --- a/patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -durN glibc-2.13.orig/elf/dl-lookup.c glibc-2.13/elf/dl-lookup.c ---- glibc-2.13.orig/elf/dl-lookup.c 2009-03-30 23:14:32.000000000 +0200 -+++ glibc-2.13/elf/dl-lookup.c 2009-11-13 00:51:36.000000000 +0100 -@@ -301,6 +301,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/patches/glibc/ports-2.13/640-alpha-atfcts.patch b/patches/glibc/ports-2.13/640-alpha-atfcts.patch deleted file mode 100644 index 7a8a94a..0000000 --- a/patches/glibc/ports-2.13/640-alpha-atfcts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h 2010-07-27 14:34:39.000000000 +0300 -+++ glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h.new 2011-03-10 18:54:37.686795979 +0200 -@@ -437,7 +437,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/patches/glibc/ports-2.13/650-syslog.patch b/patches/glibc/ports-2.13/650-syslog.patch deleted file mode 100644 index c20cafc..0000000 --- a/patches/glibc/ports-2.13/650-syslog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -durN glibc-cvs-2.9.orig/misc/syslog.c glibc-cvs-2.9/misc/syslog.c ---- glibc-cvs-2.9.orig/misc/syslog.c 2009-06-01 10:16:50.000000000 +0200 -+++ glibc-cvs-2.9/misc/syslog.c 2009-06-01 10:17:20.000000000 +0200 -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch b/patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index a5a7052..0000000 --- a/patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -dur glibc-cvs-2.9.orig/debug/readlink_chk.c glibc-cvs-2.9/debug/readlink_chk.c ---- glibc-cvs-2.9.orig/debug/readlink_chk.c 2005-03-01 01:41:15.000000000 +0100 -+++ glibc-cvs-2.9/debug/readlink_chk.c 2009-06-01 10:59:37.000000000 +0200 -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); -diff -dur glibc-cvs-2.9.orig/debug/readlinkat_chk.c glibc-cvs-2.9/debug/readlinkat_chk.c ---- glibc-cvs-2.9.orig/debug/readlinkat_chk.c 2006-04-24 18:56:12.000000000 +0200 -+++ glibc-cvs-2.9/debug/readlinkat_chk.c 2009-06-01 11:07:26.000000000 +0200 -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/patches/glibc/ports-2.6.1/100-ARM-NPTL.patch b/patches/glibc/ports-2.6.1/100-ARM-NPTL.patch deleted file mode 100644 index 15de823..0000000 --- a/patches/glibc/ports-2.6.1/100-ARM-NPTL.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -durN glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2005-11-16 20:22:59.000000000 +0100 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2007-09-06 13:53:16.000000000 +0200 -@@ -126,3 +126,9 @@ - # define NO_CANCELLATION 1 - - #endif -+ -+#ifndef __ASSEMBLER__ -+# define RTLD_SINGLE_THREAD_P \ -+ __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ -+ header.multiple_threads) == 0, 1) -+#endif diff --git a/patches/glibc/ports-2.6.1/110-ARM-asm_page_h.patch b/patches/glibc/ports-2.6.1/110-ARM-asm_page_h.patch deleted file mode 100644 index 4e882af..0000000 --- a/patches/glibc/ports-2.6.1/110-ARM-asm_page_h.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -durN glibc-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/ioperm.c glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/ioperm.c ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/ioperm.c 2005-06-10 13:12:09.000000000 +0200 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-05-18 16:19:45.000000000 +0200 -@@ -45,7 +45,6 @@ - #include - - #include --#include - #include - - #define PATH_ARM_SYSTYPE "/etc/arm_systype" diff --git a/patches/glibc/ports-2.6.1/120-lll_lock_t.patch b/patches/glibc/ports-2.6.1/120-lll_lock_t.patch deleted file mode 100644 index b674337..0000000 --- a/patches/glibc/ports-2.6.1/120-lll_lock_t.patch +++ /dev/null @@ -1,156 +0,0 @@ -Propagate the patch from base glibc that changes lll_lock_t into a plain int, -without using a typedef, as glibc-2.7 now does. - -diff -durN glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2006-08-04 20:56:15.000000000 +0200 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2008-07-28 23:49:29.000000000 +0200 -@@ -260,9 +260,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) -diff -durN glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c 2006-07-14 15:51:24.000000000 +0200 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c 2008-07-28 23:49:56.000000000 +0200 -@@ -25,7 +25,7 @@ - - - void --__lll_lock_wait (lll_lock_t *futex) -+__lll_lock_wait (int *futex) - { - do - { -@@ -38,7 +38,7 @@ - - - int --__lll_timedlock_wait (lll_lock_t *futex, const struct timespec *abstime) -+__lll_timedlock_wait (int *futex, const struct timespec *abstime) - { - /* Reject invalid timeouts. */ - if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000) -@@ -78,7 +78,7 @@ - /* These don't get included in libc.so */ - #ifdef IS_IN_libpthread - int --lll_unlock_wake_cb (lll_lock_t *futex) -+lll_unlock_wake_cb (int *futex) - { - int val = atomic_exchange_rel (futex, 0); - -diff -durN glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h 2006-09-07 18:34:43.000000000 +0200 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h 2008-07-28 23:50:54.000000000 +0200 -@@ -43,11 +43,6 @@ - /* Initialize locks to zero. */ - #define LLL_MUTEX_LOCK_INITIALIZER (0) - -- --/* Type for lock object. */ --typedef int lll_lock_t; -- -- - #define lll_futex_wait(futexp, val) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ -@@ -108,7 +103,7 @@ - }) - - static inline int __attribute__((always_inline)) --__lll_mutex_trylock(lll_lock_t *futex) -+__lll_mutex_trylock(int *futex) - { - return atomic_compare_and_exchange_val_acq (futex, 1, 0) != 0; - } -@@ -124,17 +119,17 @@ - - - static inline int __attribute__((always_inline)) --__lll_mutex_cond_trylock(lll_lock_t *futex) -+__lll_mutex_cond_trylock(int *futex) - { - return atomic_compare_and_exchange_val_acq (futex, 2, 0) != 0; - } - #define lll_mutex_cond_trylock(lock) __lll_mutex_cond_trylock (&(lock)) - - --extern void __lll_lock_wait (lll_lock_t *futex) attribute_hidden; -+extern void __lll_lock_wait (int *futex) attribute_hidden; - - static inline void __attribute__((always_inline)) --__lll_mutex_lock(lll_lock_t *futex) -+__lll_mutex_lock(int *futex) - { - if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0) - __lll_lock_wait (futex); -@@ -155,7 +150,7 @@ - __lll_robust_mutex_lock (&(futex), id) - - static inline void __attribute__ ((always_inline)) --__lll_mutex_cond_lock (lll_lock_t *futex) -+__lll_mutex_cond_lock (int *futex) - { - if (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0) - __lll_lock_wait (futex); -@@ -167,13 +162,13 @@ - __lll_robust_mutex_lock (&(futex), (id) | FUTEX_WAITERS) - - --extern int __lll_timedlock_wait (lll_lock_t *futex, const struct timespec *) -+extern int __lll_timedlock_wait (int *futex, const struct timespec *) - attribute_hidden; - extern int __lll_robust_timedlock_wait (int *futex, const struct timespec *) - attribute_hidden; - - static inline int __attribute__ ((always_inline)) --__lll_mutex_timedlock (lll_lock_t *futex, const struct timespec *abstime) -+__lll_mutex_timedlock (int *futex, const struct timespec *abstime) - { - int result = 0; - if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0) -@@ -197,7 +192,7 @@ - - - static inline void __attribute__ ((always_inline)) --__lll_mutex_unlock (lll_lock_t *futex) -+__lll_mutex_unlock (int *futex) - { - int val = atomic_exchange_rel (futex, 0); - if (__builtin_expect (val > 1, 0)) -@@ -218,7 +213,7 @@ - - - static inline void __attribute__ ((always_inline)) --__lll_mutex_unlock_force (lll_lock_t *futex) -+__lll_mutex_unlock_force (int *futex) - { - (void) atomic_exchange_rel (futex, 0); - lll_futex_wake (futex, 1); -@@ -239,7 +234,7 @@ - #define THREAD_INIT_LOCK(PD, LOCK) \ - (PD)->LOCK = LLL_LOCK_INITIALIZER - --extern int lll_unlock_wake_cb (lll_lock_t *__futex) attribute_hidden; -+extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; - - /* The states of a lock are: - 0 - untaken -diff -durN glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h ---- glibc-2.6.1.orig/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h 2006-08-04 20:54:56.000000000 +0200 -+++ glibc-2.6.1/glibc-ports-2.6.1/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h 2008-07-28 23:51:14.000000000 +0200 -@@ -227,9 +227,6 @@ - /* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - --/* Type for lock object. */ --typedef int lll_lock_t; -- - /* Initializers for lock. */ - #define LLL_LOCK_INITIALIZER (0) - #define LLL_LOCK_INITIALIZER_LOCKED (1) diff --git a/patches/glibc/ports-2.6.1/130-powerpc-softfloat.patch b/patches/glibc/ports-2.6.1/130-powerpc-softfloat.patch deleted file mode 100644 index 18aedd9..0000000 --- a/patches/glibc/ports-2.6.1/130-powerpc-softfloat.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: http://sourceware.org/ml/crossgcc/2008-10/msg00044.html -From: http://sources.redhat.com/ml/libc-ports/2007-06/msg00005.html - -2007-06-07 Steven Munroe - - * sysdeps/powerpc/nofpu/Makefile: Remove fe_nomask from libm-support. - -diff -urN glibc-2.6.orig/glibc-ports-2.6.1/sysdeps/powerpc/nofpu/Makefile glibc-2.6/glibc-ports-2.6.1/sysdeps/powerpc/nofpu/Makefile ---- glibc-2.6.orig/glibc-ports-2.6.1/sysdeps/powerpc/nofpu/Makefile 2006-11-22 09:13:11.000000000 -0600 -+++ glibc-2.6/glibc-ports-2.6.1/sysdeps/powerpc/nofpu/Makefile 2007-06-07 09:53:05.708240976 -0500 -@@ -6,7 +6,7 @@ - endif - - ifeq ($(subdir),math) --libm-support += fenv_const fe_nomask -+libm-support += fenv_const - CPPFLAGS += -I../soft-fp/ - # The follow CFLAGS are a work around for GCC Bugzilla Bug 29253 - # "expand_abs wrong default code for floating point" - - diff --git a/patches/glibc/ports-2.7/100-ARM-asm_page_h.patch b/patches/glibc/ports-2.7/100-ARM-asm_page_h.patch deleted file mode 100644 index 60079d3..0000000 --- a/patches/glibc/ports-2.7/100-ARM-asm_page_h.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -durN glibc-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/ioperm.c glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/ioperm.c ---- glibc-2.7.orig/glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/ioperm.c 2005-06-10 13:12:09.000000000 +0200 -+++ glibc-2.7/glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-05-18 16:19:45.000000000 +0200 -@@ -45,7 +45,6 @@ - #include - - #include --#include - #include - - #define PATH_ARM_SYSTYPE "/etc/arm_systype" diff --git a/patches/glibc/ports-2.7/110-ARM-NPTL.patch b/patches/glibc/ports-2.7/110-ARM-NPTL.patch deleted file mode 100644 index fb801b6..0000000 --- a/patches/glibc/ports-2.7/110-ARM-NPTL.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.7/glibc-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2007-06-06 19:27:04.000000000 +0200 -+++ glibc-2.7/glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2008-05-18 16:57:21.000000000 +0200 -@@ -73,6 +73,9 @@ - # define DOCARGS_5 DOCARGS_4 - # define UNDOCARGS_5 UNDOCARGS_4 - -+# define DOCARGS_6 DOCARGS_5 -+# define UNDOCARGS_6 UNDOCARGS_5 -+ - # ifdef IS_IN_libpthread - # define CENABLE bl PLTJMP(__pthread_enable_asynccancel) - # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel) diff --git a/patches/glibc/ports-2.9/100-arm_linux_tls.patch b/patches/glibc/ports-2.9/100-arm_linux_tls.patch deleted file mode 100644 index 7b9d4ac..0000000 --- a/patches/glibc/ports-2.9/100-arm_linux_tls.patch +++ /dev/null @@ -1,14 +0,0 @@ -Original patch from http://www.nabble.com/arm-linux-compilation-failure-and-possible-fix-td19229074.html - -diff -durN glibc-2.9.orig/ports/sysdeps/unix/sysv/linux/arm/sysdep.h glibc-2.9/ports/sysdeps/unix/sysv/linux/arm/sysdep.h ---- glibc-2.9.orig/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 25 Nov 2008 16:37:26 -0000 1.33 -+++ glibc-2.9/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 27 Jan 2009 15:35:38 -0000 -@@ -28,6 +28,8 @@ - /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ - #include - -+#include -+ - /* 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 diff --git a/patches/glibc/ports-2.9/110-arm-fix-sjlj-for-fpu.patch b/patches/glibc/ports-2.9/110-arm-fix-sjlj-for-fpu.patch deleted file mode 100644 index 0f7c1f6..0000000 --- a/patches/glibc/ports-2.9/110-arm-fix-sjlj-for-fpu.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Mike Frysinger -To: libc-ports at sourceware dot org -Subject: [PATCH] arm/fpu/setjmp.S: add missing hidden def -Date: Thu, 25 Dec 2008 23:08:56 -0500 - -All the other arm setjmp.S files provide a hidden alias for __sigsetjmp. -Without this, we get a nice build failure like so: - -/var/tmp/cross/armv4l-unknown-linux-gnu/portage/cross-armv4l-unknown-linux-gnu/glibc-2.9_p20081201/work/build-default-armv4l-unknown-linux-gnu-nptl/libc_pic.os: In function `setjmp': -unwind-pe.c:(.text+0x15a54): undefined reference to `__GI___sigsetjmp' -/var/tmp/cross/armv4l-unknown-linux-gnu/portage/cross-armv4l-unknown-linux-gnu/glibc-2.9_p20081201/work/build-default-armv4l-unknown-linux-gnu-nptl/libc_pic.os: In function `__GI__setjmp': -unwind-pe.c:(.text+0x15a64): undefined reference to `__GI___sigsetjmp' -collect2: ld returned 1 exit status -make[1]: *** [/var/tmp/cross/armv4l-unknown-linux-gnu/portage/cross-armv4l-unknown-linux-gnu/glibc-2.9_p20081201/work/build-default-armv4l-unknown-linux-gnu-nptl/libc.so] Error 1 - -Signed-off-by: Mike Frysinger ---- - sysdeps/arm/fpu/setjmp.S | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/sysdeps/arm/fpu/setjmp.S b/sysdeps/arm/fpu/setjmp.S -index 8432836..82a7e19 100644 ---- a/ports/sysdeps/arm/fpu/setjmp.S -+++ b/ports/sysdeps/arm/fpu/setjmp.S -@@ -33,3 +33,5 @@ ENTRY (__sigsetjmp) - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) - END (__sigsetjmp) -+ -+hidden_def (__sigsetjmp) -- cgit v0.10.2-6-g49f6