Changeset 44701


Ignore:
Timestamp:
2015-03-12T20:50:57+01:00 (3 years ago)
Author:
blogic
Message:

toolchain: The glorious return of glibc, ver 2.21

It's the eglibc packaging with a bit of spit-polishing. And testing. :-)

[blogic: merged glibc and eglibc into 1 and made eglibc a glibc variant]

Signed-off-by: Jeff Waugh <jdub@…>
Signed-off-by: John Crispin <blogic@…>

Location:
trunk
Files:
14 added
1 deleted
5 edited
29 copied

Legend:

Unmodified
Added
Removed
  • trunk/config/Config-build.in

    r44287 r44701  
    136136                prompt "Binary stripping method" 
    137137                default USE_STRIP   if EXTERNAL_TOOLCHAIN 
    138                 default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL 
     138                default USE_STRIP   if USE_GLIBC || USE_MUSL 
    139139                default USE_SSTRIP 
    140140                help 
     
    157157                        depends on !DEBUG 
    158158                        depends on !USE_GLIBC 
    159                         depends on !USE_EGLIBC 
    160159                        help 
    161160                          This will install binaries stripped using sstrip. 
     
    188187        choice 
    189188                prompt "Preferred standard C++ library" 
    190                 default USE_LIBSTDCXX if USE_EGLIBC 
     189                default USE_LIBSTDCXX if USE_GLIBC 
    191190                default USE_UCLIBCXX 
    192191                help 
  • trunk/include/package-defaults.mk

    r42770 r44701  
    66# 
    77 
    8 PKG_DEFAULT_DEPENDS = +libc +USE_EGLIBC:librt +USE_EGLIBC:libpthread 
     8PKG_DEFAULT_DEPENDS = +libc +USE_GLIBC:librt +USE_GLIBC:libpthread 
    99 
    1010ifneq ($(PKG_NAME),toolchain) 
  • trunk/include/version.mk

    r44337 r44701  
    5656        -ALL:no-all \ 
    5757        -IPV6:no-ipv6 \ 
    58         +USE_EGLIBC:eglibc \ 
     58        +USE_GLIBC:glibc \ 
    5959        +USE_MKLIBS:mklibs \ 
    6060        +BUSYBOX_CUSTOM:busybox \ 
  • trunk/package/libs/toolchain/Makefile

    r43998 r44701  
    421421  endef 
    422422 
    423   use_libutil=$(if $(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),libutil) 
    424   use_libnsl=$(if $(CONFIG_EGLIBC_OPTION_EGLIBC_NIS),libnsl) 
    425   use_nsswitch=$(if $(CONFIG_EGLIBC_OPTION_EGLIBC_NSSWITCH),libnss_dns libnss_files) 
    426  
    427   define Package/eglibc/install 
    428         $(CP) ./eglibc-files/* $(1)/ 
     423  use_libutil=$(if $(CONFIG_GLIBC_USE_VERSION_2_21)$(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),libutil) 
     424  use_libnsl=$(if $(CONFIG_GLIBC_USE_VERSION_2_21)$(CONFIG_EGLIBC_OPTION_EGLIBC_NIS),libnsl) 
     425  use_nsswitch=$(if $(CONFIG_GLIBC_USE_VERSION_2_21)$(CONFIG_EGLIBC_OPTION_EGLIBC_NSSWITCH),libnss_dns libnss_files) 
     426 
     427  define Package/glibc/install 
     428        $(CP) ./glibc-files/* $(1)/ 
    429429        rm -f $(1)/etc/localtime 
    430430        $(LN) /tmp/localtime $(1)/etc/localtime 
  • trunk/toolchain/Config.in

    r43353 r44701  
    212212choice 
    213213        prompt "C Library implementation" if TOOLCHAINOPTS 
    214         default LIBC_USE_EGLIBC if (aarch64 || aarch64_be) 
    215         default LIBC_USE_UCLIBC 
     214        default LIBC_USE_GLIBC if (aarch64 || aarch64_be) 
    216215        help 
    217216          Select the C library implementation. 
    218217 
    219         config LIBC_USE_EGLIBC 
    220                 bool "Use eglibc" 
    221                 select USE_EGLIBC 
     218        config LIBC_USE_GLIBC 
     219                bool "Use glibc" 
     220                select USE_GLIBC 
    222221                depends on !avr32 
    223222 
     
    234233endchoice 
    235234 
    236 source "toolchain/eglibc/Config.in" 
     235source "toolchain/glibc/Config.in" 
    237236source "toolchain/uClibc/Config.in" 
    238237source "toolchain/musl/Config.in" 
     
    257256          Enable if you want to build insight-gdb. 
    258257 
    259 config USE_EGLIBC 
     258config USE_GLIBC 
    260259        bool 
    261260        default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (aarch64 || aarch64_be || octeon) 
     
    274273source "toolchain/gcc/Config.version" 
    275274 
    276 source "toolchain/eglibc/Config.version" 
     275source "toolchain/glibc/Config.version" 
    277276source "toolchain/uClibc/Config.version" 
    278277source "toolchain/musl/Config.version" 
     
    280279config LIBC 
    281280        string 
    282         default "eglibc"  if USE_EGLIBC 
     281        default "glibc"   if USE_GLIBC 
    283282        default "uClibc"  if USE_UCLIBC 
    284283        default "musl"    if USE_MUSL 
     
    286285config LIBC_VERSION 
    287286        string 
    288         default EGLIBC_VERSION  if USE_EGLIBC 
     287        default GLIBC_VERSION   if USE_GLIBC 
    289288        default UCLIBC_VERSION  if USE_UCLIBC 
    290289        default MUSL_VERSION    if USE_MUSL 
     
    292291config TARGET_SUFFIX 
    293292        string 
    294         default "gnueabi"         if USE_EGLIBC && (arm || armeb) 
    295         default "gnu"             if USE_EGLIBC && !(arm || armeb) 
     293        default "gnueabi"         if USE_GLIBC && (arm || armeb) 
     294        default "gnu"             if USE_GLIBC && !(arm || armeb) 
    296295        default "uclibcgnueabi"   if USE_UCLIBC && (arm || armeb) 
    297296        default "uclibc"          if USE_UCLIBC && !(arm || armeb) 
  • trunk/toolchain/glibc/Config.version

    r44700 r44701  
    1 if USE_EGLIBC 
     1if USE_GLIBC 
    22 
    3 config EGLIBC_VERSION 
     3config GLIBC_VERSION 
    44        string 
    55        default "2.15" if EGLIBC_VERSION_2_15 
    66        default "2.19" if EGLIBC_VERSION_2_19 
     7        default "2.21" if GLIBC_VERSION_2_21 
    78 
    89config EGLIBC_VERSION_2_15 
     
    1314        bool 
    1415 
    15 config EGLIBC_REVISION 
     16config GLIBC_VERSION_2_21 
     17        default y if !TOOLCHAINOPTS 
     18        bool 
     19 
     20config GLIBC_REVISION 
    1621        string 
    1722        default "18909" if EGLIBC_VERSION_2_15 
    1823        default "25243" if EGLIBC_VERSION_2_19 
     24        default "4e42b5b8f8" if GLIBC_VERSION_2_21 
    1925        default "" 
    2026 
    2127endif 
    22  
    23 menu "eglibc configuration" 
    24         depends on !TOOLCHAINOPTS && USE_EGLIBC 
    25         source toolchain/eglibc/config/Config.in 
    26 endmenu 
  • trunk/toolchain/glibc/common.mk

    r44700 r44701  
    77include $(TOPDIR)/rules.mk 
    88 
    9 PKG_NAME:=eglibc 
    10 PKG_VERSION:=$(call qstrip,$(CONFIG_EGLIBC_VERSION)) 
    11 PKG_REVISION:=$(call qstrip,$(CONFIG_EGLIBC_REVISION)) 
     9PKG_NAME:=glibc 
     10PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION)) 
     11PKG_REVISION:=$(call qstrip,$(CONFIG_GLIBC_REVISION)) 
    1212 
    13 PKG_SOURCE_PROTO:=svn 
     13PKG_SOURCE_PROTO:=git 
     14PKG_SOURCE_URL:=git://sourceware.org/git/glibc.git 
    1415PKG_SOURCE_VERSION:=$(PKG_REVISION) 
    1516PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-r$(PKG_REVISION) 
    1617PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 
    1718 
     19GLIBC_PATH:= 
    1820ifneq ($(CONFIG_EGLIBC_VERSION_2_15),) 
     21  GLIBC_PATH:=libc/ 
     22  PKG_SOURCE_PROTO:=svn 
     23  PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 
    1924  PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_15 
    2025endif 
    2126ifneq ($(CONFIG_EGLIBC_VERSION_2_19),) 
     27  GLIBC_PATH:=libc/ 
     28  PKG_SOURCE_PROTO:=svn 
     29  PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 
    2230  PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_19 
    2331endif 
     
    3341HOST_STAMP_CONFIGURED:=$(CUR_BUILD_DIR)/.configured 
    3442HOST_STAMP_BUILT:=$(CUR_BUILD_DIR)/.built 
    35 HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.eglibc_$(VARIANT)_installed 
     43HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.glibc_$(VARIANT)_installed 
    3644 
    3745ifeq ($(ARCH),mips64) 
     
    4755endif 
    4856 
    49 EGLIBC_CONFIGURE:= \ 
     57GLIBC_CONFIGURE:= \ 
    5058        BUILD_CC="$(HOSTCC)" \ 
    5159        $(TARGET_CONFIGURE_OPTS) \ 
     
    5361        libc_cv_slibdir="/lib" \ 
    5462        use_ldconfig=no \ 
    55         $(HOST_BUILD_DIR)/libc/configure \ 
     63        $(HOST_BUILD_DIR)/$(GLIBC_PATH)configure \ 
    5664                --prefix= \ 
    5765                --build=$(GNU_HOST_NAME) \ 
     
    5967                --with-headers=$(TOOLCHAIN_DIR)/include \ 
    6068                --disable-profile \ 
     69                --disable-werror \ 
    6170                --without-gd \ 
    6271                --without-cvs \ 
     
    7079define Host/SetToolchainInfo 
    7180        $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk 
     81ifneq ($(CONFIG_GLIBC_VERSION_2_21),) 
     82        $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.gnu.org/software/libc/,' $(TOOLCHAIN_DIR)/info.mk 
     83else 
    7284        $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.eglibc.org/,' $(TOOLCHAIN_DIR)/info.mk 
     85endif 
    7386        $(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
    7487        $(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
     
    7790define Host/Configure 
    7891        [ -f $(HOST_BUILD_DIR)/.autoconf ] || { \ 
    79                 cd $(HOST_BUILD_DIR)/libc; \ 
     92                cd $(HOST_BUILD_DIR)/$(GLIBC_PATH); \ 
    8093                autoconf --force && \ 
    8194                touch $(HOST_BUILD_DIR)/.autoconf; \ 
     
    8497        grep 'CONFIG_EGLIBC_OPTION_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_EGLIBC_\\(.*\\),\\1\\2,g" > $(CUR_BUILD_DIR)/option-groups.config 
    8598        ( cd $(CUR_BUILD_DIR); rm -f config.cache; \ 
    86                 $(EGLIBC_CONFIGURE) \ 
     99                $(GLIBC_CONFIGURE) \ 
    87100        ); 
    88101endef 
     
    91104        $(call Host/Prepare/Default) 
    92105        ln -snf $(PKG_SOURCE_SUBDIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) 
     106ifeq ($(CONFIG_GLIBC_VERSION_2_21),) 
    93107        $(SED) 's,y,n,' $(HOST_BUILD_DIR)/libc/option-groups.defaults 
    94108ifneq ($(CONFIG_EGLIBC_VERSION_2_15),) 
    95109        ln -sf ../ports $(HOST_BUILD_DIR)/libc/ 
     110endif 
    96111endif 
    97112endef 
  • trunk/toolchain/glibc/patches/2.21/100-fix_cross_rpcgen.patch

    r44700 r44701  
    1 --- a/libc/sunrpc/rpc/types.h 
    2 +++ b/libc/sunrpc/rpc/types.h 
     1--- a/sunrpc/rpc/types.h 
     2+++ b/sunrpc/rpc/types.h 
    33@@ -75,18 +75,23 @@ typedef unsigned long rpcport_t; 
    44 #endif 
     
    3535 #endif 
    3636  
    37 --- a/libc/sunrpc/rpc_main.c 
    38 +++ b/libc/sunrpc/rpc_main.c 
     37--- a/sunrpc/rpc_main.c 
     38+++ b/sunrpc/rpc_main.c 
    3939@@ -958,9 +958,10 @@ mkfile_output (struct commandline *cmd) 
    4040        abort (); 
  • trunk/toolchain/glibc/patches/2.21/200-add-dl-search-paths.patch

    r44700 r44701  
    11add /usr/lib to default search path for the dynamic linker 
    22 
    3 --- a/libc/Makeconfig 
    4 +++ b/libc/Makeconfig 
     3--- a/Makeconfig 
     4+++ b/Makeconfig 
    55@@ -501,6 +501,9 @@ else 
    66 default-rpath = $(libdir) 
Note: See TracChangeset for help on using the changeset viewer.