X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fdedeckeh.git;a=blobdiff_plain;f=toolchain%2Fglibc%2Fcommon.mk;h=41ee989b14d365a2289d7a6ff83a515936bed041;hp=052050576a041cbd4c360d7f8e418a8fd485b388;hb=1ec6e7837eb6092400b499463a29375dc7738eb6;hpb=f6e4badfe4146c732fd3a1529cf6b1b270ea6ea3 diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index 052050576a..41ee989b14 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2011 OpenWrt.org +# Copyright (C) 2006-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,27 +7,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=glibc -PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION)) -PKG_REVISION:=$(call qstrip,$(CONFIG_GLIBC_REVISION)) +PKG_VERSION:=2.27 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://sourceware.org/git/glibc.git -PKG_SOURCE_VERSION:=$(PKG_REVISION) -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-r$(PKG_REVISION) -PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 - -GLIBC_PATH:= -ifneq ($(CONFIG_EGLIBC_VERSION_2_19),) - GLIBC_PATH:=libc/ - PKG_SOURCE_PROTO:=svn - PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 - PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_19 -endif - -PATCH_DIR:=$(PATH_PREFIX)/patches/$(PKG_VERSION) +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=bef0b1cb31bed76a355776154af9191ed1758222 +PKG_MIRROR_HASH:=24a137758acdc0d8c5254891204ba38d759838123bab09a64ec0bdb94289aafd +PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_SOURCE_SUBDIR) CUR_BUILD_DIR:=$(HOST_BUILD_DIR)-$(VARIANT) +PATCH_DIR:=$(PATH_PREFIX)/patches include $(INCLUDE_DIR)/toolchain-build.mk @@ -48,10 +39,15 @@ ifeq ($(ARCH),mips64) endif endif + +# -Os miscompiles w. 2.24 gcc5/gcc6 +# only -O2 tested by upstream changeset +# "Optimize i386 syscall inlining for GCC 5" GLIBC_CONFIGURE:= \ + unset LD_LIBRARY_PATH; \ BUILD_CC="$(HOSTCC)" \ $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS)" \ + CFLAGS="-O2 $(filter-out -Os,$(call qstrip,$(TARGET_CFLAGS)))" \ libc_cv_slibdir="/lib" \ use_ldconfig=no \ $(HOST_BUILD_DIR)/$(GLIBC_PATH)configure \ @@ -67,28 +63,24 @@ GLIBC_CONFIGURE:= \ --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp export libc_cv_ssp=no +export libc_cv_ssp_strong=no export ac_cv_header_cpuid_h=yes export HOST_CFLAGS := $(HOST_CFLAGS) -idirafter $(CURDIR)/$(PATH_PREFIX)/include define Host/SetToolchainInfo $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk -ifneq ($(CONFIG_GLIBC_VERSION_2_21),) $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.gnu.org/software/libc/,' $(TOOLCHAIN_DIR)/info.mk -else - $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.eglibc.org/,' $(TOOLCHAIN_DIR)/info.mk -endif $(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 Host/Configure [ -f $(HOST_BUILD_DIR)/.autoconf ] || { \ - cd $(HOST_BUILD_DIR)/$(GLIBC_PATH); \ + cd $(HOST_BUILD_DIR)/; \ autoconf --force && \ touch $(HOST_BUILD_DIR)/.autoconf; \ } mkdir -p $(CUR_BUILD_DIR) - grep 'CONFIG_EGLIBC_OPTION_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_EGLIBC_\\(.*\\),\\1\\2,g" > $(CUR_BUILD_DIR)/option-groups.config ( cd $(CUR_BUILD_DIR); rm -f config.cache; \ $(GLIBC_CONFIGURE) \ ); @@ -97,9 +89,6 @@ endef define Host/Prepare $(call Host/Prepare/Default) ln -snf $(PKG_SOURCE_SUBDIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) -ifeq ($(CONFIG_GLIBC_VERSION_2_21)$(CONFIG_GLIBC_VERSION_2_22),) - $(SED) 's,y,n,' $(HOST_BUILD_DIR)/libc/option-groups.defaults -endif endef define Host/Clean