glibc: update to latest 2.31 commit [BZ #19519 BZ #26332 BZ #26248]
[openwrt/staging/stintel.git] / toolchain / glibc / common.mk
index 4de9905f34920e25ad3af063523ca94974c9be9a..6b3f15b1291b12c48f6725ff53fc47b184068782 100644 (file)
@@ -1,40 +1,25 @@
 #
-# Copyright (C) 2006-2016 OpenWrt.org
+# Copyright (C) 2006-2020 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
 include $(TOPDIR)/rules.mk
 
-
-MD5SUM_2.19 = 42dad4edd3bcb38006d13b5640b00b38
-REVISION_2.19 = 25243
-
-MD5SUM_2.21 = 76050a65c444d58b5c4aa0d6034736ed
-REVISION_2.21 = 16d0a0c
-
-MD5SUM_2.22 = b575850e77b37d70f96472285290b391
-REVISION_2.22 = b995d95
-
-
 PKG_NAME:=glibc
-PKG_VERSION:=$(call qstrip,$(CONFIG_GLIBC_VERSION))
-
-PKG_REVISION:=$(REVISION_$(PKG_VERSION))
-PKG_MIRROR_MD5SUM:=$(MD5SUM_$(PKG_VERSION))
+PKG_VERSION:=2.31
+PKG_RELEASE:=1
 
 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)-$(PKG_REVISION)
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2
-
-GLIBC_PATH:=
-
-PATCH_DIR:=$(PATH_PREFIX)/patches/$(PKG_VERSION)
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=6fdf971c9dbf7dac9bea552113fe4694015bbc4d
+PKG_MIRROR_HASH:=80998023c237bd0eaa38554e18536d8f66223e97fc5ade015a2d2aadf587d1f0
+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
 
@@ -55,10 +40,14 @@ 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 \
@@ -71,9 +60,13 @@ GLIBC_CONFIGURE:= \
                --without-gd \
                --without-cvs \
                --enable-add-ons \
-               --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp
+               --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \
+                 $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \
+                 $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \
+               --enable-kernel=4.14.0
 
 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
 
@@ -86,7 +79,7 @@ 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; \
        }