Message ID | adf4aca4518bd090a675462bc57f889e178a667c.1536096075.git.chunkeey@gmail.com |
---|---|
State | Accepted |
Delegated to: | Koen Vandeputte |
Headers | show |
Series | [OpenWrt-Devel,1/3] toolchain/musl: update to version 1.1.20 | expand |
On Tue, 4 Sep 2018 at 23:27, Christian Lamparter <chunkeey@gmail.com> wrote: > This patch ports the cybertan_part code from ar71xx and converts the > driver to a DT-supported mtd parser. As a result, it will no longer > add the u-boot, nvram and art partitions, which were never part of > the special Cybertan header. > > Instead these partitions have to be specified in the DT, which has the > upside of making it possible to add properties (i.e.: read-only), labels > and references to these important partitions. Does this change or 3/3 depend on [PATCH 1/3] toolchain/musl: update to version 1.1.20 ?
On Tuesday, September 4, 2018 11:34:34 PM CEST Rafał Miłecki wrote: > On Tue, 4 Sep 2018 at 23:27, Christian Lamparter <chunkeey@gmail.com> wrote: > > This patch ports the cybertan_part code from ar71xx and converts the > > driver to a DT-supported mtd parser. As a result, it will no longer > > add the u-boot, nvram and art partitions, which were never part of > > the special Cybertan header. > > > > Instead these partitions have to be specified in the DT, which has the > > upside of making it possible to add properties (i.e.: read-only), labels > > and references to these important partitions. > > Does this change or 3/3 depend on > [PATCH 1/3] toolchain/musl: update to version 1.1.20 > ? > Uups, sorry. No, patch 2/3 and patch 3/3 are unrelated to the musl 1.1.20 update in patch 1/3. I still had the WD Range extender patches in my queue from last time. (In fact, both patch 2/3 and 3/3 should have the v3 in the subject). Oh, well maybe for v4 (if there someone still has some comments). Regards, Christian
This one is running stable here on a lot of different devices (and
targets) for the past 48 hours
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Christian,
A few hours after release, Rich committed some quick-fixes for various
stuff.
Do some of these need backporting on top of this patch in your opinion?
Thanks,
Koen
On Thursday, September 6, 2018 12:31:23 PM CEST Koen Vandeputte wrote: > This one is running stable here on a lot of different devices (and > targets) for the past 48 hours > > Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> That's good to hear. Did you see any new complains in the compiler logs or something else unusual? > Christian, > > A few hours after release, Rich committed some quick-fixes for various > stuff. > > Do some of these need backporting on top of this patch in your opinion? Rich says: "[...] I'm in the middle of a big shuffle of messy stuff in the source tree right now, but ping me again soon if you don't see action on it in the next couple days." <http://www.openwall.com/lists/musl/2018/09/06/2> So I guess there will be more patches (apart from that "arm asm for vfork"). I guess that I can make a "update to current HEAD" once the release "dust" has settled. In any case, if someone wants to test the changes because something broke: She or he can just replace these values in toolchain/musl/common.mk PKG_SOURCE_VERSION:=2de29bc994029b903a366b8a4a9f8c3c3ee2be90 PKG_MIRROR_HASH:=dbfa2ace2871ee505efb5f3c110fce13f41ea1b2f2e3d0b8c6454a7c7ba41945 to test the latest changes and let us know. Thanks. Regards, Christian
On 2018-09-06 18:16, Christian Lamparter wrote: > On Thursday, September 6, 2018 12:31:23 PM CEST Koen Vandeputte wrote: >> This one is running stable here on a lot of different devices (and >> targets) for the past 48 hours >> >> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> > That's good to hear. Did you see any new complains in the compiler logs > or something else unusual? No, Nothing unusual seen so far. But I'll double check the full logs to be 100% sure. Also nothing strange seen on my testing hardware in the field since 1 week now. >> Christian, >> >> A few hours after release, Rich committed some quick-fixes for various >> stuff. >> >> Do some of these need backporting on top of this patch in your opinion? > Rich says: > > "[...] I'm in the middle of a big shuffle of messy stuff in the > source tree right now, but ping me again soon if you don't > see action on it in the next couple days." > <http://www.openwall.com/lists/musl/2018/09/06/2> > > So I guess there will be more patches (apart from that > "arm asm for vfork"). I guess that I can make a "update > to current HEAD" once the release "dust" has settled. > > In any case, if someone wants to test the changes because > something broke: She or he can just replace these values in > toolchain/musl/common.mk > > PKG_SOURCE_VERSION:=2de29bc994029b903a366b8a4a9f8c3c3ee2be90 > PKG_MIRROR_HASH:=dbfa2ace2871ee505efb5f3c110fce13f41ea1b2f2e3d0b8c6454a7c7ba41945 > > to test the latest changes and let us know. Thanks. > > Regards, > Christian > >
On Tuesday, September 11, 2018 11:18:48 AM CEST Koen Vandeputte wrote: > > On 2018-09-06 18:16, Christian Lamparter wrote: > > On Thursday, September 6, 2018 12:31:23 PM CEST Koen Vandeputte wrote: > >> This one is running stable here on a lot of different devices (and > >> targets) for the past 48 hours > >> > >> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> > > That's good to hear. Did you see any new complains in the compiler logs > > or something else unusual? > No, > Nothing unusual seen so far. > But I'll double check the full logs to be 100% sure. > > Also nothing strange seen on my testing hardware in the field since 1 > week now. It doesn't look like Rich updated his repository. So I don't know, should I wait longer? Or just add the 1.1.20+ patch on top of this, or respin the 1.1.20 patch up to the "fix namespace violation ..."?
diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk index 87424646c3..883084b7b1 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 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:=0fa1e638e87cf257e9f96b4019b2076afd674a19 +PKG_MIRROR_HASH:=0a49559e845f51aaf006539176a36d6527957affd2838e71fd43275b737e90fe 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 <mschiffer@universe-factory.net> -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 <temnota.am@gmail.com> ---- - 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 <steven@midlink.org> ---- - 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 <steven@midlink.org> 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 <steven@midlink.org> 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 <hauke@hauke-m.de> #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 <hauke@hauke-m.de> 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 <hauke@hauke-m.de> 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 <hauke@hauke-m.de> #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;
Rich Felker finally tagged musl 1.1.20 release: <http://www.openwall.com/lists/musl/2018/09/04/17> "This release introduces the ability to replace/interpose the allocator (malloc) subject to certain restrictions, adds an experimental m68k port, and makes notable improvements to stdio (application-provided buffers), getaddrinfo (AI_ADDRCONFIG, support for IPv4-only kernel configurations), the dynamic linker (safety against dlopen of libraries using initial-exec TLS model, reclaiming unused memory on FDPIC archs, better dladdr results), and handling of default thread stack size (pthread_setattr_default_np now works more reliably). Many bugs have been fixed, including potentially dangerous regressions in iconv (only for new conversions to legacy encodings) and visibly incorrect behavior in printf on non-x86 archs (%a format with precision specifier), in getopt_long_only when short options are a prefix for a long option, in complex arc-trig/hyperbolic functions, in strftime and mktime (timezone-specific issues), and numerous less-obvious places. https://www.musl-libc.org/releases/musl-1.1.20.tar.gz https://www.musl-libc.org/releases/musl-1.1.20.tar.gz.asc Special thanks to musl's release sponsors (patreon.com/musl): * The Midipix Project (midipix.org) * Hurricane Labs (hurricanelabs.com) * Neal Gompa * Les Aker * Justin Cormack " Signed-off-by: Christian Lamparter <chunkeey@gmail.com> --- Would be nice to hear from testers. --- 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