Commit Graph

147 Commits

Author SHA1 Message Date
Hauke Mehrtens
2dcee33de9
toolchain: musl: Update to version 1.2.3
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 685ae2687b)
2022-04-14 10:30:51 +08:00
Tianling Shen
c96b15cc4d
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-02-25 13:03:01 +08:00
Hauke Mehrtens
82399a8745 toolchain: gdb: Update to version 11.2
This is a minor corrective release over GDB 11.1, fixing the following issues:
* PR sim/28302 (gdb fails to build with glibc 2.34)
* PR build/28318 (std::thread support configure check does not use CXX_DIALECT)
* PR gdb/28405 (arm-none-eabi: internal-error: ptid_t remote_target::select_thread_for_ambiguous_stop_reply(const target_waitstatus*): Assertion `first_resumed_thread != nullptr' failed)
* PR tui/28483 ([gdb/tui] breakpoint creation not displayed)
* PR build/28555 (uclibc compile failure since commit 4655f8509fd44e6efabefa373650d9982ff37fd6)
* PR rust/28637 (Rust characters will be encoded using DW_ATE_UTF)
* PR gdb/28758 (GDB 11 doesn't work correctly on binaries with a SHT_RELR (.relr.dyn) section)
* PR gdb/28785 (Support SHT_RELR (.relr.dyn) section)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-02-16 12:41:22 +08:00
Tianling Shen
e9cabadf7c
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-01-03 13:54:53 +08:00
Petr Štetiar
ab7129a3c6 toolchain: musl: disable crypt size hack by default
Enable this option and thus re-include crypt() support for the SHA256,
SHA512 and Blowfish ciphers on all devices. According to commit
9365745f8e ("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>
2021-12-30 23:56:41 +08:00
Stijn Tintel
48debfcb5d toolchain/gcc: use ELFv2 ABI on ppc64 with musl
At configuration time, gcc assumes that ppc64be targets use the ELFv1
ABI, and ppc64le targets use the ELFv2 ABI. However, musl libc does not
support the ELFv1 ABI on ppc64 at all, regardless of the endianness.

Therefore, when building for a ppc64 arch and with musl libc, instruct
gcc to use the ELFv2 ABI.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93157 for more info.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-12-24 11:26:43 +08:00
Hauke Mehrtens
66e801c5e6 toolchain: gdb: Update to version 11.1
The removed patch was already applied upstream.

gdb now mandatory depends on gmp, tell configure where to find it
explicitly. We already build gmp in the tools directory for gcc. Also
make it use mpfr and mpc as we also build both of them.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-12-09 23:56:16 +08:00
Sergey V. Lobanov
2ac719c8fb toolchain/gcc: fix build on MacOS arm64
Added patch for GCC to fix compilation issues on MacOS arm64

The original commit message from Przemysław Buczkowski:

GCC: Patch for Apple Silicon compatibility

This patch fixes a linker error occuring when compiling
the cross-compiler on macOS and ARM64 architecture.

Adapted from:
https://github.com/richfelker/musl-cross-make/issues/116#issuecomment-823612404

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2021-12-05 23:56:10 +08:00
AmadeusGhost
0c9ce5afbc Merge Mainline 2021-12-01 00:15:25 +08:00
Felix Fietkau
cb8dc7b14e toolchain: add a version that can be bumped to force toolchain/target rebuild
This can be used to ensure that the compiled code is up to date, when
something important changes in the toolchain.
A recent example of this is the gcc 11 fix for a code miscompilation issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-11-19 23:58:57 +08:00
Felix Fietkau
3595a902d3 toolchain/gcc: revert a faulty upstream commit that caused miscompiled code
This broke at least the OKLI loader, but possibly other things as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-11-19 23:58:34 +08:00
Tianling Shen
f4effdee24
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-10-27 12:18:41 +08:00
Felix Fietkau
14f3dbb8b0 tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF
Preparation for building packages that ship eBPF code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-10-24 00:08:23 +08:00
Tianling Shen
68742f308e
binutils/2.37: fix fd regression in bfd
https://sourceware.org/bugzilla/show_bug.cgi?id=28138

Fixes build issue with nodejs: nodejs/node#39452.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit af7ec88ae7)
2021-10-15 18:46:16 +08:00
Tianling Shen
077e6b59e8
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-10-09 11:19:14 +08:00
Hauke Mehrtens
c6bce01efe toolchain/musl: Remove extra format attribute patch
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>
2021-09-25 00:05:48 +08:00
Rosen Penev
c710efe180 toolchain/musl: remove several GNU headers
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>
2021-09-25 00:05:24 +08:00
Rosen Penev
93a955b8a6 toolchain/musl: update to 1.2.2
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>
2021-09-25 00:05:12 +08:00
Hauke Mehrtens
9eea506ce9 toolchain: musl: refresh patches
Refresh the musl patches

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-09-25 00:05:06 +08:00
Hans Dedecker
7cffacccdd glibc: update to latest 2.33 HEAD (bug 28213)
9b01145592 MIPS: Setup errno for {f,l,}xstat
9c676ef514 RISC-V: Update rv64 ULPs
c6cadbf83a linux: Remove shmmax check from tst-sysvshm-linux
22d37364ae librt: add test (bug 28213)
27a78fd712 librt: fix NULL pointer dereference (bug 28213)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-09-21 23:50:33 +08:00
Tianling Shen
cf1a90eb7f
glibc: depends on !arc
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-09-14 03:17:20 +08:00
Tianling Shen
e890caecb3
glibc: rollback to 2.27 for kernel 4.x
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-09-14 01:31:43 +08:00
Tianling Shen
a4375d79b1
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-08-10 19:34:07 +08:00
Rui Salvaterra
19271d7813 toolchain/gcc: bump gcc 11 to 11.2
Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-08-09 12:11:42 +08:00
Tianling Shen
329a4e184e
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-07-27 19:42:59 +08:00
Rui Salvaterra
76b4ccad40 toolchain/binutils: add binutils 2.37
Tested on ath79/generic, without issues.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-07-26 12:10:49 +08:00
Ansuel Smith
2bb5878a50 toolchain: add gcc 11 version
Add gcc 11 version. Same patches of gcc 10.

Build tested on: ipq806x ipq807x
Run tested on: ipq806x ipq807x

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[refresh patches]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-07-18 12:09:37 +08:00
Tianling Shen
1857f8d863
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-07-14 14:53:12 +08:00
Hans Dedecker
b5bf1e8d73 glibc: update to latest 2.33 HEAD (bug 28011)
b5711025bc x86_64: Remove unneeded static PIE check for undefined weak diagnostic
edfd11197e wordexp: handle overflow in positional parameter number (bug 28011)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-07-14 12:05:08 +08:00
Tianling Shen
45ae20d043
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-06-28 02:30:23 +08:00
Hans Dedecker
7f5fc556aa glibc: update to latest 2.33 HEAD (BZ #27646, bug 27896, BZ #15271)
58b90461ae elf: Use _dl_catch_error from base namespace in dl-libc.c [BZ #27646]
8c06748c51 Fix use of __pthread_attr_copy in mq_notify (bug 27896)
4b6be914bd Use __pthread_attr_copy in mq_notify (bug 27896)
f4cba6ca1e dlfcn: Failures after dlmopen should not terminate process [BZ #15271]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-06-27 23:10:48 +08:00
AmadeusGhost
2ff427b0b9 Merge Mainline 2021-06-15 23:45:52 +08:00
Felix Fietkau
69dab3376d toolchain/gdb: fix broken non-python build
Append configure args instead of overwriting them

Fixes: 74417f8b3a ("toolchain: gdb: Add optional python support")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-09 23:10:04 +08:00
AmadeusGhost
f2a7cf7ae7 Merge Mainline 2021-06-08 23:28:46 +08:00
Hauke Mehrtens
048172b97e toolchain: gdb: Add optional python support
Compile gdb with python support optionally.

To use the Python support in gdb some extra python files are needed,
install them too. While at it also install other shared files which we
did not install before.

If gdb is built without Python support the python folder does not
exists.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
2021-06-06 23:44:45 +08:00
Tianling Shen
cb4554e221
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-05-31 18:55:44 +08:00
Hans Dedecker
e74d7e1848
glibc: update to latest 2.33 HEAD (BZ #27892)
0ef0e6de7f powerpc: Fix handling of scv return error codes [BZ #27892]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit 507257778c)
2021-05-31 18:13:35 +08:00
Tianling Shen
bc73a96336
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-05-20 17:11:27 +08:00
Felix Fietkau
57e05130b4 toolchain/gdb: fix broken configure test for ELF support
A missing #include was causing gdb on macOS to be compiled without ELF support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-05-18 23:50:48 +08:00
Tianling Shen
b0f7ca7cd2
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-05-03 17:20:04 +08:00
Hans Dedecker
6f5434b087 glibc: update to latest 2.33 HEAD (bug 27744)
3f5080aedd nptl: Do not build nptl/tst-pthread-gdb-attach as PIE
36783141cf nptl: Check for compatible GDB in nptl/tst-pthread-gdb-attach
ea299b62e8 nptl_db: Support different libpthread/ld.so load orders (bug 27744)
162df872f0 x86: tst-cpu-features-supports.c: Update AMX check

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-05-02 11:30:20 +08:00
AmadeusGhost
1e18c2be1d Merge Mainline 2021-05-01 11:50:45 +08:00
DENG Qingfang
6c1a0fb57d toolchain/binutils: add binutils 2.36.1
Add binutils version 2.36.1

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
2021-05-01 11:38:19 +08:00
DENG Qingfang
41f915fb32 toolchain/binutils: update to 2.35.2
Update binutils 2.35 to 2.35.2

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
2021-05-01 11:37:52 +08:00
AmadeusGhost
5680bfc347 Merge Mainline 2021-04-21 10:50:08 +08:00
Rosen Penev
12509785d2 toolchain/gdb: fix compilation with ccache
For some reason, one of the configure checks results in some infinite
loop and ends up spawning endless gcc processes, causing OOM. Just pass
a configure var to avoid it.

Same fix as 6e23813c1e

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-18 23:40:34 +08:00
Hans Dedecker
d54dd0b5ef glibc: update to latest 2.33 commit
12ff80b312 Remove PR_TAGGED_ADDR_ENABLE from sys/prctl.h
1bf38e7260 Fix SXID_ERASE behavior in setuid programs (BZ #27471)
a7b8e8ec9b Enhance setuid-tunables test
ee16c81063 tst-env-setuid: Use support_capture_subprogram_self_sgid
267e174f19 support: Add capability to fork an sgid child
249c486ce8 support: Pass environ to child process
45b2c57d34 support: Typo and formatting fixes
e07abf59b2 tunables: Fix comparison of tunable values
3e9ca60a58 linux: always update select timeout (BZ #27706)
8380ca5833 linux: Normalize and return timeout on select (BZ #27651)
85e4dc415a libsupport: Add support_select_normalizes_timeout
b5b4aa62c1 libsupport: Add support_select_modifies_timeout
3d525dd639 misc: Fix tst-select timeout handling (BZ#27648)
830674605f tst: Provide test for select

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-04-18 18:28:52 +08:00
Tianling Shen
21d72c6953
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-04-12 20:23:17 +08:00
Hauke Mehrtens
ee678b689f
toolchain: gcc: Update to version 10.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-04-12 20:22:07 +08:00
Tianling Shen
c0708f5054
Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-04-06 20:50:55 +08:00