From e61aabfce64440f963ae660aaeb636e8411278b3 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Fri, 28 May 2010 20:37:56 +0000 Subject: [PATCH] toolchain/eglibc: add preliminary support for eglibc-2.12 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21611 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- toolchain/eglibc/Config.in | 5 ++ toolchain/eglibc/Config.version | 1 + toolchain/eglibc/Makefile | 5 +- toolchain/eglibc/config/Config.in | 91 ++++++++++++++++++++++++++++--- 4 files changed, 92 insertions(+), 10 deletions(-) diff --git a/toolchain/eglibc/Config.in b/toolchain/eglibc/Config.in index ca4c4a6f30..2ae8da3e85 100644 --- a/toolchain/eglibc/Config.in +++ b/toolchain/eglibc/Config.in @@ -24,6 +24,10 @@ choice bool "eglibc 2.11" depends GCC_VERSION_4_3 || GCC_VERSION_4_4 || GCC_VERSION_4_5 + config EGLIBC_VERSION_2_12 + bool "eglibc 2.12" + depends GCC_VERSION_4_3 || GCC_VERSION_4_4 || GCC_VERSION_4_5 + config EGLIBC_VERSION_TRUNK bool "eglibc trunk" @@ -39,6 +43,7 @@ config EGLIBC_REVISION default "10153" if EGLIBC_VERSION_2_9 default "10152" if EGLIBC_VERSION_2_10 default "10454" if EGLIBC_VERSION_2_11 + default "10495" if EGLIBC_VERSION_2_12 default "HEAD" if EGLIBC_VERSION_TRUNK default "" diff --git a/toolchain/eglibc/Config.version b/toolchain/eglibc/Config.version index f08837841d..700c40924e 100644 --- a/toolchain/eglibc/Config.version +++ b/toolchain/eglibc/Config.version @@ -7,4 +7,5 @@ config EGLIBC_VERSION default "2.9" if EGLIBC_VERSION_2_9 default "2.10.2" if EGLIBC_VERSION_2_10 default "2.11.1" if EGLIBC_VERSION_2_11 + default "2.12" if EGLIBC_VERSION_2_12 default "trunk" diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile index 822309d058..3d3a1da5cf 100644 --- a/toolchain/eglibc/Makefile +++ b/toolchain/eglibc/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -33,6 +33,9 @@ endif ifneq ($(CONFIG_EGLIBC_VERSION_2_11),) PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_11 endif +ifneq ($(CONFIG_EGLIBC_VERSION_2_12),) + PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_12 +endif ifneq ($(CONFIG_EGLIBC_VERSION_TRUNK),) PKG_SOURCE_URL:=svn://svn.eglibc.org/trunk endif diff --git a/toolchain/eglibc/config/Config.in b/toolchain/eglibc/config/Config.in index ad442430e8..72230a318e 100644 --- a/toolchain/eglibc/config/Config.in +++ b/toolchain/eglibc/config/Config.in @@ -49,7 +49,7 @@ config EGLIBC_OPTION_EGLIBC_BACKTRACE config EGLIBC_OPTION_EGLIBC_BIG_MACROS bool "Use extensive inline code" default y - depends EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group specifies whether certain pieces of code should be inlined to achieve maximum speed. If this option @@ -170,6 +170,30 @@ config EGLIBC_OPTION_EGLIBC_CHARSETS 32-bit ISO 10646) +config EGLIBC_OPTION_EGLIBC_CRYPT + bool "Encryption library" + default y + depends EGLIBC_VERSION_2_12 + help + This option group includes the `libcrypt' library which + provides functions for one-way encryption. Supported + encryption algorithms include MD5, SHA-256, SHA-512 and DES. + + +config EGLIBC_OPTION_EGLIBC_CRYPT_UFC + bool "Ultra fast `crypt' implementation" + default y + depends EGLIBC_VERSION_2_12 + select EGLIBC_OPTION_EGLIBC_CRYPT + help + This option group provides ultra fast DES-based implementation of + the `crypt' function. When this option group is disabled, + (a) the library will not provide the setkey[_r] and encrypt[_r] + functions and (b) the crypt[_r] function will return NULL and set the + errno to ENOSYS if /salt/ passed does not correspond to either MD5, + SHA-256 or SHA-512 algorithm. + + config EGLIBC_OPTION_EGLIBC_DB_ALIASES bool "Functions for accessing the mail aliases database" default y @@ -209,7 +233,7 @@ config EGLIBC_OPTION_EGLIBC_ENVZ config EGLIBC_OPTION_EGLIBC_FCVT bool "Functions for converting floating-point numbers to strings" default y - depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes functions for converting floating-point numbers to strings. @@ -226,7 +250,7 @@ config EGLIBC_OPTION_EGLIBC_FCVT config EGLIBC_OPTION_EGLIBC_FMTMSG bool "Functions for formatting messages" default y - depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes the following functions: @@ -252,7 +276,7 @@ config EGLIBC_OPTION_EGLIBC_FSTAB config EGLIBC_OPTION_EGLIBC_FTRAVERSE bool "Functions for traversing file hierarchies" default y - depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes functions for traversing file UNIX file hierachies. @@ -280,6 +304,15 @@ config EGLIBC_OPTION_EGLIBC_GETLOGIN expansion when the 'HOME' environment variable is not set. +config EGLIBC_OPTION_EGLIBC_IDN + bool "International domain names support" + default y + depends EGLIBC_VERSION_2_12 + help + This option group includes the `libcidn' library which + provides support for international domain names. + + config EGLIBC_OPTION_EGLIBC_INET bool "Networking support" default y @@ -407,6 +440,16 @@ config EGLIBC_OPTION_EGLIBC_INET syslog is valuable in non-networked contexts. +config EGLIBC_OPTION_EGLIBC_INET_ANL + bool "Asynchronous name lookup" + default y + depends EGLIBC_VERSION_2_12 + select OPTION_EGLIBC_INET + help + This option group includes the `libanl' library which + provides support for asynchronous name lookup. + + config EGLIBC_OPTION_EGLIBC_LIBM bool "libm (math library)" default y @@ -427,6 +470,22 @@ config EGLIBC_OPTION_EGLIBC_LIBM resulting EGLIBC installation. +config EGLIBC_OPTION_EGLIBC_LIBM_BIG + bool "Math library size" + default y + depends EGLIBC_VERSION_2_12 + help + This option group enables default configuration of the math library. + Not selecting this option group removes most of the extended and + double precision math functions and replaces them with wrappers + to the single precision couterparts. + Doing so greatly degrades quality of calculations carried + out by the functions of the math library, but also significantly + reduces the size of the libm. + This option group is useful for systems that do not rely on precise + floating point math. + + config EGLIBC_OPTION_EGLIBC_LOCALES bool "Locale definitions" default y @@ -439,7 +498,7 @@ config EGLIBC_OPTION_EGLIBC_LOCALES config EGLIBC_OPTION_EGLIBC_LOCALE_CODE bool "Locale functions" default y - select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes locale support functions, programs, and libraries. With EGLIBC_OPTION_EGLIBC_LOCALE_CODE disabled, @@ -464,7 +523,7 @@ config EGLIBC_OPTION_EGLIBC_LOCALE_CODE config EGLIBC_OPTION_EGLIBC_MEMUSAGE bool "Memory profiling library" default y - depends EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes the `libmemusage' library and the `memusage' and `memusagestat' utilities. @@ -598,6 +657,20 @@ config EGLIBC_OPTION_EGLIBC_RCMD rresvport_af +config EGLIBC_OPTION_EGLIBC_RTLD_DEBUG + bool "Runtime linker debug print outs" + default y + depends EGLIBC_VERSION_2_12 + help + This option group enables debug output of the runtime linker + which is activated via LD_DEBUG and LD_TRACE_PRELINKING + environment variables. Disabling this option group yields + a smaller runtime linker binary. + BEWARE: Disabling this option group is likely to break + the `ldd' utility which may also be used by the prelinker. + In particular, the `--unused' ldd option will not work correctly. + + config EGLIBC_OPTION_EGLIBC_SPAWN bool "Support for POSIX posix_spawn functions" default y @@ -729,7 +802,7 @@ config EGLIBC_OPTION_EGLIBC_WORDEXP config EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR bool "ISO C library wide character functions, excluding I/O" default y - depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes the functions defined by the ISO C standard for working with wide and multibyte characters in @@ -784,7 +857,7 @@ config EGLIBC_OPTION_POSIX_REGEXP config EGLIBC_OPTION_POSIX_REGEXP_GLIBC bool "Regular expressions from GLIBC" default y - depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + depends EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 select EGLIBC_OPTION_POSIX_REGEXP help This option group specifies which regular expression @@ -798,7 +871,7 @@ config EGLIBC_OPTION_POSIX_REGEXP_GLIBC config EGLIBC_OPTION_POSIX_WIDE_CHAR_DEVICE_IO bool "Input and output functions for wide characters" default y - select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 + select EGLIBC_OPTION_POSIX_C_LANG_WIDE_CHAR if EGLIBC_VERSION_2_8 || EGLIBC_VERSION_2_9 || EGLIBC_VERSION_2_10 || EGLIBC_VERSION_2_11 || EGLIBC_VERSION_2_12 help This option group includes functions for reading and writing wide characters to and from streams.