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
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
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)
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
--- /dev/null
+--- 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 <cpuid.h> header])])
++ [AC_MSG_ERROR([gcc must provide the <cpuid.h> 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
--- /dev/null
+--- 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)
+++ /dev/null
-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 <rpjday@mindspring.com>
+++ /dev/null
-http://sourceware.org/ml/crossgcc/2005-05/msg00165.html
-Fixes a MIPS build problem (unrelated to NPTL)
-
-Message-ID: <428E8B24.1000201@realitydiluted.com>
-Date: Fri, 20 May 2005 20:13:08 -0500
-From: "Steven J dot Hill" <sjhill at realitydiluted dot com>
-To: crossgcc at sources dot redhat dot com, toolchain at gentoo dot org,
- Shay_Gal-On at pmc-sierra dot com, TheNop at gmx dot net
-Subject: New NPTL patches for crosstools and MIPS NPTL patches....
-
-Greetings.
-
-I have uploaded the latest NPTL patch for crosstool-0.34. I have also
-uploaded a tarball of the patches necessary to build a MIPS NPTL
-cross toolchain. To build a MIPS NPTL toolchain you will need the
-released version of binutils-2.16 and the absolute latest GCC and
-glibc code from the HEAD of cvs. Use the 'demo-mips-nptl.sh' script
-to build the toolchain. Please report bugs or issues to the crossgcc
-mailing list. Here is the link off of my FTP site:
-
- ftp://ftp.realitydiluted.com/crosstools/crosstool-0.34/
-
-[Note: BOOTSTRAP_GCC is set by crosstool.sh when invoking make install-headers]
-
-diff -ur glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile
---- glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile 2003-03-29 02:15:28.000000000 -0600
-+++ glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile 2005-04-12 21:36:51.318837655 -0500
-@@ -1,3 +1,7 @@
-+ifeq ($(filter -DBOOTSTRAP_GCC,$(CFLAGS)),)
- ifeq ($(filter -mabi=32,$(CC)),)
- CC += -mabi=32
- endif
-+else
-+CC += -D"_MIPS_SZPTR=32"
-+endif
-
-Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
+++ /dev/null
-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
+++ /dev/null
-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.
+++ /dev/null
-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. */
+++ /dev/null
-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` &&
+++ /dev/null
-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. */
+++ /dev/null
-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` &&
+++ /dev/null
---- 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
+++ /dev/null
---- 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;;
-