aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/musl
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: musl: add PKG_CPE_IDArne Zachlod2023-09-271-0/+1
| | | | | | | Vulnerabilities of musl libc are tracked as cpe:/a:musl-libc:musl Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
* toolchain: musl: Fix symbol loading in gdbHauke Mehrtens2023-04-021-0/+61
| | | | | | | | | | Fix DT_DEBUG handling on MIPS in musl libc. With this change gdb will load the symbol files for shared libraries on MIPS too. This patch was taken from this thread: https://www.openwall.com/lists/musl/2022/01/09/4 Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com> (cherry picked from commit fcdd407e8e16b90e1995789ba217be5591a88d2f)
* toolchain: musl: Update to version 1.2.3Hauke Mehrtens2022-04-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: new features: - qsort_r function (POSIX-future) - pthread_getname_np extension function - hard float on SPE FPU for powerpc-sf - SEEK_DATA and SEEK_HOLE exposed in unistd.h (Linux extensions) compatibility: - free now preserves errno (POSIX-future requirement) - setjmp is declared explicitly with returns_twice for non-GCC compilers - macro version of isascii is no longer defined for C++ - dynamic linker now tolerates zero-length LOAD segments - epoll_[p]wait is now a cancellation point - pwd/grp functions no longer fail on systems without AF_UNIX support - POSIX TZ parsing is stricter to allow more names to fallback to files - NULL is now defined as nullptr when used in C++11 or later - gettext now accepts null pointer as argument bugs fixed: - old regression in wcwidth of Hangul combining (vowel/final) letters - duplocale used wrong malloc when malloc was replaced (1.2.2 regression) - fmaf rounded wrong on archs without FE_TOWARDZERO (all softfloat archs) - popen didn't honor requirement not to leak other popen pipe fds to child - aligned_alloc and variants crashed on allocation failure - dl_iterate_phdr reported incorrect module TLS pointers - mishandling of some inputs in acoshf and expm1f and functions using them - potentially wrong-sign zero in cproj functions at infinity - multiple bugs in legacy function cuserid - minor posix_spawn file actions API conformance issues - pthread_setname_np fd leak - out-of-bound read in zoneinfo handling with distant-past times - out-of-tree builds lacked generated debug cfi for x86 asm arch-specific bugs fixed: - powerpc (32-bit) struct shmid_ds layout was wrong for some fields - time64 struct layout was wrong in sound ioctl fallback (32-bit archs) In addition it contains the following improvements: * protect stack canary from leak via read-as-string by zeroing second byte * fix excessively slow TLS performance on some mips models Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com> Tested-by: Rui Salvaterra <rsalvaterra@gmail.com> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> (cherry picked from commit 685ae2687bd1b199dc83ee1e16d47c05afca6102)
* toolchain: musl: disable crypt size hack by defaultPetr Štetiar2021-12-271-3/+4
| | | | | | | | | | | | | | | | Enable this option and thus re-include crypt() support for the SHA256, SHA512 and Blowfish ciphers on all devices. According to commit 9365745f8e7b ("musl: add a hack to remove unused crypt() algorithms, saves ~14k after lzma") it should add about ~14k to the resulting image, which seems to be a reasonable size increase for consistent crypt() support. Decided to not remove this hack completely as it might be still useful for people trying to fit custom images onto smaller devices and the patch is rather simple so we can afford to keep it for now. References: https://github.com/openwrt/openwrt/pull/1331 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* toolchain/musl: Remove extra format attribute patchHauke Mehrtens2021-09-221-197/+0
| | | | | | | This patch never went upstream so remove it. GCC should already add such a check to the common functions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/musl: remove several GNU headersRosen Penev2021-09-226-554/+0
| | | | | | | | | | | | | | | | Remove GLOB_ONLYDIR patch. Only fstools relies on it. fstools has been fixed separately. Remove woresize.h file. It seems to be for an old version of GCC. Remove features.h and glibc-types files. Same as above. Remove sys/cdefs.h. This is a deprecated header. Patches to fix packages that use it have already been patched. Tested with all packages in the base tree. They all compile. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain/musl: update to 1.2.2Rosen Penev2021-09-2212-316/+26
| | | | | | | | | | | This release introduces 64-bit time_t, which is needed to avoid the year 2038 problem. Remove upstream patches. Refreshed others. Rebased features.h file based on latest musl. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: musl: refresh patchesHauke Mehrtens2020-12-022-15/+6
| | | | | | Refresh the musl patches Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* musl: handle wcsnrtombs destination buffer overflow (CVE-2020-28928)Petr Štetiar2020-11-202-1/+66
| | | | | | | | | | | | | | | | | | 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 <ynezz@true.cz>
* musl: add common glibc extention for nftwTony Ambardar2020-08-312-1/+103
| | | | | | | | | 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 <itugrok@yahoo.com>
* musl: use official release tarAlexander Couzens2020-06-141-6/+3
| | | | | | | | | | | 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 <ynezz@true.cz> Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* musl: restore lock skipping for mostly-singlethreaded programs, and related ↵Matthias Schiffer2020-05-263-0/+166
| | | | | | | | | | | | patches 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 <mschiffer@universe-factory.net>
* musl: fix locking synchronization bugMatthias Schiffer2020-05-261-0/+69
| | | | | | | | | | | | | 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 <mschiffer@universe-factory.net>
* toolchain/musl: bump to version 1.1.24Koen Vandeputte2019-10-155-350/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 & 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 <koen.vandeputte@ncentric.com>
* musl: Fix CVE-2019-14697Hauke Mehrtens2019-08-183-1/+208
| | | | | | | | | | | 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 <hauke@hauke-m.de>
* musl: ldso/dlsym: fix mips returning undef dlsymLuiz Angelo Daros de Luca2019-08-172-1/+137
| | | | | | | | | | | | | | | 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 <luizluca@gmail.com>
* toolchain/musl: bump to version 1.1.23Koen Vandeputte2019-07-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 & 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 <koen.vandeputte@ncentric.com>
* toolchain: musl: switch to https instead of gitChristian Lamparter2019-06-221-1/+1
| | | | | | | | | | | Daniel Engberg requested switching over to https transport since he seems to be stuck behind a corporate firewall that does all the wrong things. Rick Felker noted that this is "experimental and might break". <https://www.openwall.com/lists/musl/2019/03/27/1>. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* toolchain/musl: update to version 1.1.22Koen Vandeputte2019-04-232-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* toolchain/musl: update to version 1.1.21Christian Lamparter2019-02-053-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | <https://www.openwall.com/lists/musl/2019/01/21/8> "This release makes improvements with respect to default thread stack size, including increasing the default from 80k to 128k, increasing the default guard size from 4k to 8k, and allowing the default to be increased via ELF headers so that programs that need larger stacks can be build without source-level changes, using just LDFLAGS. Insufficient stack size for AIO threads on kernels that don't honor the constant MINSIGSTKSZ is also fixed. The glob core has been rewritten to fix inability to see past searchable-but-unreadable path components, and to avoid excessive stack usage and unnecessary syscalls. The tsearch AVL tree implementation has also been rewritten for better size and performance. The math library adds more native single-instruction implementations for arm, s390x, powerpc, and x86_64. Various bugs are fixed, including several possible deadlocks, one of which was a new regression in 1.1.20." detailed release notes can be found in the WHATSNEW file: <http://git.musl-libc.org/cgit/musl/tree/WHATSNEW#n1989> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* musl: improve crypt() size hackJo-Philipp Wich2019-01-223-25/+53
| | | | | | | | | | | | | | Instead of silently downgrading any non-MD5 crypt() request to DES, cleanly fail with return NULL and errno = ENOSYS. This allows callers to notice the missing support instead of the unwanted silent fallback to DES. Also add a menuconfig toolchain option to optionally disable the crypt size hack completely. This can be probably made dependant on SMALL_FLASH or a similar feature indicator in a future commit. Ref: https://github.com/openwrt/openwrt/pull/1331 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* toolchain/musl: Don't override optimization set by upstreamDaniel Engberg2018-10-201-2/+5
| | | | | | | | | | Don't override optimization set by upstream. Provides a speed increase for internal (library), malloc and string operations in musl. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [add : to PKG_RELEASE release variable for consistency] Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* toolchain/musl: update to version 1.1.20Christian Lamparter2018-09-216-88/+32
| | | | | | | | | | | | | | | | | | | | | | | 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. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [altered commit msg a bit keeping it tight] Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* musl: sys/socket.h: fix SO_PEERSEC value on MIPSMatthias Schiffer2018-06-241-0/+59
| | | | | | | | | | Differing from all other archs supported by musl, MIPS defines SO_PEERSEC to 30 instead of 31. Patch has also been submitted upstream. Reported-by: Andrey Jr. Mlenikov <temnota.am@gmail.com> Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* musl: update to version 1.1.19Hauke Mehrtens2018-03-117-86/+27
| | | | | | | | | | This updates musl from a commit between 1.1.18 and 1.1.19 to the final release of the version 1.1.19. This mostly fixes bugs in musl. The size of the uncompressed binary is increased by about 4 KB. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* musl: move BUILD_DIR_TOOLCHAIN/musl symlink to configure stepFelix Fietkau2018-01-251-11/+1
| | | | | | Avoids Build/Prepare quilt related hacks Signed-off-by: Felix Fietkau <nbd@nbd.name>
* musl: allow autorebuildFelix Fietkau2018-01-251-1/+3
| | | | | | | | | Autorebuild is disabled for the toolchain to avoid build-order issues. However, rebuilding musl is safe, so exclude it from that restriction. Avoids the need for manual cleaning on kernel header <-> libc API changes like the ones introduced recently Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: use upstream patches for muslHauke Mehrtens2018-01-203-7/+66
| | | | | | | | | | This replaces the current patches used to make the kernel headers compatible with musl with the version which was accepted upstream. This is included in upstream kernel 4.15. This was compile tested with iproute2 build on all supported kernel versions with musl and one one with glibc. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: musl: update to current HEADChristian Lamparter2017-12-082-21/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: 72656157 fix fgetwc when decoding a character that crosses buffer boundary a223dbd2 add reverse iconv mappings for JIS-based encodings 105eff9d generalize iconv framework for 8-bit codepages a71b46cf fix malloc state corruption when ldso rejects loading a second libc d060edf6 reformat cjk iconv tables to be diff-friendly, match tool output c21051e9 prevent fork's errno from being clobbered by atfork handlers a39f20bf add iso-2022-jp support (decoding only) to iconv 5b546faa add iconv framework for decoding stateful encodings 0df5b39a simplify/optimize iconv utf-8 case 9eb6dd51 handle ascii range individually in each iconv case bff59d13 move iconv_close to its own translation unit 79f49eff refactor iconv conversion descriptor encoding/decoding 30fdda6c fix getaddrinfo error code for non-numeric service with AI_NUMERICSERV 67b29947 fix mismatched type of __pthread_tsd_run_dtors weak definition 13935337 s390x: use generic ioctl.h 4dc44ce8 microblaze: add statx syscall from linux v4.13 ffd048a0 aarch64: add extra_context struct from linux v4.13 6651ef1f add new tcp.h socket options from linux v4.13 14ced228 add new fcntl.h macros from linux v4.13 754f66af ioctl TIOCGPTPEER from linux v4.13 c35a8bf4 add SO_ getsockopt options from linux v4.13 5daaed6a s390x: add syscall number for s390_guarded_storage from linux v4.12 2dc6760f i386: add arch_prctl syscall number from linux v4.12 840d45be aarch64: add new HWCAP_* flags from linux v4.12 4c811227 add ARPHDR_VSOCKMON from linux v4.12 54f04d99 add new SO_ socket options from linux v4.12 9864f60e add statx syscall numbers from linux v4.11 c519658c add TCP_NLA_* enums from linux v4.11 ee3ae782 add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11 3eb82f73 add ETH_P_IBOE from linux v4.11 bd1560f6 update aarch64 hwcap.h for linux v4.11 cee73f0c add kexec_file_load syscall number on powerpc from linux v4.10 8f569557 add microblaze syscall numbers from linux v4.10 d8004030 add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missing f5638c22 add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10 01369691 add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10 5c596ed8 add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10 6fc6ca1a adjust posix_spawn dup2 action behavior to match future requirements Cc: Syrone Wong <wong.syrone@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* toolchain/musl: update to version 1.1.18Felix Fietkau2017-11-092-6/+6
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* musl: update to 1.1.16+ git HEAD 2017-08-30Koen Vandeputte2017-08-311-2/+2
| | | | | | | | | | | | | | | | | | | Fixes critical issues for memset() & fflush() Changes: 5f7efb8 move IPPORT_RESERVED from netdb.h to netinet/in.h 5f3b652 add powerpc64 and s390x to list of supported archs in INSTALL file 9d4c902 fix undefined behavior in memset due to missing sequence points c7f56b4 __init_libc: add fallbacks for __progname setup cc08669 add SIOCGSTAMPNS socket ioctl macro to ioctl.h 02b50c9 fix mips ioctl macros to match linux asm/sockios.h 670d6d0 fix unsynchronized access to FILE structure in fflush(0) Tested on cns3xxx & imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* musl: bump to latest 1.1.16+ git HEADKoen Vandeputte2017-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: 1698fe6 fix build failure for sh4a due to missing colon in asm statement 80bf595 trap UB from attempts to join a detached thread e31c8c2 ppc64: fix setjmp/longjmp handling of TOC pointer 52cf5c1 qsort: add a short comment about the algorithm dc2f368 disable global visibility override hack (vis.h) by default 947d330 add _NL_LOCALE_NAME extension to nl_langinfo a08910f fix missing volatile qualifier on lock in __get_locale 2e6e084 remove ineffective compiler assist from printf bc42dcb fix undefined behavior in ptrace d906fa3 unify the use of FUTEX_PRIVATE 60ab365 fix undefined behavior in free f688884 reapply va_arg hacks removal to wprintf bd00cc8 remove useless declarations in string.h f3055e0 allow specifying argv[0] when invoking a program via ldso command 43c423a fix regression in dlopen promotion from RTLD_LOCAL to RTLD_GLOBAL 66b53cf ldso: avoid spurious & possible erroneous work for libs with no deps 94f7441 powerpc64: add single-instruction math functions 9d12a6a fix clang CFLAGS checks and silence unused argument warnings ce385fc s390x: add single-instruction math functions e6def54 fix arm run-time abi string functions 91d34c4 fix regression in getspnam[_r] error code for insufficient buffer size 5948bc1 fix omission of microblaze user.h definitions b7bfb5c fix iconv conversions for iso88592-iso885916 64f8558 handle errors from localtime_r in ctime_r 2d7d05f set errno when getpw*_r, getgr*_r, and getspnam_r fail 5c10c33 handle localtime errors in ctime 1c86c7f handle mremap failure in realloc of mmap-serviced allocations 1080008 getdate: correctly specify error number af05173 catopen: set errno to EOPNOTSUPP 84eff79 fix glob failure to match plain "/" to root directory bc313e8 use hard-coded sh4a atomic opcodes to avoid linker errors on sh 179766a towupper/towlower: fast path for ascii chars 1c49700 remove long-obsolete clang workarounds from mips* syscall_arch.h files 4073f03 fix fstatat syscall on mips64 81f4a12 fix fchown fallback on arches without chown(2) 97bd6b0 fix iconv conversions to legacy 8bit encodings f9f686b have posix_spawnattr_setflags check for supported flags 77e895d add no-op POSIX_SPAWN_USEVFORK to spawn.h 5555041 s390x: provide sigcontext struct definition bb439bb implement new posix_spawn flag POSIX_SPAWN_SETSID 58e2396 remove va_arg hacks in printf core with undefined behavior e1232f5 make ttyname[_r] return ENODEV rather than ENOENT 1a7fa5e fix regression in support for resolv.conf attempts option 8c44a06 fix scalbn when result is in the subnormal range 2577b1b allow full-range file offsets to mmap on archs with 64-bit syscall args b3751c3 fix dl_iterate_phdr in static PIE binaries 1ca5975 fix read past end of buffer in getaddrinfo backend 54807d4 aarch64: add single instruction math functions b6e1fe0 fix strptime output for %C without %y 834ef7a fix processing of strptime %p format 85dfab7 fix off-by-one in strptime %j 9571c53 regex: fix newline matching with negated brackets e6917ec increase limit on locale name length from 15 to 23 bytes e4fc9ad search locale name variants for gettext translations 16319a5 make setlocale return a single name for LC_ALL if all categories match 0c53178 fix dlopen/dlsym regression opening libs already loaded at startup dbff2bb fix POSIX-format TZ dst transition times for southern hemisphere 74bca42 s390x: fix fpreg_t and remove unused per_struct a393d5c precalculate gnu hash rather than doing it lazily in find_sym inner loop 8cba1dc fix threshold constants in j0f, y0f, j1f, y1f cb52539 remove unused refcnt field for shared libraries c49d3c8 avoid loading of multiple libc versions via explicit pathname 3ec8b3a fix one-byte overflow in legacy getpass function 733d1ea fix wide scanf's use of a compound literal past its lifetime 6a209f1 fix possible fd leak, unrestored cancellation state on dns socket fail 500f5be in static dl_iterate_phdr, fix use of possibly-uninitialized aux data 6582baa fix free of uninitialized buffer pointer on error in regexec 6476b81 emulate lazy relocation as deferrable relocation 4823b13 reorder addend handling before symbol lookup in relocation code 4ff234f rework ldso handling of global symbol table for consistency c9783e4 treat STB_WEAK and STB_GNU_UNIQUE like STB_GLOBAL in find_sym fc85fb3 fix ld-behavior-dependent crash in ppc64 ldso startup 827c4e6 fix lsearch and lfind to pass key as first arg to the compar callback 0a4a16d allow page size to vary on arm b261a24 fix build regression in arm atomics asm with new binutils 9201c3a s390x: implement dlsym d6601f0 avoid unbounded strlen in gettext functions dbbb373 fix use of uninitialized pointer in gettext core 01e6bbe fix bindtextdomain logic error deactivating other domains 6894f84 fix spurious EINTR errors from multithreaded set*id, etc. 1f53e7d fix crashes in x32 __tls_get_addr 27b3fd6 fix crash from corrupted tls module list after failed dlopen 809ff8c treat base 1 as an error in strtol-family functions 786fda8 fix getopt[_long] clobbering of optopt on success 150747b reduce impact of REG_* namespace pollution in x86[_64] signal.h Tested on cns3xxx & imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: remove libc version config codeFelix Fietkau2017-02-112-9/+1
| | | | | | We only support one version per libc type Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/musl: parallelize make installFelix Fietkau2017-02-091-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* musl: update musl to 1.1.16+ and switch to download from gitChristian Lamparter2017-01-1631-1595/+7
| | | | | | | | | | | | | | | | | | | | | This patch updates musl to 1.1.16+ [0] and removes all the backported patches. This is a major release and tagged as such. For more information visit musl-libc.org or read the WHATSNEW. Furthermore, this patch also changes musl to download directly from git. This makes it easier to update musl in the future. The patch custom Add-format-attribute-to-some-function-declarations.patch was assigned a new 400- number. This should avoid confusion since 0xx numbers are usually assigned to backports. [0] <http://git.musl-libc.org/cgit/musl/commit/?id=769f53598e781ffc89191520f3f8a93cb58db91f> Cc: Hannu Nyman <hannu.nyman@iki.fi> Cc: Koen Vandeputte <koen.vandeputte@ncentric.com> Cc: Jo-Philipp Wich <jo@mein.io> Cc: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
* musl: refresh patchesKoen Vandeputte2016-12-261-1/+1
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* musl: backport various post-1.1.15 fixesKoen Vandeputte2016-12-2626-0/+1513
| | | | | | | | | | | Backport most important fixes up to latest HEAD - Taken post-commit reverts/fixes into account Compile tested Run-tested on cns3xxx & imx6 targets Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* musl: rename a custom backport patchKoen Vandeputte2016-12-261-0/+0
| | | | | | Ensure there is room in the numbering for next patches Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* treewide: clean up download hashesFelix Fietkau2016-12-161-1/+1
| | | | | | Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* musl: fix parsing of quoted time zone namesHannu Nyman2016-10-311-0/+11
| | | | | | | | | | | | | | | fix parsing of the < > quoted time zone names. Compare the correct character instead of repeatedly comparing the first character. Patch has been submitted to upstream as http://www.openwall.com/lists/musl/2016/10/24/3 Longer explanation in http://www.openwall.com/lists/musl/2016/10/19/1 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> [Jo-Philipp Wich: move references into commit message, shorten title prefix] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* musl: remove sh3 workaroundHauke Mehrtens2016-07-131-6/+0
| | | | | | The GCC bug 67260 is fixed upstream now, remove this workaround. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* musl: update musl to version 1.1.15Hauke Mehrtens2016-07-136-3741/+72
| | | | | | | The removed patch is already integrated in upstream musl. Add one additional patch which fixes a regression on mips. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: skip gcc/minimal for muslFelix Fietkau2016-07-071-16/+0
| | | | | | | | No extra libc header build step is done, so no extra toolchain is needed for preparing it. This saves a significant amount of build time and disk space Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: replace nbd@openwrt.org with nbd@nbd.nameFelix Fietkau2016-06-071-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* musl: update to latest git, adds some fixes for the mips64 port and regular ↵Felix Fietkau2016-03-073-3308/+3736
| | | | | | | | expressions Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48957
* musl: add mips64 portFelix Fietkau2016-02-261-0/+2714
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48803
* musl: update to version 1.1.14Felix Fietkau2016-02-257-17926/+8
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48762
* musl: fix an alignment issue that was breaking ldso on ARMv5Felix Fietkau2016-01-311-1/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48577
* musl: fix GDB debugging on mips (local, remote)Felix Fietkau2016-01-301-0/+55
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48575
* musl: update to the latest git version, fixes TLS issuesFelix Fietkau2016-01-307-7745/+17878
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48574