glibc: remove all previous (ancient) versions, add 2.14 (partially based on a patch and testing by WillieNL)

SVN-Revision: 30478
This commit is contained in:
Felix Fietkau 2012-02-12 16:12:01 +00:00
parent fd74a50df7
commit 07488ef93d
15 changed files with 43 additions and 266 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 <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

View file

@ -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)

View file

@ -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 <rpjday@mindspring.com>

View file

@ -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" <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>

View file

@ -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

View file

@ -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.

View file

@ -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. */

View file

@ -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` &&

View file

@ -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. */

View file

@ -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` &&

View file

@ -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

View file

@ -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;;