<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/ynezz/toolchain/musl, branch master</title>
<subtitle>Staging tree of Petr Stetiar</subtitle>
<id>https://git.openwrt.org/openwrt/staging/ynezz/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/ynezz/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/'/>
<updated>2020-12-02T22:38:42Z</updated>
<entry>
<title>toolchain: musl: refresh patches</title>
<updated>2020-12-02T22:38:42Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2020-12-02T21:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=a44a2f9e93a92304ee1b457aaa63ba8172a1135a'/>
<id>urn:sha1:a44a2f9e93a92304ee1b457aaa63ba8172a1135a</id>
<content type='text'>
Refresh the musl patches

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>musl: handle wcsnrtombs destination buffer overflow (CVE-2020-28928)</title>
<updated>2020-11-20T12:24:48Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-11-20T12:13:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=4d4ef1058c0f10aa2fa4070cd6b9db4d48b94148'/>
<id>urn:sha1:4d4ef1058c0f10aa2fa4070cd6b9db4d48b94148</id>
<content type='text'>
The wcsnrtombs function in all musl libc versions up through 1.2.1 has
been found to have multiple bugs in handling of destination buffer
size when limiting the input character count, which can lead to
infinite loop with no forward progress (no overflow) or writing past
the end of the destination buffera.

This function is not used internally in musl and is not widely used,
but does appear in some applications. The non-input-limiting form
wcsrtombs is not affected.

All users of musl 1.2.1 and prior versions should apply the attached
patch, which replaces the overly complex and erroneous implementation.
The upcoming 1.2.2 release will adopt this new implementation.

Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>musl: add common glibc extention for nftw</title>
<updated>2020-08-31T11:23:59Z</updated>
<author>
<name>Tony Ambardar</name>
</author>
<published>2020-07-13T04:18:43Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=735947229c0e89fd714b3cded1e76ea9093827ed'/>
<id>urn:sha1:735947229c0e89fd714b3cded1e76ea9093827ed</id>
<content type='text'>
Add FTW_ACTIONRETVAL mode and update nftw library for walking file trees.
Update needed to build bpftool userspace utility from Linux kernel source.

Also increment PKG_RELEASE.

Signed-off-by: Tony Ambardar &lt;itugrok@yahoo.com&gt;
</content>
</entry>
<entry>
<title>musl: use official release tar</title>
<updated>2020-06-14T00:42:21Z</updated>
<author>
<name>Alexander Couzens</name>
</author>
<published>2020-05-22T10:48:47Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=69e7d14e1b6e402c9970e6e8834c510f0b7ad836'/>
<id>urn:sha1:69e7d14e1b6e402c9970e6e8834c510f0b7ad836</id>
<content type='text'>
To prevent "wrong" musl packages which have a new version number
but the package still contains an old version, because
PKG_SOURCE_VERSION was unchanged.

Ref: musl ml https://www.openwall.com/lists/musl/2020/05/22/4

Reviewed-by: Petr Štetiar &lt;ynezz@true.cz&gt;
Signed-off-by: Alexander Couzens &lt;lynxis@fe80.eu&gt;
</content>
</entry>
<entry>
<title>musl: restore lock skipping for mostly-singlethreaded programs, and related patches</title>
<updated>2020-05-26T21:45:17Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-23T19:17:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=afea16b8f752b3ccd3f66f9ac3890586d44cde69'/>
<id>urn:sha1:afea16b8f752b3ccd3f66f9ac3890586d44cde69</id>
<content type='text'>
The remainder of the patch series proposed by upstream [2] for the locking
synchronization issue [1].

[1] https://www.openwall.com/lists/musl/2020/05/22/3
[2] https://www.openwall.com/lists/musl/2020/05/22/10

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>musl: fix locking synchronization bug</title>
<updated>2020-05-26T21:45:16Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-23T19:16:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=10c211031ccd4703230493025a5a3b9d6fcad2f2'/>
<id>urn:sha1:10c211031ccd4703230493025a5a3b9d6fcad2f2</id>
<content type='text'>
Import proposed upstream fix [2] for the critical locking
synchronization bug recently found in musl [1].

This affects all programs that are temporarily multithreaded, but then
return to single-threaded operation.

[1] https://www.openwall.com/lists/musl/2020/05/22/3
[2] https://www.openwall.com/lists/musl/2020/05/22/10

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>toolchain/musl: bump to version 1.1.24</title>
<updated>2019-10-15T14:11:28Z</updated>
<author>
<name>Koen Vandeputte</name>
</author>
<published>2019-10-14T10:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=4d5b62263c6367dae888c6833b013dffda155c16'/>
<id>urn:sha1:4d5b62263c6367dae888c6833b013dffda155c16</id>
<content type='text'>
1.1.24 release notes

new features:
- GLOB_TILDE extension to glob
- non-stub catgets localization API, using netbsd binary catalog format
- posix_spawn file actions for [f]chdir (extension, pending future standard)
- secure_getenv function (extension)
- copy_file_range syscall wrapper (Linux extension)
- header-level support for new linux features in 5.2

