openwrt/toolchain/glibc/common.mk

103 lines
3.1 KiB
Makefile
Raw Normal View History

#
# 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
PKG_NAME:=glibc
PKG_VERSION:=2.34
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
toolchain: Update glibc 2.34 to recent HEAD This adds the following changes: a88f07f71f stdlib: Remove attr_write from mbstows if dst is NULL [BZ: 29265] 4bc889c01c stdlib: Fixup mbstowcs NULL __dst handling. [BZ #29279] 1fcc7bfee2 alpha: Fix generic brk system call emulation in __brk_call (bug 29490) 68507377f2 socket: Check lengths before advancing pointer in CMSG_NXTHDR 536ddc5c02 elf: Call __libc_early_init for reused namespaces (bug 29528) 2a44960cbc Apply asm redirections in stdio.h before first use [BZ #27087] b41c535f46 Apply asm redirections in wchar.h before first use 2b3d020055 nscd: Fix netlink cache invalidation if epoll is used [BZ #29415] bc5cb538e5 elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere 2ff6775ad3 elf: Fix hwcaps string size overestimation f50a6c843a gconv: Use 64-bit interfaces in gconv_parseconfdir (bug 29583) 1a3afdfe31 resolv: Add tst-resolv-byaddr for testing reverse lookup 6a833d798e resolv: Add tst-resolv-aliases 4d2e67d6e5 resolv: Add internal __res_binary_hnok function bb8adbba4f resolv: Add the __ns_samebinaryname function c288e032ae resolv: Add internal __ns_name_length_uncompressed function e7c03f4765 resolv: Add DNS packet parsing helpers geared towards wire format d9c979abf9 nss_dns: Split getanswer_ptr from getanswer_r 32e5db3768 nss_dns: Rewrite _nss_dns_gethostbyaddr2_r and getanswer_ptr 7267341ec1 nss_dns: Remove remnants of IPv6 address mapping 9abc40d9b5 nss_dns: Rewrite getanswer_r to match getanswer_ptr (bug 12154, bug 29305) c36e7cca35 nss_dns: In gaih_getanswer_slice, skip strange aliases (bug 12154) 480c820493 resolv: Add new tst-resolv-invalid-cname 2def56a349 nss_dns: Rewrite _nss_dns_gethostbyname4_r using current interfaces 044755e2fa resolv: Fix building tst-resolv-invalid-cname for earlier C standards a2e259014f Avoid extra load with CAS in __pthread_mutex_lock_full [BZ #28537] ed8300c054 Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537] a6b81f605d Add LLL_MUTEX_READ_LOCK [BZ #28537] 6bcfbee727 Move assignment out of the CAS condition 43760d33d7 nptl: Effectively skip CAS in spinlock loop 04efdcfac4 sysdeps: Add 'get_fast_jitter' interace in fast-jitter.h ea69248445 nptl: Add backoff mechanism to spinlock loop 95f5089d4a x86: include BMI1 and BMI2 in x86-64-v3 level 414fc856ff x86-64: Require BMI2 for AVX2 str(n)casecmp implementations e1561d8cf0 x86-64: Require BMI2 for AVX2 strcmp implementation b9cbb8dd48 x86-64: Require BMI2 for AVX2 strncmp implementation 67e863742d x86-64: Require BMI2 for AVX2 wcs(n)cmp implementations 94b9c1b640 x86-64: Require BMI2 for AVX2 (raw|w)memchr implementations 36d6b9be3d x86-64: Require BMI2 and LZCNT for AVX2 memrchr implementation e570b865b5 x86-64: Require BMI1/BMI2 for AVX2 strrchr and wcsrchr implementations e3976287b2 nscd: Drop local address tuple variable [BZ #29607] c95ef423d7 nss: Implement --no-addrconfig option for getent 16c7ed6e68 nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816) d5313bcb7e nss: Use shared prefix in IPv4 address in tst-reload1 9f55d2e7c4 elf: Do not completely clear reused namespace in dlmopen (bug 29600) ca5df79545 linux: Fix generic struct_stat for 64 bit time (BZ# 29657) f42d871b22 Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 [BZ# 29564] 675ba1f361 mktime: improve heuristic for ca-1986 Indiana DST 6e8044e910 Fix memmove call in vfprintf-internal.c:group_number 291d440206 Allow #pragma GCC in headers in conformtest 86a701a204 regex: copy back from Gnulib fa5044f1e3 regex: fix buffer read overrun in search [BZ#28470] 06afa5e09f io: Fix ftw internal realloc buffer (BZ #28126) deea6ab1bc io: Fix use-after-free in ftw [BZ #26779] d57cdc1b5a Linux: Support __IPC_64 in sysvctl *ctl command arguments (bug 29771) 75b0edb7ef Update NEWS file in the right place 691f70b84a elf: Fix rtld-audit trampoline for aarch64 e3255e7d21 x86: Fix wcsnlen-avx2 page cross length comparison [BZ #29591] 309c4708ac elf: Fix wrong fscanf usage on tst-pldd 42b9d7def8 Allow for unpriviledged nested containers 405b8ae135 elf: Fix wrong fscanf usage on tst-pldd a1c12fdf3f _Static_assert needs two arguments for compatibility with GCC before 9 a4217408a3 Apply asm redirections in syslog.h before first use [BZ #27087] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-12-21 13:25:46 +00:00
PKG_SOURCE_VERSION:=a4217408a3d6050a7f42ac23adb6ac7218dca85f
PKG_MIRROR_HASH:=3c8b0a515587a5d92d242f63355fed4e92a4fbcabdea213c62282e7d364ec485
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
HOST_STAMP_PREPARED:=$(HOST_BUILD_DIR)/.prepared
HOST_STAMP_CONFIGURED:=$(CUR_BUILD_DIR)/.configured
HOST_STAMP_BUILT:=$(CUR_BUILD_DIR)/.built
HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.glibc_$(VARIANT)_installed
ifeq ($(ARCH),mips64)
ifdef CONFIG_MIPS64_ABI_N64
TARGET_CFLAGS += -mabi=64
endif
ifdef CONFIG_MIPS64_ABI_N32
TARGET_CFLAGS += -mabi=n32
endif
ifdef CONFIG_MIPS64_ABI_O32
TARGET_CFLAGS += -mabi=32
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="-O2 $(filter-out -Os,$(call qstrip,$(TARGET_CFLAGS)))" \
libc_cv_slibdir="/lib" \
use_ldconfig=no \
$(HOST_BUILD_DIR)/$(GLIBC_PATH)configure \
--prefix= \
--build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
--with-headers=$(TOOLCHAIN_DIR)/include \
--disable-profile \
--disable-werror \
--without-gd \
--without-cvs \
--enable-add-ons \
--$(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) \
$(if $(CONFIG_PKG_RELRO_FULL),--enable-bind-now) \
--enable-kernel=5.4.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
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 Host/Configure
[ -f $(HOST_BUILD_DIR)/.autoconf ] || { \
cd $(HOST_BUILD_DIR)/; \
autoconf --force && \
touch $(HOST_BUILD_DIR)/.autoconf; \
}
mkdir -p $(CUR_BUILD_DIR)
( cd $(CUR_BUILD_DIR); rm -f config.cache; \
$(GLIBC_CONFIGURE) \
);
endef
define Host/Prepare
$(call Host/Prepare/Default)
ln -snf $(PKG_SOURCE_SUBDIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
endef
define Host/Clean
rm -rf $(CUR_BUILD_DIR)* \
$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev \
$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
endef