From patchwork Sun Jul 29 12:50:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Lamparter X-Patchwork-Id: 950575 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41djHz0zgsz9s0w for ; Sun, 29 Jul 2018 22:51:17 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=tQTn/01z45x3hfBU2CibdZvocqCgmPyWgQchPqYev/I=; b=cx7Sz/xF9tL3OZ4uoV1u/bBSvn GIdWo0VrdNx7rMzI3Ww/8vEHqUSGfjgvTRJbOInML41uHxGqRi34IgwqPyCDHukvBNSuCM/nnXajh QMOB60m6VIAAxTp5QdUGh100YNO5hUN0C3VJt9Yjf8vqLA39oOYlGE8pbvPe/pux7cuFG614JMwOV ogUA/W4QBt/uQAnWNbpOPClL0bzU1XeL00rH9M+Lkxww/WY6GxgbeidzYNH/wzGTBJS3FMGpiD8tv +A2pptS7yob3LP12jHrECJmjWaBRTScHxepttVYSfr/PDZ0k1XWyBbRYBAm0/4jXVtPU6eiY2yNuq /kuCpJvA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fjlA5-0000yW-DR; Sun, 29 Jul 2018 12:51:01 +0000 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fjlA1-0000xk-J7 for openwrt-devel@lists.openwrt.org; Sun, 29 Jul 2018 12:50:59 +0000 Received: by mail-wr1-x443.google.com with SMTP id g6-v6so9786047wrp.0 for ; Sun, 29 Jul 2018 05:50:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=hWnr363ymifKRRBUCUBUJp91WRHgs/q3G+Kl6yYZFz8=; b=IAvfTdrKk1byzjo0kFVF5FWy0TwxKLVdZGF0Wg2aC4DbsHTxij7s7KvHkjFGWCSCA8 QS6e5SWKHXs7Cx6eBcyryWq8m4/Cgvme63veUhewuBPHFb1kZ8SvzFlyjXszUwv8b6pR 4NOiYjTJa/IM230ZVItZaeTXr6Ita+VWLUpoZuZj7KfkeMbsl1Kpt4bY+dv8ZIguWBYT tQycQt+DzJ9S02KDRxwi7vUgKa8WXV6A6+nQzjsOPF4uQZjXe/19BWI8c+oSvI7vQ4DI hSzoJqDdE7pJeeCSLCVGUo6btUDC0KEaK3Zw3VeGHv8nHvP49aJlNsoSVJsWNgagqMGF Ya+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=hWnr363ymifKRRBUCUBUJp91WRHgs/q3G+Kl6yYZFz8=; b=Iez+RKZfiFmqJX6jH8pkFBxdA7z4Cc+iFQ3jQS+z+oO9X2O3om7GRehBtMnVDF4aR5 2fWyPAqFDHWzKH8tZSRdJHbCqjckFHifEzJEgiX/rDltL9Vd7jIndpPq324lBueZ927g rp4e/P+61JWzGNcSO25E9/M25smr1CZ68bVZart2tyKf8ub0grwVIN3Z4ON7/HhaE56s ZxyTRVNzPGsMG2oQlUqM9JSauye8sDZZlKQtRFdFWJU1tlvE80us2yhaFpwEe+PWNGUd Nb5JFURbCDydwQU79oB7rdqqeM33Ls6FYPqQUd/OATmgSMpDQVKMqOMGJoANwRxiCvgQ bgSQ== X-Gm-Message-State: AOUpUlGUMG+iEHKSU+jc8sUp1r0C67JpdFqz+rZKeQjnxWIScVxucEA8 ljtdobwtEuOF28vmsTUanYlO4F3U X-Google-Smtp-Source: AAOMgpdHrkftm4P3BzKvTeUbSDFAIOAeWOySEa/h5m53EuY8hf7VVLVrWwblUq0nF35S39SMgf4hKA== X-Received: by 2002:a5d:4cc5:: with SMTP id c5-v6mr13631147wrt.210.1532868645469; Sun, 29 Jul 2018 05:50:45 -0700 (PDT) Received: from debian64.daheim (p4FD0975D.dip0.t-ipconnect.de. [79.208.151.93]) by smtp.gmail.com with ESMTPSA id v23-v6sm8100204wrd.11.2018.07.29.05.50.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 29 Jul 2018 05:50:44 -0700 (PDT) Received: from chuck by debian64.daheim with local (Exim 4.91) (envelope-from ) id 1fjl9o-0006ti-C0; Sun, 29 Jul 2018 14:50:44 +0200 From: Christian Lamparter To: musl@lists.openwall.com, openwrt-devel@lists.openwrt.org Date: Sun, 29 Jul 2018 14:50:44 +0200 Message-Id: <20180729125044.26471-1-chunkeey@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180728195537.GZ1392@brightrain.aerifal.cx> References: <20180728195537.GZ1392@brightrain.aerifal.cx> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180729_055057_673153_3FDA95EC X-CRM114-Status: GOOD ( 15.74 ) X-Spam-Score: -0.1 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-0.1 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:443 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (chunkeey[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature Subject: [OpenWrt-Devel] [RFC/RFT] musl: 1.1.20 prelease testing X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Rich Felker requested some field testing of his 1.1.20 release: "The biggest areas that need testing are: - stdio locking after commits c21f750727515602a9e84f2a190ee8a0a2aeb2a1 and c1014a812c90bab3c9c989863e4ebb129e987de6. - reclaim_gaps since commit ce7ae11acfd9db8eb92cc6823c132e1825918d92. this could be tested by abusing __malloc_donate as if it were a public api. - malloc interposition -- seeing if replacement allocators actually work. (not so important since it wouldn't be a regression if it's broken, but would be nice to know it works before announcing)" "In particular, coverage for changes since 1.1.19 would include: - getrandom/getentropy basic functionality check - setvbuf non-stub inplementation: basic functionality, check for writes outside the buffer, etc. - malloc interposition: check that partial replacement doesn't result in unsafe behavior. - pthread_create: confirm that scheduling and other attributes still work as expected after refactoring work. - getddrinfo AI_ADDRCONFIG (can't really be tested without network namespaces though) Particular bugfixes that call for functionality or regression tests: b123f23 fix getopt wrongly treating colons in optstring as valid option chars 0cf5058 fix nl_langinfo_l(CODESET, loc) reporting wrong locale's value 282b1cd fix fmaf wrong result ae2a01d fix wrong result in casin and many related complex functions 10e4bd3 fix incorrect results for catan with some inputs 4bf0717 fix return value of nice function 3f6dc30 fix out of bounds write for zero length buffer in gethostname 9be4ed5 getopt_long_only: don't prefix-match long-options that match short ones 55a661f fix iconv buffer overflow converting to legacy JIS-based encodings 99f4237 fix iconv conversion to UTF-32 with implicit (big) endianness 165a1e3 fix iconv mapping of big5-hkscs characters that map to two unicode chars 029c622 fix output size handling for multi-unicode-char big5-hkscs characters 5c8e692 inet_ntop: do not compress single zeros in IPv6 8b8fb7f correctly handle non-matching symbols in dladdr 9cad27a fix writes outside buffer by ungetc after setvbuf b3fa0f2 fix regression in alignment of dirent structs produced by readdir" Signed-off-by: Christian Lamparter --- toolchain/musl/common.mk | 6 +- ...ocket.h-fix-SO_PEERSEC-value-on-MIPS.patch | 59 ------------------- .../patches/200-add_libssp_nonshared.patch | 39 ++++++------ toolchain/musl/patches/300-relative.patch | 2 +- ...ribute-to-some-function-declarations.patch | 8 +-- .../musl/patches/900-iconv_size_hack.patch | 6 +- 6 files changed, 32 insertions(+), 88 deletions(-) delete mode 100644 toolchain/musl/patches/010-sys-socket.h-fix-SO_PEERSEC-value-on-MIPS.patch diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk index 87424646c3..3d58439a01 100644 --- a/toolchain/musl/common.mk +++ b/toolchain/musl/common.mk @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk PKG_NAME:=musl -PKG_VERSION:=1.1.19 +PKG_VERSION:=1.1.20-pre PKG_RELEASE=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=55df09bfccbfe21fc9dd7d8f94550c0ff25ace04 -PKG_MIRROR_HASH:=eb94e4e7e94221dd8890afd9b29e2562c36cf5585649035349ca1c6c1c354f2b +PKG_SOURCE_VERSION:=f2c6dbe2442027ed8fe0fa869918e41f495534d8 +PKG_MIRROR_HASH:=2ec8320cea2c560c9e9a01f7e3b8681f0113b380838194bcdf90562a38c847e4 PKG_SOURCE_URL:=git://git.musl-libc.org/musl PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz diff --git a/toolchain/musl/patches/010-sys-socket.h-fix-SO_PEERSEC-value-on-MIPS.patch b/toolchain/musl/patches/010-sys-socket.h-fix-SO_PEERSEC-value-on-MIPS.patch deleted file mode 100644 index 2319d9cb68..0000000000 --- a/toolchain/musl/patches/010-sys-socket.h-fix-SO_PEERSEC-value-on-MIPS.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 4e0877a604bad684be020f68e96a05156131fd44 Mon Sep 17 00:00:00 2001 -From: Matthias Schiffer -Date: Sun, 24 Jun 2018 17:05:31 +0200 -Subject: [PATCH] sys/socket.h: fix SO_PEERSEC value on MIPS - -Differing from all other archs supported by musl, MIPS defines SO_PEERSEC -to 30 instead of 31. - -Reported-by: Andrey Jr. Mlenikov ---- - arch/mips/bits/socket.h | 2 ++ - arch/mips64/bits/socket.h | 2 ++ - arch/mipsn32/bits/socket.h | 2 ++ - include/sys/socket.h | 3 +++ - 4 files changed, 9 insertions(+) - ---- a/arch/mips/bits/socket.h -+++ b/arch/mips/bits/socket.h -@@ -48,5 +48,7 @@ struct cmsghdr { - #define SO_SNDBUFFORCE 31 - #define SO_RCVBUFFORCE 33 - -+#define SO_PEERSEC 30 -+ - #define SOCK_NONBLOCK 0200 - #define SOCK_CLOEXEC 02000000 ---- a/arch/mips64/bits/socket.h -+++ b/arch/mips64/bits/socket.h -@@ -64,5 +64,7 @@ struct cmsghdr { - #define SO_SNDBUFFORCE 31 - #define SO_RCVBUFFORCE 33 - -+#define SO_PEERSEC 30 -+ - #define SOCK_NONBLOCK 0200 - #define SOCK_CLOEXEC 02000000 ---- a/arch/mipsn32/bits/socket.h -+++ b/arch/mipsn32/bits/socket.h -@@ -48,5 +48,7 @@ struct cmsghdr { - #define SO_SNDBUFFORCE 31 - #define SO_RCVBUFFORCE 33 - -+#define SO_PEERSEC 30 -+ - #define SOCK_NONBLOCK 0200 - #define SOCK_CLOEXEC 02000000 ---- a/include/sys/socket.h -+++ b/include/sys/socket.h -@@ -201,7 +201,10 @@ struct linger { - #define SO_TIMESTAMP 29 - #define SCM_TIMESTAMP SO_TIMESTAMP - -+#ifndef SO_PEERSEC - #define SO_PEERSEC 31 -+#endif -+ - #define SO_PASSSEC 34 - #define SO_TIMESTAMPNS 35 - #define SCM_TIMESTAMPNS SO_TIMESTAMPNS diff --git a/toolchain/musl/patches/200-add_libssp_nonshared.patch b/toolchain/musl/patches/200-add_libssp_nonshared.patch index 7a2909461b..b8fa7b4b4f 100644 --- a/toolchain/musl/patches/200-add_libssp_nonshared.patch +++ b/toolchain/musl/patches/200-add_libssp_nonshared.patch @@ -4,11 +4,6 @@ Date: Mon, 22 Jun 2015 11:01:56 +0200 Subject: [PATCH] Add libssp_nonshared.a so GCC's is not needed Signed-off-by: Steven Barth ---- - Makefile | 10 ++++++++-- - libssp_nonshared/__stack_chk_fail_local.c | 2 ++ - 2 files changed, 10 insertions(+), 2 deletions(-) - create mode 100644 libssp_nonshared/__stack_chk_fail_local.c --- a/Makefile +++ b/Makefile @@ -21,21 +16,29 @@ Signed-off-by: Steven Barth ALL_TOOLS = obj/musl-gcc WRAPCC_GCC = gcc -@@ -125,7 +125,8 @@ NOSSP_SRCS = $(wildcard crt/*.c) \ - src/thread/__set_thread_area.c src/thread/$(ARCH)/__set_thread_area.c \ - src/string/memset.c src/string/$(ARCH)/memset.c \ - src/string/memcpy.c src/string/$(ARCH)/memcpy.c \ -- ldso/dlstart.c ldso/dynlink.c -+ ldso/dlstart.c ldso/dynlink.c \ -+ src/libssp_nonshared/__stack_chk_fail_local.c - $(NOSSP_SRCS:%.c=obj/%.o) $(NOSSP_SRCS:%.c=obj/%.lo): CFLAGS_ALL += $(CFLAGS_NOSSP) - - $(CRT_OBJS): CFLAGS_ALL += -DCRT -@@ -168,6 +169,11 @@ lib/libc.a: $(AOBJS) +@@ -86,7 +86,7 @@ else + + all: $(ALL_LIBS) $(ALL_TOOLS) + +-OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(ALL_OBJS) $(GENH) $(GENH_INT))) obj/include) ++OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(ALL_OBJS) $(GENH) $(GENH_INT))) obj/include obj/libssp_nonshared) + + $(ALL_LIBS) $(ALL_TOOLS) $(ALL_OBJS) $(ALL_OBJS:%.o=%.lo) $(GENH) $(GENH_INT): | $(OBJ_DIRS) + +@@ -113,6 +113,8 @@ obj/crt/rcrt1.o: $(srcdir)/ldso/dlstart. + + obj/crt/Scrt1.o obj/crt/rcrt1.o: CFLAGS_ALL += -fPIC + ++obj/libssp_nonshared/__stack_chk_fail_local.o: CFLAGS_ALL += $(CFLAGS_NOSSP) ++ + OPTIMIZE_SRCS = $(wildcard $(OPTIMIZE_GLOBS:%=$(srcdir)/src/%)) + $(OPTIMIZE_SRCS:$(srcdir)/%.c=obj/%.o) $(OPTIMIZE_SRCS:$(srcdir)/%.c=obj/%.lo): CFLAGS += -O3 + +@@ -165,6 +166,11 @@ lib/libc.a: $(AOBJS) $(AR) rc $@ $(AOBJS) $(RANLIB) $@ -+lib/libssp_nonshared.a: obj/src/libssp_nonshared/__stack_chk_fail_local.o ++lib/libssp_nonshared.a: obj/libssp_nonshared/__stack_chk_fail_local.o + rm -f $@ + $(AR) rc $@ $< + $(RANLIB) $@ @@ -44,7 +47,7 @@ Signed-off-by: Steven Barth rm -f $@ $(AR) rc $@ --- /dev/null -+++ b/src/libssp_nonshared/__stack_chk_fail_local.c ++++ b/libssp_nonshared/__stack_chk_fail_local.c @@ -0,0 +1,2 @@ +#include "atomic.h" +void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { a_crash(); } diff --git a/toolchain/musl/patches/300-relative.patch b/toolchain/musl/patches/300-relative.patch index 7e1eb7d6bc..e34e60a09d 100644 --- a/toolchain/musl/patches/300-relative.patch +++ b/toolchain/musl/patches/300-relative.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -217,7 +217,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/inc +@@ -215,7 +215,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/inc $(INSTALL) -D -m 644 $< $@ $(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(libdir)/libc.so diff --git a/toolchain/musl/patches/400-Add-format-attribute-to-some-function-declarations.patch b/toolchain/musl/patches/400-Add-format-attribute-to-some-function-declarations.patch index 915b0b7b47..f7eff9141f 100644 --- a/toolchain/musl/patches/400-Add-format-attribute-to-some-function-declarations.patch +++ b/toolchain/musl/patches/400-Add-format-attribute-to-some-function-declarations.patch @@ -102,7 +102,7 @@ Signed-off-by: Hauke Mehrtens #ifdef __cplusplus #define NULL 0L #else -@@ -102,19 +110,19 @@ int puts(const char *); +@@ -103,19 +111,19 @@ int puts(const char *); int printf(const char *__restrict, ...); int fprintf(FILE *__restrict, const char *__restrict, ...); int sprintf(char *__restrict, const char *__restrict, ...); @@ -127,7 +127,7 @@ Signed-off-by: Hauke Mehrtens void perror(const char *); -@@ -135,8 +143,8 @@ int pclose(FILE *); +@@ -136,8 +144,8 @@ int pclose(FILE *); int fileno(FILE *); int fseeko(FILE *, off_t, int); off_t ftello(FILE *); @@ -138,7 +138,7 @@ Signed-off-by: Hauke Mehrtens void flockfile(FILE *); int ftrylockfile(FILE *); void funlockfile(FILE *); -@@ -175,8 +183,8 @@ int fileno_unlocked(FILE *); +@@ -176,8 +184,8 @@ int fileno_unlocked(FILE *); int getw(FILE *); int putw(int, FILE *); char *fgetln(FILE *, size_t *); @@ -149,7 +149,7 @@ Signed-off-by: Hauke Mehrtens #endif #ifdef _GNU_SOURCE -@@ -198,6 +206,9 @@ typedef struct _IO_cookie_io_functions_t +@@ -199,6 +207,9 @@ typedef struct _IO_cookie_io_functions_t FILE *fopencookie(void *, const char *, cookie_io_functions_t); #endif diff --git a/toolchain/musl/patches/900-iconv_size_hack.patch b/toolchain/musl/patches/900-iconv_size_hack.patch index 6200262b1d..461a204a4c 100644 --- a/toolchain/musl/patches/900-iconv_size_hack.patch +++ b/toolchain/musl/patches/900-iconv_size_hack.patch @@ -56,7 +56,7 @@ case SHIFT_JIS: if (c < 128) break; if (c-0xa1 <= 0xdf-0xa1) { -@@ -510,6 +517,7 @@ size_t iconv(iconv_t cd, char **restrict +@@ -518,6 +525,7 @@ size_t iconv(iconv_t cd, char **restrict c = ksc[c][d]; if (!c) goto ilseq; break; @@ -64,7 +64,7 @@ default: if (!c) break; c = legacy_map(map, c); -@@ -550,6 +558,7 @@ size_t iconv(iconv_t cd, char **restrict +@@ -559,6 +567,7 @@ size_t iconv(iconv_t cd, char **restrict } } goto subst; @@ -72,7 +72,7 @@ case SHIFT_JIS: if (c < 128) goto revout; if (c == 0xa5) { -@@ -623,6 +632,7 @@ size_t iconv(iconv_t cd, char **restrict +@@ -632,6 +641,7 @@ size_t iconv(iconv_t cd, char **restrict *(*out)++ = 'B'; *outb -= 8; break;