performance:
- new fast path for lrint (generic C version) on 32-bit archs

major internal changes:
- functions involving time are overhauled to be time64-ready in 32-bit archs
- x32 uses the new time64 code paths to replace nasty hacks in syscall glue

compatibility &amp; conformance:
- support for powerpc[64] unaligned relocation types
- powerpc[64] and sh sys/user.h no longer clash with kernel asm/ptrace.h
- select no longer modifies timeout on failure (or at all)
- mips64 stat results are no longer limited to 32-bit time range
- optreset (BSD extension) now has a public declaration
- support for clang inconsistencies in wchar_t type vs some 32-bit archs
- mips r6 syscall asm no longer has invalid lo/hi register clobbers
- vestigial asm declarations of __tls_get_new are removed (broke some tooling)
- riscv64 mcontext_t mismatch glibc's member naming is corrected

bugs fixed:
- glob failed to match broken symlinks consistently
- invalid use of interposed calloc to allocate initial TLS
- various dlsym symbol resolution logic errors
- semctl with SEM_STAT_ANY didn't work
- pthread_create with explicit scheduling was subject to priority inversion
- pthread_create failure path had data race for thread count
- timer_create with SIGEV_THREAD notification had data race getting timer id
- wide printf family failed to support l modifier for float formats

arch-specific bugs fixed:
- x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697)
- x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches)
- lseek broken on x32 and mipsn32 with large file offsets
- riscv64 atomics weren't compiler barriers
- riscv64 atomics had broken asm constraints (missing earlyclobber flag)
- arm clone() was broken when compiled as thumb if start function returned
- mipsr6 setjmp/longjmp did not preserve fpu register state correctly

Refreshed all patches.
Removed upstreamed.

Signed-off-by: Koen Vandeputte &lt;koen.vandeputte@ncentric.com&gt;
</content>
</entry>
<entry>
<title>musl: Fix CVE-2019-14697</title>
<updated>2019-08-18T21:41:06Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2019-08-18T21:24:43Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=c262daf308e0f0bd93bb5c5ee6238773935079ee'/>
<id>urn:sha1:c262daf308e0f0bd93bb5c5ee6238773935079ee</id>
<content type='text'>
musl libc through 1.1.23 has an x87 floating-point stack adjustment
imbalance, related to the math/i386/ directory. In some cases, use of
this library could introduce out-of-bounds writes that are not present
in an application's source code.

This problem only affects x86 and no other architectures.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>musl: ldso/dlsym: fix mips returning undef dlsym</title>
<updated>2019-08-17T14:57:32Z</updated>
<author>
<name>Luiz Angelo Daros de Luca</name>
</author>
<published>2019-08-16T04:33:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=0d0617ff14b8b020896680de1f1a49c7ba8a5e0d'/>
<id>urn:sha1:0d0617ff14b8b020896680de1f1a49c7ba8a5e0d</id>
<content type='text'>
This happens only the second time a library is loaded by dlopen().
After lib1 is loaded, dlsym(lib1,"undef1") correctly resolves the undef
symbol from lib1 dependencies. After the second library is loaded,
dlsym(lib2,"undef1") was returning the address of "undef1" in lib2
instead of searching lib2 dependencies.

Using upstream fix which now uses the same logic for relocation time
and dlsym.

Fixes openwrt/packages#9297

Signed-off-by: Luiz Angelo Daros de Luca &lt;luizluca@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/musl: bump to version 1.1.23</title>
<updated>2019-07-31T14:51:46Z</updated>
<author>
<name>Koen Vandeputte</name>
</author>
<published>2019-07-29T10:08:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/ynezz/commit/?id=ed6139eb2501cdd9f9b3cc1e9ae890e4850e0eb5'/>
<id>urn:sha1:ed6139eb2501cdd9f9b3cc1e9ae890e4850e0eb5</id>
<content type='text'>
new features:
- riscv64 port
- configure now allows customizing AR and RANLIB vars
- header-level support for new linux features in 5.1

major internal changes:
- removed extern __syscall; syscall header code is now fully self-contained

performance:
- new math library implementation for log/exp/pow
- aarch64 dynamic tlsdesc function is streamlined

compatibility &amp; conformance:
- O_TTY_INIT is now defined
- sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile
- powerpc asm is now compatible with clang internal assembler

changes for new POSIX interpretations:
- fgetwc now sets stream error indicator on encoding errors
- fmemopen no longer rejects 0 size

bugs fixed:
- static TLS for shared libraries was allocated wrong on "Variant I" archs
- crash in dladdr reading through uninitialized pointer on non-match
- sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE
- getdents function misbehaved with buffer length larger than INT_MAX
- set*id could deadlock after fork from multithreaded process

arch-specfic bugs fixed:
- s390x SO_PEERSEC definition was wrong
- passing of 64-bit syscall arguments was broken on microblaze
- posix_fadvise was broken on mips due to missing 7-arg syscall support
- vrregset_t layout and member naming was wrong on powerpc64

Signed-off-by: Koen Vandeputte &lt;koen.vandeputte@ncentric.com&gt;
</content>
</entry>
</feed>
