82625374ee
new features: - priority-inheritance mutexes - membarrier syscall, pre-registration to use it, fallback emulation - header-level support for new linux features in 4.19, 4.20, 5.0 major internal changes: - complete, async-safe view of all existent threads as global list - robust __synccall based on new thread list - new dynamic TLS is installed synchronously at dlopen - TLSDESC resolver functions no longer make bad ABI assumptions to call C - resolved shared library dependencies are now recorded compatibility & conformance: - dependency-order shared library constructor execution - sigaltstack no longer rejects SS_AUTODISARM, future flags - FILE is now a complete (dummy) type in pre-C11 feature profiles - setvbuf reports failure on invalid arguments - TSVTX is exposed unconditionally in tar.h - multithreaded set*id() no longer depends on /proc - key slot reuse after pthread_key_delete no longer depends on /proc bugs fixed: - failures in multithreaded set*id() with concurrent thread creation/exit - interposed free was called from invalid/inconsistent contexts - freeaddrinfo performed invalid free of some partial results lists - dlsym dependency order search had false negatives and false positives - dn_skipname gave wrong results for labels with 8-bit content - dcngettext clobbered errno, often breaking printing of error messages - sscanf read past end of buffer under certain conditions (1.1.21 regression) - pthread_key_create spuriously failed under race condition (1.1.21 regression) - fdopendir wrongly succeeded with O_PATH file descriptors - gets behaved incorrectly in presence of null bytes - namespace violations in c11 tsd and mutex function dependencies - incorrect prototype for makecontext (unimplemented) arch-specfic bugs fixed: - s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE Extensively tested on dozens of devices, covering most popular architectures. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Dainis Jonitis <dainis.jonitis@ubnt.com> Signed-off-by: Roman Yeryomin <roman@advem.lv>
59 lines
1.6 KiB
Makefile
59 lines
1.6 KiB
Makefile
#
|
|
# Copyright (C) 2012-2013 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/target.mk
|
|
|
|
PKG_NAME:=musl
|
|
PKG_VERSION:=1.1.22
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
PKG_SOURCE_VERSION:=e97681d6f2c44bf5fa9ecdd30607cb63c780062e
|
|
PKG_MIRROR_HASH:=a6655418698735e19fe1c2deffb7335bbda634385c636206dd3cd5c8194a3ce0
|
|
PKG_SOURCE_URL:=git://git.musl-libc.org/musl
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
|
|
|
|
LIBC_SO_VERSION:=$(PKG_VERSION)
|
|
PATCH_DIR:=$(PATH_PREFIX)/patches
|
|
|
|
BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
|
|
HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR)
|
|
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
include $(INCLUDE_DIR)/hardening.mk
|
|
|
|
TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS))
|
|
TARGET_CFLAGS+= $(if $(CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK),,-DCRYPT_SIZE_HACK)
|
|
|
|
MUSL_CONFIGURE:= \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
CFLAGS="$(TARGET_CFLAGS)" \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
$(HOST_BUILD_DIR)/configure \
|
|
--prefix=/ \
|
|
--host=$(GNU_HOST_NAME) \
|
|
--target=$(REAL_GNU_TARGET_NAME) \
|
|
--disable-gcc-wrapper \
|
|
--enable-debug \
|
|
--enable-optimize
|
|
|
|
define Host/Configure
|
|
ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
|
|
( cd $(HOST_BUILD_DIR); rm -f config.cache; \
|
|
$(MUSL_CONFIGURE) \
|
|
);
|
|
endef
|
|
|
|
define Host/Clean
|
|
rm -rf \
|
|
$(HOST_BUILD_DIR) \
|
|
$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) \
|
|
$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev
|
|
endef
|