purge support for glibc - use eglibc instead!

for reference: http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg13425.html

SVN-Revision: 31503
This commit is contained in:
Mirko Vogt 2012-04-28 22:24:12 +00:00
parent 6831c99f65
commit 334fd4199b
20 changed files with 5 additions and 426 deletions

View File

@ -516,8 +516,8 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
use_libnsl=$(if $(CONFIG_USE_GLIBC)$(CONFIG_EGLIBC_OPTION_EGLIBC_NIS),libnsl)
use_nsswitch=$(if $(CONFIG_USE_GLIBC)$(CONFIG_EGLIBC_OPTION_EGLIBC_NSSWITCH),libnss_dns libnss_files)
define Package/glibc/install
$(CP) ./glibc-files/* $(1)/
define Package/eglibc/install
$(CP) ./eglibc-files/* $(1)/
rm -f $(1)/etc/localtime
ln -sf /tmp/localtime $(1)/etc/localtime
$(INSTALL_DIR) $(1)/lib
@ -534,10 +534,6 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
done
endef
define Package/eglibc/install
$(call Package/glibc/install,$1)
endef
define Package/uClibc/install
$(INSTALL_DIR) $(1)/lib
$(CP) \

View File

@ -142,17 +142,12 @@ choice
bool "Use eglibc"
depends !avr32
config USE_GLIBC
bool "Use glibc"
depends !avr32
config USE_UCLIBC
bool "Use uClibc"
endchoice
source "toolchain/eglibc/Config.in"
source "toolchain/glibc/Config.in"
source "toolchain/uClibc/Config.in"
comment "Debuggers"
@ -185,24 +180,21 @@ config USE_EXTERNAL_LIBC
source "toolchain/gcc/Config.version"
source "toolchain/eglibc/Config.version"
source "toolchain/glibc/Config.version"
source "toolchain/uClibc/Config.version"
config LIBC
string
default "eglibc" if USE_EGLIBC
default "glibc" if USE_GLIBC
default "uClibc" if USE_UCLIBC
config LIBC_VERSION
string
default EGLIBC_VERSION if USE_EGLIBC
default GLIBC_VERSION if USE_GLIBC
default UCLIBC_VERSION if USE_UCLIBC
config TARGET_SUFFIX
string
default "gnueabi" if (USE_EGLIBC || USE_GLIBC) && (arm || armeb)
default "gnu" if (USE_EGLIBC || USE_GLIBC) && !(arm || armeb)
default "gnueabi" if (USE_EGLIBC) && (arm || armeb)
default "gnu" if (USE_EGLIBC) && !(arm || armeb)
default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
default "uclibc" if USE_UCLIBC && !(arm || armeb)

View File

@ -28,7 +28,7 @@
curdir:=toolchain
# subdirectories to descend into
$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/minimal gcc/initial gcc/final $(LIBC) $(if $(CONFIG_GLIBC_PORTS),glibc-ports))
$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/minimal gcc/initial gcc/final $(LIBC))
$(curdir)/builddirs-compile:=$($(curdir)/builddirs-prepare)
$(curdir)/builddirs-install:=$($(curdir)/builddirs-compile)
@ -43,9 +43,6 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
$(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install
$(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile
$(curdir)/$(LIBC)/install:=$(curdir)/gcc/final/install
ifneq ($(CONFIG_GLIBC_PORTS),)
$(curdir)/glibc/prepare:=$(curdir)/glibc-ports/prepare
endif
endif
ifdef CONFIG_GCC_VERSION_LLVM

View File

@ -1,52 +0,0 @@
#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=glibc-ports
PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION))
ifeq ($(PKG_VERSION),2.3.6)
PKG_MD5SUM:=40dce745d34ff80401da2fdfe58f6d53
endif
ifeq ($(PKG_VERSION),2.6.1)
PKG_MD5SUM:=53d88ca624642dd267752ccce77b19d0
endif
ifeq ($(PKG_VERSION),2.7)
PKG_MD5SUM:=eaeb8527b8fa286c2d887157214f9998
endif
PKG_SOURCE_URL:=@GNU/glibc/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PATCH_DIR:=./patches/$(PKG_VERSION)
include $(INCLUDE_DIR)/toolchain-build.mk
HOST_STAMP_BUILT:=$(TOOLCHAIN_DIR)/stamp/.glibc-ports_built
HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.glibc-ports_installed
define Host/Prepare
$(call Host/Prepare/Default)
ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
endef
define Host/Configure
endef
define Host/Compile
endef
define Host/Install
endef
define Host/Clean
rm -rf \
$(HOST_BUILD_DIR) \
$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
endef
$(eval $(call HostBuild))

View File

@ -1,7 +0,0 @@
diff --exclude=.svn -pNur glibc-ports-2.4/sysdeps/unix/sysv/linux/mips/nptl/fork.c glibc-ports-2.4/sysdeps/unix/sysv/linux/mips/nptl/fork.c
--- glibc-ports-2.4/sysdeps/unix/sysv/linux/mips/nptl/fork.c 2009-02-09 15:13:14.996030533 +0100
+++ glibc-ports-2.4/sysdeps/unix/sysv/linux/mips/nptl/fork.c 2009-02-09 15:13:34.402489340 +0100
@@ -1 +1,2 @@
-#include "../i386/fork.c"
+#include <sysdeps/unix/sysv/linux/i386/fork.c>
+

View File

@ -1,13 +0,0 @@
http://sourceware.org/ml/crossgcc/2008-05/msg00014.html
diff -durN glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/ioperm.c glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/ioperm.c
--- glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/ioperm.c 2005-06-10 13:12:09.000000000 +0200
+++ 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 <sys/mman.h>
#include <linux/version.h>
-#include <asm/page.h>
#include <sys/sysctl.h>
#define PATH_ARM_SYSTYPE "/etc/arm_systype"

View File

@ -1,13 +0,0 @@
diff -durN glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
--- glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2005-11-16 20:22:59.000000000 +0100
+++ glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2007-09-06 13:53:16.000000000 +0200
@@ -132,3 +132,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

View File

@ -1,11 +0,0 @@
diff -ruN glibc-ports-2.7-orig/sysdeps/mips/mips32/Makefile glibc-ports-2.7/sysdeps/mips/mips32/Makefile
--- glibc-ports-2.7-orig/ports/sysdeps/mips/mips32/Makefile 2003-03-29 09:15:28.000000000 +0100
+++ glibc-ports-2.7/sysdeps/mips/mips32/Makefile 2008-10-01 17:04:40.475005748 +0200
@@ -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

View File

@ -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 <sjmunroe@us.ibm.com>
* sysdeps/powerpc/nofpu/Makefile: Remove fe_nomask from libm-support.
diff -urN glibc-ports-2.6.1.orig/sysdeps/powerpc/nofpu/Makefile glibc-ports-2.6.1/sysdeps/powerpc/nofpu/Makefile
--- glibc-ports-2.6.1.orig/sysdeps/powerpc/nofpu/Makefile 2006-11-22 09:13:11.000000000 -0600
+++ 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"

View File

@ -1,13 +0,0 @@
http://sourceware.org/ml/crossgcc/2008-05/msg00014.html
diff -durN glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/ioperm.c glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/ioperm.c
--- glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/ioperm.c 2005-06-10 13:12:09.000000000 +0200
+++ 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 <sys/mman.h>
#include <linux/version.h>
-#include <asm/page.h>
#include <sys/sysctl.h>
#define PATH_ARM_SYSTYPE "/etc/arm_systype"

View File

@ -1,13 +0,0 @@
diff -durN glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h glibc-ports-2.6.1/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
--- glibc-ports-2.6.1.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2005-11-16 20:22:59.000000000 +0100
+++ 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

View File

@ -1,15 +0,0 @@
http://sourceware.org/ml/libc-ports/2008-02/msg00005.html
diff -durN glibc-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
--- glibc-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2007-06-06 19:27:04.000000000 +0200
+++ 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)

View File

@ -1,13 +0,0 @@
http://www.nabble.com/arm-linux-compilation-failure-and-possible-fix-td19229074.html
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-ports-2.7.orig/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig 2008-10-04 20:46:13.000000000 +0200
+++ glibc-ports-2.7/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h 2008-10-04 20:45:40.000000000 +0200
@@ -25,6 +25,7 @@
#include <atomic.h>
#include <sysdep.h>
#include <kernel-features.h>
+#include <tls.h>
#define FUTEX_WAIT 0
#define FUTEX_WAKE 1

View File

@ -1,11 +0,0 @@
diff -ruN glibc-ports-2.7-orig/sysdeps/mips/mips32/Makefile glibc-ports-2.7/sysdeps/mips/mips32/Makefile
--- glibc-ports-2.7-orig/sysdeps/mips/mips32/Makefile 2003-03-29 09:15:28.000000000 +0100
+++ glibc-ports-2.7/sysdeps/mips/mips32/Makefile 2008-10-01 17:04:40.475005748 +0200
@@ -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

View File

@ -1,11 +0,0 @@
choice
prompt "glibc version"
depends on TOOLCHAINOPTS && USE_GLIBC
default GLIBC_VERSION_2_14
help
Select the version of glibc you wish to use.
config GLIBC_VERSION_2_14
bool "glibc 2.14"
endchoice

View File

@ -1,11 +0,0 @@
config GLIBC_VERSION
string
depends on USE_GLIBC
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_14 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc)
default n

View File

@ -1,168 +0,0 @@
#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=glibc
PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION))
ifeq ($(PKG_VERSION),2.14)
PKG_MD5SUM:=1588cc22e796c296223744895ebc4cef
endif
PKG_SOURCE_URL:=@GNU/glibc
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PATCH_DIR:=./patches/$(PKG_VERSION)
include $(INCLUDE_DIR)/toolchain-build.mk
HOST_STAMP_BUILT:=$(TOOLCHAIN_DIR)/stamp/.glibc_built
HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.glibc_installed
HOST_BUILD_DIR1:=$(HOST_BUILD_DIR)-initial
HOST_BUILD_DIR2:=$(HOST_BUILD_DIR)-final
GLIBC_ADD_ONS+=nptl,
ifneq ($(CONFIG_GLIBC_PORTS),)
GLIBC_ADD_ONS+=ports,
define Host/Prepare/ports
ln -snf ../glibc-ports $(HOST_BUILD_DIR)/ports
endef
endif
# XXX: {e,}glibc does not build w/ -Os
# http://sourceware.org/bugzilla/show_bug.cgi?id=5203
GLIBC_CFLAGS:=$(subst -Os,-O2,$(TARGET_CFLAGS))
GLIBC_CONFIGURE:= \
BUILD_CC="$(HOSTCC)" \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(GLIBC_CFLAGS)" \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_386_tls=yes \
libc_cv_slibdir="/lib" \
$(HOST_BUILD_DIR)/configure \
--prefix= \
--build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
--with-headers="$(TOOLCHAIN_DIR)/include" \
$(if $(CONFIG_mips64)$(CONFIG_mips64el), --enable-kernel="2.6.0") \
--disable-debug \
--disable-profile \
--enable-add-ons="$(GLIBC_ADD_ONS)" \
--without-gd \
--without-cvs \
ifeq ($(CONFIG_SOFT_FLOAT),)
GLIBC_CONFIGURE+= \
--with-fp
else
GLIBC_CONFIGURE+= \
--without-fp
endif
GLIBC_CONFIGURE_STAGE1:= \
$(GLIBC_CONFIGURE) \
--disable-sanity-checks \
--enable-hacker-mode \
GLIBC_CONFIGURE_STAGE2:= \
$(GLIBC_CONFIGURE) \
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
$(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk
$(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk
endef
define Stage1/Configure
mkdir -p $(HOST_BUILD_DIR1)
( cd $(HOST_BUILD_DIR1); rm -f config.cache; \
$(GLIBC_CONFIGURE_STAGE1) \
);
endef
define Stage1/Compile
endef
define Stage1/Install
$(GLIBC_MAKE) -C $(HOST_BUILD_DIR1) \
CFLAGS="-DBOOTSTRAP_GCC" \
cross-compiling=yes \
install_root="$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev" \
install-headers
[ -f $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/include/bits/stdio_lim.h ] || \
$(CP) $(HOST_BUILD_DIR1)/bits/stdio_lim.h \
$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/include/bits/stdio_lim.h
[ -f $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/include/gnu/stubs.h ] || \
touch $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/include/gnu/stubs.h
endef
define Stage2/Configure
mkdir -p $(HOST_BUILD_DIR2)
( cd $(HOST_BUILD_DIR2); rm -f config.cache; \
$(GLIBC_CONFIGURE_STAGE2) \
);
endef
define Stage2/Compile
$(GLIBC_MAKE) -C $(HOST_BUILD_DIR2) all
endef
define Stage2/Install
$(GLIBC_MAKE) -C $(HOST_BUILD_DIR2) \
install_root="$(TOOLCHAIN_DIR)" \
install
( cd $(TOOLCHAIN_DIR) ; \
for d in lib usr/lib ; do \
for f in libc.so libpthread.so libgcc_s.so ; do \
if [ -f $$$$d/$$$$f -a ! -L $$$$d/$$$$f ] ; then \
$(SED) 's,/usr/lib/,,g;s,/lib/,,g' $$$$d/$$$$f ; \
fi \
done \
done \
)
endef
define Host/Prepare
$(call Host/SetToolchainInfo)
$(call Host/Prepare/Default)
ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
$(call Host/Prepare/ports)
$(call Stage1/Configure)
$(call Stage1/Compile)
$(call Stage1/Install)
endef
define Host/Configure
endef
define Host/Compile
$(call Stage2/Configure)
$(call Stage2/Compile)
$(call Stage2/Install)
endef
define Host/Install
endef
define Host/Clean
rm -rf \
$(HOST_BUILD_DIR) \
$(HOST_BUILD_DIR1) \
$(HOST_BUILD_DIR2) \
$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev \
$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
endef
$(eval $(call HostBuild))

View File

@ -1,22 +0,0 @@
--- 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

@ -1,12 +0,0 @@
--- 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)