From: Felix Fietkau Date: Sun, 12 Feb 2012 16:12:01 +0000 (+0000) Subject: glibc: remove all previous (ancient) versions, add 2.14 (partially based on a patch... X-Git-Tag: reboot~14890 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fchunkeey.git;a=commitdiff_plain;h=07488ef93d4c2cff5e981dca1bec71747bebc5b0 glibc: remove all previous (ancient) versions, add 2.14 (partially based on a patch and testing by WillieNL) SVN-Revision: 30478 --- diff --git a/toolchain/glibc/Config.in b/toolchain/glibc/Config.in index 67ee729755..1b87976d32 100644 --- a/toolchain/glibc/Config.in +++ b/toolchain/glibc/Config.in @@ -1,20 +1,11 @@ choice prompt "glibc version" depends on TOOLCHAINOPTS && USE_GLIBC - default GLIBC_VERSION_2_6_1 + default GLIBC_VERSION_2_14 help Select the version of glibc you wish to use. - config GLIBC_VERSION_2_3_6 - bool "glibc 2.3.6" - - config GLIBC_VERSION_2_4 - bool "glibc 2.4" - - config GLIBC_VERSION_2_6_1 - bool "glibc 2.6.1" - - config GLIBC_VERSION_2_7 - bool "glibc 2.7" + config GLIBC_VERSION_2_14 + bool "glibc 2.14" endchoice diff --git a/toolchain/glibc/Config.version b/toolchain/glibc/Config.version index 93ea3c3168..466794fa8c 100644 --- a/toolchain/glibc/Config.version +++ b/toolchain/glibc/Config.version @@ -1,17 +1,11 @@ config GLIBC_VERSION string depends on USE_GLIBC - default "2.3.6" if GLIBC_VERSION_2_3_6 - default "2.4" if GLIBC_VERSION_2_4 - default "2.6.1" if GLIBC_VERSION_2_6_1 - default "2.7" if GLIBC_VERSION_2_7 - default "2.7" + default "2.14" if GLIBC_VERSION_2_14 + default "2.14" config GLIBC_PORTS bool depends on USE_GLIBC - default y if GLIBC_VERSION_2_3_6 && (arm || armeb || mips || mipsel || mips64 || mips64el) - default y if GLIBC_VERSION_2_4 && (arm || armeb || mips || mipsel || mips64 || mips64el) - default y if GLIBC_VERSION_2_6_1 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc) - default y if GLIBC_VERSION_2_7 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc) + default y if GLIBC_VERSION_2_14 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc) default n diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile index 789ae842d6..caf4b088ea 100644 --- a/toolchain/glibc/Makefile +++ b/toolchain/glibc/Makefile @@ -9,20 +9,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=glibc PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION)) -ifeq ($(PKG_VERSION),2.3.6) - PKG_MD5SUM:=bfdce99f82d6dbcb64b7f11c05d6bc96 -endif -ifeq ($(PKG_VERSION),2.4) - PKG_MD5SUM:=7e9a88dcd41fbc53801dbe5bdacaf245 -endif -ifeq ($(PKG_VERSION),2.6.1) - PKG_MD5SUM:=11cf6d3fc86dbe0890b8d00372eb6286 -endif -ifeq ($(PKG_VERSION),2.7) - PKG_MD5SUM:=065c5952b439deba40083ccd67bcc8f7 +ifeq ($(PKG_VERSION),2.14) + PKG_MD5SUM:=1588cc22e796c296223744895ebc4cef endif -PKG_SOURCE_URL:=@GNU/glibc/ +PKG_SOURCE_URL:=@GNU/glibc PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PATCH_DIR:=./patches/$(PKG_VERSION) @@ -87,7 +78,6 @@ GLIBC_CONFIGURE_STAGE2:= \ GLIBC_MAKE:= \ $(MAKE) \ - define Host/SetToolchainInfo $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.gnu.org/software/libc/,' $(TOOLCHAIN_DIR)/info.mk diff --git a/toolchain/glibc/patches/2.14/100-fix_cpuid_h_check.patch b/toolchain/glibc/patches/2.14/100-fix_cpuid_h_check.patch new file mode 100644 index 0000000000..12d0e1e996 --- /dev/null +++ b/toolchain/glibc/patches/2.14/100-fix_cpuid_h_check.patch @@ -0,0 +1,22 @@ +--- a/sysdeps/i386/configure.in ++++ b/sysdeps/i386/configure.in +@@ -2,7 +2,7 @@ + # Local configure fragment for sysdeps/i386. + + AC_HEADER_CHECK([cpuid.h], , +- [AC_MSG_ERROR([gcc must provide the header])]) ++ [AC_MSG_ERROR([gcc must provide the header])], []) + + AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, + libc_cv_cpp_asm_debuginfo, [dnl +--- a/sysdeps/i386/configure ++++ b/sysdeps/i386/configure +@@ -632,7 +632,7 @@ + done + + +-ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" ++ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "" + if test "x$ac_cv_header_cpuid_h" = x""yes; then : + + else diff --git a/toolchain/glibc/patches/2.14/200-add_dl_search_path.patch b/toolchain/glibc/patches/2.14/200-add_dl_search_path.patch new file mode 100644 index 0000000000..2f4a48f201 --- /dev/null +++ b/toolchain/glibc/patches/2.14/200-add_dl_search_path.patch @@ -0,0 +1,12 @@ +--- a/Makeconfig ++++ b/Makeconfig +@@ -529,6 +529,9 @@ + default-rpath = $(libdir) + endif + ++# Add /usr/lib to default search path for the dynamic linker ++user-defined-trusted-dirs := /usr/lib ++ + ifndef link-extra-libs + link-extra-libs = $(LDLIBS-$(@F)) + link-extra-libs-static = $(link-extra-libs) diff --git a/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch b/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch deleted file mode 100644 index 1e69bb2335..0000000000 --- a/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch +++ /dev/null @@ -1,26 +0,0 @@ -From http://svn.exactcode.de/t2/trunk/package/base/glibc32/make-install-lib-all.patch -Rule to install all needed libraries, not just the ones installed by install-lib, -yet not install programs. -Needed because we can't use the main install target, as we can't build programs before -we have the final gcc installed; linking fails because libeh.a is not present, -and glibc insists on linking programs with that library. - -diff -Naur glibc-2.3.4.orig/Makerules glibc-2.3.4/Makerules ---- glibc-2.3.4.orig/Makerules 2004-12-15 20:52:39.000000000 +0200 -+++ glibc-2.3.4/Makerules 2005-02-19 15:16:31.415125176 +0200 -@@ -844,6 +844,13 @@ - installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\ - $(inst_libdir)/$(patsubst %,$(libtype$o),\ - $(libprefix)$(libc-name))) -+ -+install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \ -+ $(inst_slibdir)/libc-$(version).so \ -+ $(inst_libdir)/libc.so \ -+ $(inst_libdir)/libc.a \ -+ install-lib -+ - install: $(installed-libcs) - $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) - $(make-target-directory) - -Signed-off-by: Robert P. J. Day diff --git a/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch b/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch deleted file mode 100644 index 2fd72f8b27..0000000000 --- a/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch +++ /dev/null @@ -1,37 +0,0 @@ -http://sourceware.org/ml/crossgcc/2005-05/msg00165.html -Fixes a MIPS build problem (unrelated to NPTL) - -Message-ID: <428E8B24.1000201@realitydiluted.com> -Date: Fri, 20 May 2005 20:13:08 -0500 -From: "Steven J dot Hill" -To: crossgcc at sources dot redhat dot com, toolchain at gentoo dot org, - Shay_Gal-On at pmc-sierra dot com, TheNop at gmx dot net -Subject: New NPTL patches for crosstools and MIPS NPTL patches.... - -Greetings. - -I have uploaded the latest NPTL patch for crosstool-0.34. I have also -uploaded a tarball of the patches necessary to build a MIPS NPTL -cross toolchain. To build a MIPS NPTL toolchain you will need the -released version of binutils-2.16 and the absolute latest GCC and -glibc code from the HEAD of cvs. Use the 'demo-mips-nptl.sh' script -to build the toolchain. Please report bugs or issues to the crossgcc -mailing list. Here is the link off of my FTP site: - - ftp://ftp.realitydiluted.com/crosstools/crosstool-0.34/ - -[Note: BOOTSTRAP_GCC is set by crosstool.sh when invoking make install-headers] - -diff -ur glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile ---- glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile 2003-03-29 02:15:28.000000000 -0600 -+++ glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile 2005-04-12 21:36:51.318837655 -0500 -@@ -1,3 +1,7 @@ -+ifeq ($(filter -DBOOTSTRAP_GCC,$(CFLAGS)),) - ifeq ($(filter -mabi=32,$(CC)),) - CC += -mabi=32 - endif -+else -+CC += -D"_MIPS_SZPTR=32" -+endif - -Signed-off-by: Robert P. J. Day diff --git a/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch b/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch deleted file mode 100644 index 7a7a4b19dd..0000000000 --- a/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -ruN glibc-2.3.6-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S glibc-2.3.6/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S ---- glibc-2.3.6-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2003-07-12 00:46:12.000000000 +0200 -+++ glibc-2.3.6/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2008-11-10 16:02:12.760497684 +0100 -@@ -42,7 +42,11 @@ - #define stackblock 20 - - #ifndef __socket -+#ifndef NO_WEAK_ALIAS - #define __socket P(__,socket) -+#else -+#define __socket socket -+#endif - #endif - - .text -@@ -120,4 +124,6 @@ - - PSEUDO_END (__socket) - -+#ifndef NO_WEAK_ALIAS - weak_alias (__socket, socket) -+#endif diff --git a/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch b/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch deleted file mode 100644 index 2dcb793e82..0000000000 --- a/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN glibc-2.3.6-orig/sysdeps/powerpc/powerpc32/Makefile glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile ---- glibc-2.3.6-orig/sysdeps/powerpc/powerpc32/Makefile 2003-07-12 00:46:12.000000000 +0200 -+++ glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile 2008-11-10 16:02:12.760497684 +0100 -@@ -21,7 +21,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 = -g0 -fpic -O1 -+CFLAGS-initfini.s = -fpic -O1 $(fno-unit-at-a-time) - - # There is no benefit to using sdata for these objects, and the user - # of the library should be able to control what goes into sdata. diff --git a/toolchain/glibc/patches/2.6.1/101-binutils_2_19.patch b/toolchain/glibc/patches/2.6.1/101-binutils_2_19.patch deleted file mode 100644 index cc1b7401aa..0000000000 --- a/toolchain/glibc/patches/2.6.1/101-binutils_2_19.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN glibc-2.6.1-old/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1-new/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.6.1-old/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.6.1-new/sysdeps/i386/fpu/ftestexcept.c 2009-01-21 03:29:56.000000000 +0100 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/toolchain/glibc/patches/2.6.1/102-gcc_4_3.patch b/toolchain/glibc/patches/2.6.1/102-gcc_4_3.patch deleted file mode 100644 index 86042f5660..0000000000 --- a/toolchain/glibc/patches/2.6.1/102-gcc_4_3.patch +++ /dev/null @@ -1,38 +0,0 @@ -http://sourceware.org/bugzilla/show_bug.cgi?id=5442 - -diff -ruN glibc-2.6.1-old/configure.in glibc-2.6.1-new/configure.in ---- glibc-2.6.1-old/configure.in 2007-03-20 13:11:23.000000000 +0100 -+++ glibc-2.6.1-new/configure.in 2009-01-21 01:09:16.000000000 +0100 -@@ -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 -ruN glibc-2.6.1-old/configure glibc-2.6.1-new/configure ---- glibc-2.6.1-old/configure 2007-07-31 15:46:12.000000000 +0200 -+++ glibc-2.6.1-new/configure 2009-01-21 01:09:13.000000000 +0100 -@@ -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/toolchain/glibc/patches/2.7/101-binutils_2_19.patch b/toolchain/glibc/patches/2.7/101-binutils_2_19.patch deleted file mode 100644 index 5971112045..0000000000 --- a/toolchain/glibc/patches/2.7/101-binutils_2_19.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN glibc-2.7-old/sysdeps/i386/fpu/ftestexcept.c glibc-2.7-new/sysdeps/i386/fpu/ftestexcept.c ---- glibc-2.7-old/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 -+++ glibc-2.7-new/sysdeps/i386/fpu/ftestexcept.c 2009-01-21 03:33:43.000000000 +0100 -@@ -26,7 +26,7 @@ - int - fetestexcept (int excepts) - { -- int temp; -+ short temp; - int xtemp = 0; - - /* Get current exceptions. */ diff --git a/toolchain/glibc/patches/2.7/102-gcc_4_3.patch b/toolchain/glibc/patches/2.7/102-gcc_4_3.patch deleted file mode 100644 index 2ed3f548a9..0000000000 --- a/toolchain/glibc/patches/2.7/102-gcc_4_3.patch +++ /dev/null @@ -1,38 +0,0 @@ -http://sourceware.org/bugzilla/show_bug.cgi?id=5442 - -diff -ruN glibc-2.7-old/configure.in glibc-2.7-new/configure.in ---- glibc-2.7-old/configure.in 2007-06-08 05:16:36.000000000 +0200 -+++ glibc-2.7-new/configure.in 2009-01-21 01:12:42.000000000 +0100 -@@ -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 -ruN glibc-2.7-old/configure glibc-2.7-new/configure ---- glibc-2.7-old/configure 2007-10-18 13:22:23.000000000 +0200 -+++ glibc-2.7-new/configure 2009-01-21 01:12:45.000000000 +0100 -@@ -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/toolchain/glibc/patches/2.7/103-binutils_2_20.patch b/toolchain/glibc/patches/2.7/103-binutils_2_20.patch deleted file mode 100644 index 66d44ad571..0000000000 --- a/toolchain/glibc/patches/2.7/103-binutils_2_20.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- glibc-2.7-old/configure.in 2010-08-05 15:41:13.379279183 +0200 -+++ glibc-2.7-new/configure.in 2010-08-05 15:46:30.236940604 +0200 -@@ -842,10 +842,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]*]|[3-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]*]|[3-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/toolchain/glibc/patches/2.7/104-binutils_2_20.patch b/toolchain/glibc/patches/2.7/104-binutils_2_20.patch deleted file mode 100644 index 4e6ca5cf6c..0000000000 --- a/toolchain/glibc/patches/2.7/104-binutils_2_20.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- glibc-2.7-old/configure 2010-08-05 16:21:23.899880380 +0200 -+++ glibc-2.7-new/configure 2010-08-05 16:26:25.269006172 +0200 -@@ -4527,7 +4527,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]*|[3-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -4590,7 +4590,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]*|[3-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; -