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:
parent
fd74a50df7
commit
07488ef93d
15 changed files with 43 additions and 266 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
22
toolchain/glibc/patches/2.14/100-fix_cpuid_h_check.patch
Normal file
22
toolchain/glibc/patches/2.14/100-fix_cpuid_h_check.patch
Normal 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
|
12
toolchain/glibc/patches/2.14/200-add_dl_search_path.patch
Normal file
12
toolchain/glibc/patches/2.14/200-add_dl_search_path.patch
Normal 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)
|
|
@ -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>
|
|
@ -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>
|
|
@ -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
|
|
@ -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.
|
|
@ -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. */
|
|
@ -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` &&
|
|
@ -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. */
|
|
@ -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` &&
|
|
@ -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
|
|
@ -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;;
|
||||
|
Loading…
Reference in a new issue