mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 18:17:32 +02:00
[toolchain/glibc*] purge support for glibc - use eglibc instead!
for reference: http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg13425.html git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31503 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
55d4e79349
commit
875ce0bf50
@ -516,8 +516,8 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
|||||||
use_libnsl=$(if $(CONFIG_USE_GLIBC)$(CONFIG_EGLIBC_OPTION_EGLIBC_NIS),libnsl)
|
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)
|
use_nsswitch=$(if $(CONFIG_USE_GLIBC)$(CONFIG_EGLIBC_OPTION_EGLIBC_NSSWITCH),libnss_dns libnss_files)
|
||||||
|
|
||||||
define Package/glibc/install
|
define Package/eglibc/install
|
||||||
$(CP) ./glibc-files/* $(1)/
|
$(CP) ./eglibc-files/* $(1)/
|
||||||
rm -f $(1)/etc/localtime
|
rm -f $(1)/etc/localtime
|
||||||
ln -sf /tmp/localtime $(1)/etc/localtime
|
ln -sf /tmp/localtime $(1)/etc/localtime
|
||||||
$(INSTALL_DIR) $(1)/lib
|
$(INSTALL_DIR) $(1)/lib
|
||||||
@ -534,10 +534,6 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
|||||||
done
|
done
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/eglibc/install
|
|
||||||
$(call Package/glibc/install,$1)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/uClibc/install
|
define Package/uClibc/install
|
||||||
$(INSTALL_DIR) $(1)/lib
|
$(INSTALL_DIR) $(1)/lib
|
||||||
$(CP) \
|
$(CP) \
|
||||||
|
@ -142,17 +142,12 @@ choice
|
|||||||
bool "Use eglibc"
|
bool "Use eglibc"
|
||||||
depends !avr32
|
depends !avr32
|
||||||
|
|
||||||
config USE_GLIBC
|
|
||||||
bool "Use glibc"
|
|
||||||
depends !avr32
|
|
||||||
|
|
||||||
config USE_UCLIBC
|
config USE_UCLIBC
|
||||||
bool "Use uClibc"
|
bool "Use uClibc"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
source "toolchain/eglibc/Config.in"
|
source "toolchain/eglibc/Config.in"
|
||||||
source "toolchain/glibc/Config.in"
|
|
||||||
source "toolchain/uClibc/Config.in"
|
source "toolchain/uClibc/Config.in"
|
||||||
|
|
||||||
comment "Debuggers"
|
comment "Debuggers"
|
||||||
@ -185,24 +180,21 @@ config USE_EXTERNAL_LIBC
|
|||||||
source "toolchain/gcc/Config.version"
|
source "toolchain/gcc/Config.version"
|
||||||
|
|
||||||
source "toolchain/eglibc/Config.version"
|
source "toolchain/eglibc/Config.version"
|
||||||
source "toolchain/glibc/Config.version"
|
|
||||||
source "toolchain/uClibc/Config.version"
|
source "toolchain/uClibc/Config.version"
|
||||||
|
|
||||||
config LIBC
|
config LIBC
|
||||||
string
|
string
|
||||||
default "eglibc" if USE_EGLIBC
|
default "eglibc" if USE_EGLIBC
|
||||||
default "glibc" if USE_GLIBC
|
|
||||||
default "uClibc" if USE_UCLIBC
|
default "uClibc" if USE_UCLIBC
|
||||||
|
|
||||||
config LIBC_VERSION
|
config LIBC_VERSION
|
||||||
string
|
string
|
||||||
default EGLIBC_VERSION if USE_EGLIBC
|
default EGLIBC_VERSION if USE_EGLIBC
|
||||||
default GLIBC_VERSION if USE_GLIBC
|
|
||||||
default UCLIBC_VERSION if USE_UCLIBC
|
default UCLIBC_VERSION if USE_UCLIBC
|
||||||
|
|
||||||
config TARGET_SUFFIX
|
config TARGET_SUFFIX
|
||||||
string
|
string
|
||||||
default "gnueabi" if (USE_EGLIBC || USE_GLIBC) && (arm || armeb)
|
default "gnueabi" if (USE_EGLIBC) && (arm || armeb)
|
||||||
default "gnu" if (USE_EGLIBC || USE_GLIBC) && !(arm || armeb)
|
default "gnu" if (USE_EGLIBC) && !(arm || armeb)
|
||||||
default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
|
default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
|
||||||
default "uclibc" if USE_UCLIBC && !(arm || armeb)
|
default "uclibc" if USE_UCLIBC && !(arm || armeb)
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
curdir:=toolchain
|
curdir:=toolchain
|
||||||
|
|
||||||
# subdirectories to descend into
|
# 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-compile:=$($(curdir)/builddirs-prepare)
|
||||||
$(curdir)/builddirs-install:=$($(curdir)/builddirs-compile)
|
$(curdir)/builddirs-install:=$($(curdir)/builddirs-compile)
|
||||||
|
|
||||||
@ -43,9 +43,6 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
|||||||
$(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install
|
$(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install
|
||||||
$(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile
|
$(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile
|
||||||
$(curdir)/$(LIBC)/install:=$(curdir)/gcc/final/install
|
$(curdir)/$(LIBC)/install:=$(curdir)/gcc/final/install
|
||||||
ifneq ($(CONFIG_GLIBC_PORTS),)
|
|
||||||
$(curdir)/glibc/prepare:=$(curdir)/glibc-ports/prepare
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_GCC_VERSION_LLVM
|
ifdef CONFIG_GCC_VERSION_LLVM
|
||||||
|
@ -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))
|
|
@ -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>
|
|
||||||
+
|
|
@ -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"
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
|
||||||
|
|
||||||
|
|
@ -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"
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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))
|
|
@ -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
|
|
@ -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)
|
|
Loading…
Reference in New Issue
Block a user