Commit Graph

111 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hans Dedecker
07267d373a
glibc: update to latest git HEAD (BZ #27468, BZ #27511)
e78ea9bd26 Update Nios II libm-test-ulps.
98bb18f52a malloc: Fix a realloc crash with heap tagging [BZ 27468]
fc4ecce85b S390: Also check vector support in memmove ifunc-selector [BZ #27511]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-04-06 20:50:29 +08:00
Hans Dedecker
ef8fb35947 glibc: update to latest 2.33 commit
db32fc27e7 test-container: Always copy test-specific support files [BZ #27537]
79c6be6a0a nptl: Remove private futex optimization [BZ #27304]
f90d6b0484 pthread_once hangs when init routine throws an exception [BZ #18435]
dd8023c2ac elf: ld.so --help calls _dl_init_paths without a main map [BZ #27577]
ea5a537e87 elf: Always set l in _dl_init_paths (bug 23462)
64f6c287ad x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444]
32b9280f1d io: Return EBAFD for negative file descriptor on fstat (BZ #27559)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-03-21 23:36:21 +08:00
Rosen Penev
4ae5e56b13 binutils: 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.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-03-20 11:26:35 +08:00
Hans Dedecker
3946f8d637 glibc: update to latest 2.33 commit (BZ #27462, BZ #27318, BZ #27389)
a151f2e05a nscd: Fix double free in netgroupcache [BZ #27462]
ee9f98d9ca x86: Set minimum x86-64 level marker [BZ #27318]
3e880d7337 nss: Re-enable NSS module loading after chroot [BZ #27389]
71b2463f61 x86: Add CPU-specific diagnostics to ld.so --list-diagnostics
a1eb3915e7 x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield
33dc1dd602 ld.so: Implement the --list-diagnostics option
8d4241b897 string: Work around GCC PR 98512 in rawmemchr
6efa2d44c8 S390: Add new hwcap values.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-03-11 12:01:18 +08:00
Daniel Golle
ae22f0455e Revert "toolchain: add autoconf-lean"
autoconf-lean was not ready yet. Revert it until things get sorted.

This reverts commit 32c664ff02.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-02 22:02:57 +08:00
Daniel Golle
859588b171 Revert "toolchain/autoconf-lean: add check for ssize_t"
This reverts commit 6b7b064492.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-02 22:02:18 +08:00
Sebastian Kemper
103d92ad9a toolchain/autoconf-lean: add check for ssize_t
This was provided by the old static config.site files and is required by
some software, i.e. freeswitch.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2021-03-02 12:05:39 +08:00
Felix Fietkau
7716c64137 toolchain: add autoconf-lean
Use it to generate a more comprehensive configure sitefile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-03-01 12:09:37 +08:00
Hans Dedecker
41e306d6b8 glibc: update to latest 2.33 commit
c5e3545897 tunables: Disallow negative values for some tunables
905fdc7071 x86: Use SIZE_MAX instead of (long int)-1 for tunable range value
15afd6b8d8 tunables: Simplify TUNABLE_SET interface

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-02-14 12:05:38 +08:00
Curtis Deptuck
37f650ad14 glibc: update to 2.33
ChangeLog:
https://sourceware.org/pipermail/libc-alpha/2021-February/122207.html

Refresh patch:
None required

Signed-off-by: Curtis Deptuck <curtdept@me.com>
2021-02-10 12:05:32 +08:00
Hans Dedecker
83d02addfb glibc: update to latest 2.32 commit (bug 27256)
760e1d2878 gconv: Fix assertion failure in ISO-2022-JP-3 module (bug 27256)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-01-31 22:19:42 +08:00
Rosen Penev
33532502f8 toolchain/libstdcpp: disable dual ABI and default to new
GCC 5.1 changed the std::string ABI in order to properly support C++11.
For compatibility with libraries compiled with the older ABI, that is,
linking between old-abi.so and new-abi.bin, both ABIs are enabled. In
terms of OpenWrt, all packages are compiled with the same toolchain,
which means these issues do not need to be handled.

Most importantly, this results in a significant size reduction of
libstdpp:

Before:

450794 bytes

After:

327752 bytes

Tested with all OpenWrt packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-01-27 12:18:17 +08:00
Hans Dedecker
6a87bdb14e glibc: update to latest 2.32 commit (BZ#2692 BZ#26988 BZ#26831 BZ#2706)
d3cb8f6222 aarch64: fix static PIE start code for BTI [BZ #27068]
082798622d __vfscanf_internal: fix aliasing violation (bug 26690)
33dc30bc83 aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831]
46e1e64fe3 elf: Pass the fd to note processing
b6eae83717 elf: Move note processing after l_phdr is updated
c6090dcebd aarch64: align address for BTI protection [BZ #26988]
610e2c5150 aarch64: Fix missing BTI protection from dependencies [BZ #26926]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-01-24 12:02:37 +08:00
Hans Dedecker
b009692333 glibc: update to latest 2.32 commit (BZ #20019, BZ #27177, BZ #27130)
4c619b3eed x86: Check IFUNC definition in unrelocated executable [BZ #20019]
87450ecf8a x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
2b4f67c2b3 Update for [BZ #27130] fix
1a24bbd43e x86-64: Avoid rep movsb with short distance [BZ #27130]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-01-16 12:22:57 +08:00
Rosen Penev
a75ff31357 glibc: add arc700 patch
glibc does not officially support ARC700 so this adds the missing
pieces. I looked at uClibc-ng and a patch by Synopsis for glibc.

ran make toolchain/glibc/refresh to clean up fuzz.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-01-15 12:08:37 +08:00
Hans Dedecker
f50f4d8cfa
glibc: update to latest 2.32 commit (BZ #24973)
0d9793e82a Fix buffer overrun in EUC-KR conversion module (bz #24973)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2021-01-10 21:29:47 +08:00
Hans Dedecker
e16560bb99 glibc: update to latest 2.32 commit
1d49bede4d tests-mcheck: New variable to run tests with MALLOC_CHECK_=3

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2020-12-31 11:25:40 +08:00
Hauke Mehrtens
baaef4b564 toolchain: Fix glibc selection on ARC targets
Without this change no libc is selected and the build will fail. This
will select glibc for ARC CPUs.

Fixes: 95f1002aca ("toolchain: default to glibc for ARC")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-12-23 11:55:59 +08:00
Rosen Penev
ddbb122a6d toolchain: remove uClibc-ng
After musl was introduced, it was desired to remove uClibc-ng. As ARC
has no musl support, it was kept around. However, glibc 2.32 includes
ARC support. This makes it possible to finally remove it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-23 11:37:12 +08:00
Rosen Penev
34d61c8b3d toolchain: remove uClibc-ng config stuff
This is in preparation for removing it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-23 11:36:42 +08:00
Rosen Penev
e8fdfd57e5 toolchain: default to glibc for ARC
glibc 2.32 gained support for the ARC architecture.

This is preparation for removing uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-23 11:35:48 +08:00