aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* toolchain/binutils: get rid of outdated libiberty hackAndre Heider2023-02-191-1/+0
| | | | | | | | | | | | | | | This reverts commit 68fcb15f90edd92ef36990c5696b9e79df07a6ec. binutils syncs libiberty from gcc, which defaults to not installing itself since [0], see also [1]. That change is apparently part of binutils 2.24, and the oldest supported version here is 2.37, hence we can remove this hack. [0] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=48d7db63ff581b026e057badf39f1f23fdf47928 [1] https://gcc.gnu.org/onlinedocs/libiberty/Using.html Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/binutils: get rid of ARC leftoversAndre Heider2023-02-191-6/+0
| | | | | | | | | | | | In [0] support for ARC specific binutils were added, which was later removed again [Fixes:]. Upstream binutils never had an extlib. [0] 8b5d644b "toolchain: add support of ARC architecture" Fixes: 8568dcd9 "toolchain: Remove binutils 2.29 for ARC targets" Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/binutils: fill in missing GRAPHITE_CONFIGUREAndre Heider2023-02-191-0/+6
| | | | | | | This var is used further down, but it's empty. Fix that with the very same values gcc uses. Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain: glibc: Update to glibc 2.37Linhui Liu2023-02-131-3/+3
| | | | | | | | This updates to glibc to version 2.37. Signed-off-by: Linhui Liu <liulinhui36@gmail.com> [Update to current git commit] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/gcc: clean up CFLAGSAndre Heider2023-02-091-9/+13
| | | | | | | | | | | Instead of having two different ways to pass flags to the gcc build process, add them as configure args, which is a reliable way to let gcc pass them around to its various pieces. Also add CXXFLAGS, since gcc started to use c++ for itself recently (~10 years ago now). Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/gcc: use explicit configure argsAndre Heider2023-02-092-0/+3
| | | | | | | Spell out what we want to enable or disable. This prevents host libs to leak in, so everyone get the same feature set. Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/binutils: use explicit configure argsAndre Heider2023-02-091-0/+4
| | | | | | | Spell out what we want to enable or disable. This prevents host libs to leak in, so everyone get the same feature set. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: strip useless `default n` Kconfig linesTony Butler2023-02-032-7/+0
| | | | | | | | | | Kconfig docs say: > The default value deliberately defaults to 'n' in order to avoid > bloating the build. Apply this rule everywhere, to avoid more cloning of bad examples Signed-off-by: Tony Butler <spudz76@gmail.com>
* toolchain: musl: Fix symbol loading in gdbHauke Mehrtens2023-01-221-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>
* toolchain/binutils: add support for version 2.40Linhui Liu2023-01-216-0/+90
| | | | | | | Release notes: https://sourceware.org/pipermail/binutils/2023-January/125671.html Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* toolchain/binutils: remove old sha256sumLinhui Liu2023-01-211-16/+0
| | | | | | Fixes: b3b0a25ee8cf5f508f06822d53af0b60e3116d8a Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* toolchain/gdb: use STAGING_DIR_HOST instead of hardcoding defaultChristian Marangi2023-01-091-4/+4
| | | | | | | Use STAGING_DIR_HOST to reference staging host directory instead of hardcoding it to default path. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gcc: use STAGING_DIR_HOST instead of hardcoding defaultChristian Marangi2023-01-092-5/+5
| | | | | | | Use STAGING_DIR_HOST to reference staging host directory instead of hardcoding it to default path. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gcc: fix broken gcc version selectionChristian Marangi2023-01-091-1/+1
| | | | | | | | | | | | | | | Config evaluation require default with if to be put before the generic default config with no condition. Putting the default config before any conditional default results in always selecting the non conditional one. This results in the version be hardcoded to gcc 12 even if gcc 11 is selected in the Advanced build options. Fix this by putting the gcc 12 default option as last after ANY conditional default config. Fixes: d9de5252a44e ("toolchain/gcc: switch to version 12 by default") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gcc: switch to version 12 by defaultHauke Mehrtens2023-01-092-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was build tested with all core packages on all targets successfully. Most packages from the feed are also building fine. This was run tested on the following systems: * lantiq/xrx200 musl * pistachio/generic musl * sunxi/cortexa53 musl * x86/64 musl * x86/64 glibc * armvirt/64 musl The size of the images stays more or less the same for MIPS BE and aarch64. I haven't tested other architectures. With GCC 11 I got these sizes for lantiq/xrx200: 7,219,848 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin 7,472,208 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin With GCC 12 I got these sizes for lantiq/xrx200: 7,217,355 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin 7,406,674 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin The sysupgrade image is probably padded. The initramfs image is 0.03% smaller. With GCC 11 I got these sizes for armvirt/64: 4,143,943 openwrt-armvirt-64-default-rootfs.tar.gz 10,887,176 openwrt-armvirt-64-Image 24,911,880 openwrt-armvirt-64-Image-initramfs 4,141,572 openwrt-armvirt-64-rootfs.cpio.gz 4,255,854 openwrt-armvirt-64-rootfs-ext4.img.gz 3,391,178 openwrt-armvirt-64-rootfs-squashfs.img.gz With GCC 12 I got these sizes for armvirt/64: 4,142,778 openwrt-armvirt-64-default-rootfs.tar.gz 10,887,176 openwrt-armvirt-64-Image 24,911,880 openwrt-armvirt-64-Image-initramfs 4,138,105 openwrt-armvirt-64-rootfs.cpio.gz 4,255,463 openwrt-armvirt-64-rootfs-ext4.img.gz 3,390,390 openwrt-armvirt-64-rootfs-squashfs.img.gz Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/gcc: Fix GCC version checkHauke Mehrtens2023-01-091-1/+1
| | | | | | | | | | The version check which sets GCC_VERSION_FILE to the correct value only worked when the advanced options menu was active and not when it was not active. Thank you Tony Butler for the fix. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/nasm: update to 2.16.01Linhui Liu2023-01-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ChangeLog: Version 2.16.01 _This is a documentation update release only._ (*) Fix the creation of the table of contents in the HTML version of the documentation. Version 2.16 (*) Support for the `rdf' format has been discontinued and all the RDOFF utilities has been removed. (*) The `--reproducible' option now leaves the filename field in the COFF object format blank. This was always rather useless since it is only 18 characters long; as such debug formats have to carry their own filename information anyway. (*) Fix handling of MASM-syntax reserved memory (e.g. `dw ?') when used in structure definitions. (*) The preprocessor now supports functions, which can be less verbose and more convenient than the equivalent code implemented using directives. See section 4.4. (*) Fix the handling of `%00' in the preprocessor. (*) Fix incorrect handling of path names affecting error messages, dependency generation, and debug format output. (*) Support for the RDOFF output format and the RDOFF tools have been removed. The RDOFF tools had already been broken since at least NASM 2.14. For flat code the ELF output format recommended; for segmented code the `obj' (OMF) output format. (*) New facility: preprocessor functions. Preprocessor functions, which are expanded similarly to single-line macros, can greatly simplify code that in the past would have required a lengthy list of directives and intermediate macros. See section 4.4. (*) Single-line macros can now declare parameters (using a `&&' prefix) that creates a quoted string, but does _not_ requote an already quoted string. See section 4.2.1. (*) Instruction table updated per public information available as of November 2022. (*) All warnings in the preprocessor have now been assigned warning classes. See appendix A. (*) Fix the invalid use of `RELA'-type relocations instead of `REL'- type relocations when generating DWARF debug information for the `elf32' output format. (*) Fix the handling `at' in `istruc' when the structure contains local labels. See section 5.9.2. (*) When assembling with `--reproducible', don't encode the filename in the COFF header for the `coff', `win32' or `win64' output formats. The COFF header only has space for an 18-character filename, which makes this field rather useless in the first place. Debug output data, if enabled, is not affected. (*) Fix incorrect size calculation when using MASM syntax for non- byte reservations (e.g. `dw ?'.) (*) Allow forcing an instruction in 64-bit mode to have a (possibly redundant) REX prefix, using the syntax `{rex}' as a prefix. (*) Add a `{vex}' prefix to enforce VEX (AVX) encoding of an instruction, either using the 2- or 3-byte VEX prefixes. (*) The `CPU' directive has been augmented to allow control of generation of VEX (AVX) versus EVEX (AVX-512) instruction formats, see section 7.11. (*) Some recent instructions that previously have been only available using EVEX encodings are now also encodable using VEX (AVX) encodings. For backwards compatibility these encodings are not enabled by default, but can be generated either via an explicit `{vex}' prefix or by specifying either `CPU LATEVEX' or `CPU NOEVEX'; see section 7.11. (*) Document the already existing `%unimacro' directive. See section 4.5.12. (*) Fix a code range generation bug in the DWARF debug format (incorrect information in the `DW_AT_high_pc' field) for the ELF output formats. This bug happened to cancel out with a bug in older versions of the GNU binutils linker, but breaks with other linkers and updated or other linkers that expect the spec to be followed. (*) Fix segment symbols with addends, e.g. `jmp _TEXT+10h:0' in output formats that support segment relocations, e.g. the `obj' format. (*) Fix various crashes and hangs on invalid input. Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* toolchain/binutils: switch to version 2.39 by defaultHauke Mehrtens2023-01-012-2/+2
| | | | | | | | | | | | | | | | This was build tested with all core packages on all targets successfully. This was run tested on the following systems: * lantiq/xrx200 musl * sunxi/cortex53 musl * x86/64 musl * x86/64 glibc Some trusted firmware arm builds needed some fixes to build with binutils 2.39, this was merged before. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/binutils: backport stable patchesHauke Mehrtens2022-12-3111-0/+1260
| | | | | | | | | | | | Add the patches with real changes from the binutils 2.39 stable branch. I am not aware that we ran into any of these problems, but I think it is better to take the existing stable patches. They were exported like this: git format-patch binutils-2_39...origin/binutils-2_39-branch I removed the patches changing the version numbers only. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Update to glibc 2.36Hauke Mehrtens2022-12-213-6/+6
| | | | | | This updates to glibc to version 2.36. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: backport patches to fix build with glibc 2.36Hauke Mehrtens2022-12-211-0/+39
| | | | | | | | | | | glibc 2.36 changed the definition of enum fsconfig_command, it now collides with the same definition from sys/mount.h. Remove the include of linux/fs.h This still compiled with musl too. This backports a patch which is already in the stable branch of GCC 11 and GCC 12. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove gcc 10.x supportHauke Mehrtens2022-10-2321-851/+0
| | | | | | This compiler is old and was never used by default in OpenWrt. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove gcc 8.x supportHauke Mehrtens2022-10-2322-862/+0
| | | | | | This compiler is old and not used by OpenWrt for some time now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: prefer HTTPS if available (for packages)Daniel Cousens2022-10-051-1/+1
| | | | | | | | Changes PKG_SOURCE_URL's for arptables, bsdiff, dnsmasq, fortify-headers, ipset, ipset-dns, libaudit, libpcap, libressl, lua, lua5.3, tcpdump and valgrind, to HTTPS Signed-off-by: Daniel Cousens <github@dcousens.com>
* Revert "toolchain/gcc: use zstd from tools"Christian Marangi2022-09-271-1/+0
| | | | | | | This reverts commit e6cc3ded0709aa6c7a190c31575bb5c19e204cd2. Require more testing as it does cause compilation error. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gdb: fix expat locationRosen Penev2022-09-271-1/+1
| | | | | | | GDB is not finding tools/expat. This fixes it. Move it up with the other tools. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain/gcc: use zstd from toolsRosen Penev2022-09-271-0/+1
| | | | | | pkgconfig is not used for some reason. Match other used tools. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: Include ./include/fortify for external musl toolchainHauke Mehrtens2022-09-121-0/+1
| | | | | | | | | | | | | | When building with an external toolcahin with musl also include ./include/fortify by default. This is also done when we build with the internal toolchain using musl libc. Without this extra include the fortify source feature is not working when using an external musl toolchain. All binaries were compiled without fortify source when an external musl toolchain was used. All binaries release done by the OpenWrt project use the internal toolcahin where fortify source is working. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: improve patch handling by introducing major versionNick Hainke2022-09-1174-1/+2
| | | | | | | | | | | Every minor version bump of a major version will result in a huge patch diff because of the moving of all the patches from version e.g. 11.2.0 to 11.3.0. This commit only use the major version for the patch folders to differentiate between the different gcc versions. This will significantly improve the reviewing of the smaller version bump patches and help to see what really changed in a minor version bump. Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchain: gdb: update to 12.1Nick Hainke2022-09-022-3/+3
| | | | | | | | | | Release Notes: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-12.1-release Refreshed patch: - 120-fix-compile-flag-mismatch.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchain: bump GCC 12 to 12.2.0Nick Hainke2022-08-2819-9/+9
| | | | | | | | Refreshed patches: - 910-mbsd_multi.patch - 970-macos_arm64-building-fix.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchain: glibc: Increase min kernel version to 5.10Hauke Mehrtens2022-08-151-1/+1
| | | | | | | | This removes all compatibility code normally compiled into glibc for kernel < 5.10 from our build. The build glibc version will only work with Linux kernel >= 5.10. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Update to glibc 2.35Hauke Mehrtens2022-08-153-5/+5
| | | | | | This updates to glibc to version 2.35. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: Update glibc 2.34 to recent HEADHauke Mehrtens2022-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following changes: 71326f1f2f nptl: Fix pthread_cancel cancelhandling atomic operations 3e0a91b79b scripts: Add glibcelf.py module f0c71b34f9 Default to --with-default-link=no (bug 25812) ca0faa140f misc: Fix rare fortify crash on wchar funcs. [BZ 29030] 0d477e92c4 INSTALL: Rephrase -with-default-link documentation bc56ab1f4a dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 83cc145830 scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier 16245986fb x86-64: Optimize load of all bits set into ZMM register [BZ #28252] b5a44a6a47 x86: Modify ENTRY in sysdep.h so that p2align can be specified 5ec3416853 x86: Optimize memcmp-evex-movbe.S for frontend behavior and size 6d18a93dbb x86: Optimize memset-vec-unaligned-erms.S baf3ece634 x86: Replace sse2 instructions with avx in memcmp-evex-movbe.S f35ad30da4 x86-64: Improve EVEX strcmp with masked load a182bb7a39 x86-64: Remove Prefer_AVX2_STRCMP 2e64237a87 x86-64: Replace movzx with movzbl a7392db2ff x86: Optimize memmove-vec-unaligned-erms.S cecbac5212 x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h 7cb126e7e7 x86: Shrink memcmp-sse4.S code size 4bbd0f866a x86-64: Use notl in EVEX strcmp [BZ #28646] f3a99b2216 x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI c796418d00 x86: Optimize L(less_vec) case in memcmp-evex-movbe.S 9681691402 linux: Fix missing internal 64 bit time_t stat usage 55640ed3fd i386: Regenerate ulps 88a8637cb4 linux: Fix fchmodat with AT_SYMLINK_NOFOLLOW for 64 bit time_t (BZ#29097) c66c92181d posix/glob.c: update from gnulib bc6fba3c80 Add PF_MCTP, AF_MCTP from Linux 5.15 to bits/socket.h fd5dbfd1cd Update kernel version to 5.15 in tst-mman-consts.py 5146b73d72 Add ARPHRD_CAN, ARPHRD_MCTP to net/if_arp.h 6af165658d Update syscall lists for Linux 5.17 81181ba5d9 Update kernel version to 5.16 in tst-mman-consts.py 0499c3a95f Update kernel version to 5.17 in tst-mman-consts.py f858bc3093 Add SOL_MPTCP, SOL_MCTP from Linux 5.16 to bits/socket.h c108e87026 aarch64: Add HWCAP2_ECV from Linux 5.16 97cb8227b8 Add HWCAP2_AFP, HWCAP2_RPRES from Linux 5.17 to AArch64 bits/hwcap.h 31af92b9c8 manual: Clarify that abbreviations of long options are allowed 0d5b36c8cc x86: Optimize strcmp-avx2.S c41a66767d x86: Optimize strcmp-evex.S d299032743 x86-64: Fix strcmp-avx2.S 53ddafe917 x86-64: Fix strcmp-evex.S ea19c490a3 x86: Improve vec generation in memset-vec-unaligned-erms.S 190ea5f7e4 x86: Remove SSSE3 instruction for broadcast in memset.S (SSE2 Only) 5cb6329652 x86-64: Optimize bzero 70509f9b48 x86: Set .text section in memset-vec-unaligned-erms 5373c90f2e x86: Fix bug in strncmp-evex and strncmp-avx2 [BZ #28895] e123f08ad5 x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896] e4a2fb76ef manual: Document the dlinfo function 91c2e6c3db dlfcn: Implement the RTLD_DI_PHDR request type for dlinfo b72bbba236 fortify: Ensure that __glibc_fortify condition is a constant [BZ #29141] 8de6e4a199 x86: Improve L to support L(XXX_SYMBOL (YYY, ZZZ)) 6cba46c858 x86_64/multiarch: Sort sysdep_routines and put one entry per line 37f373e334 x86-64: Remove bzero weak alias in SS2 memset dd457606ca x86_64: Remove bcopy optimizations 3c55c20756 x86: Code cleanup in strchr-avx2 and comment justifying branch dd6d3a0bbc x86: Code cleanup in strchr-evex and comment justifying branch 0ae1006967 x86: Optimize strcspn and strpbrk in strcspn-c.c 0a2da01110 x86: Optimize strspn in strspn-c.c 0dafa75e3c x86: Remove strcspn-sse2.S and use the generic implementation 3811544655 x86: Remove strpbrk-sse2.S and use the generic implementation a4b1cae068 x86: Remove strspn-sse2.S and use the generic implementation 5997011826 x86: Optimize str{n}casecmp TOLOWER logic in strcmp.S 3605c74407 x86: Optimize str{n}casecmp TOLOWER logic in strcmp-sse42.S 3051cf3e74 x86: Add AVX2 optimized str{n}casecmp b13a2e68eb x86: Add EVEX optimized str{n}casecmp 80883f4354 x86: Remove AVX str{n}casecmp 4ff6ae069b x86: Small improvements for wcslen ffe75982cc x86: Remove memcmp-sse4.S df5de87260 x86: Cleanup page cross code in memcmp-avx2-movbe.S 0a11305416 x86: Optimize {str|wcs}rchr-sse2 00f09a14d2 x86: Optimize {str|wcs}rchr-avx2 596c9a32cc x86: Optimize {str|wcs}rchr-evex 1f83d40dfa elf: Remove unused NEED_DL_BASE_ADDR and _dl_base_addr b0bd6a1323 elf: Merge dl-sysdep.c into the Linux version 2139b1848e Linux: Remove HAVE_AUX_SECURE, HAVE_AUX_XID, HAVE_AUX_PAGESIZE 458733fffe Linux: Remove DL_FIND_ARG_COMPONENTS 08728256fa Linux: Assume that NEED_DL_SYSINFO_DSO is always defined 4b9cd5465d Linux: Consolidate auxiliary vector parsing 1cc4ddfeeb Revert "Linux: Consolidate auxiliary vector parsing" 28bdb03b1b Linux: Include <dl-auxv.h> in dl-sysdep.c only for SHARED ff900fad89 Linux: Consolidate auxiliary vector parsing (redo) be9240c84c elf: Remove __libc_init_secure 1e7b011f87 i386: Remove OPTIMIZE_FOR_GCC_5 from Linux libc-do-syscall.S 1a5b9d1a23 i386: Honor I386_USE_SYSENTER for 6-argument Linux system calls b38c9cdb58 Linux: Define MMAP_CALL_INTERNAL b2387bea84 ia64: Always define IA64_USE_NEW_STUB as a flag macro e7ca2a475c Linux: Implement a useful version of _startup_fatal 43d77ef9b8 Linux: Introduce __brk_call for invoking the brk system call ede8d94d15 csu: Implement and use _dl_early_allocate during static startup 89b638f48a S390: Enable static PIE c73c79af7d rtld: Use generic argv adjustment in ld.so [BZ #23293] b2585cae28 linux: Add a getauxval test [BZ #23293] 14770f3e04 string.h: fix __fortified_attr_access macro call [BZ #29162] 83ae8287c1 x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #29127] ff450cdbde Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose b349fe0722 misc: Use 64 bit stat for daemon (BZ# 29203) aa8a87f51d misc: Use 64 bit stat for getusershell (BZ# 29204) 9db6a597ef posix: Use 64 bit stat for posix_fallocate fallback (BZ# 29207) f9c3e57ac2 posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208) 61fd3e0e74 socket: Use 64 bit stat for isfdtype (BZ# 29209) 34422108f4 inet: Use 64 bit stat for ruserpass (BZ# 29210) 52431199b5 catgets: Use 64 bit stat for __open_catalog (BZ# 29211) b3f935940e iconv: Use 64 bit stat for gconv_parseconfdir (BZ# 29213) 9947f2df19 socket: Fix mistyped define statement in socket/sys/socket.h (BZ #29225) 4c92a10412 powerpc: Fix VSX register number on __strncpy_power9 [BZ #29197] a7ec6363a3 nptl: Fix __libc_cleanup_pop_restore asynchronous restore (BZ#29214) 96944f0f81 hppa: Remove _dl_skip_args usage (BZ# 29165) bb4148283f nios2: Remove _dl_skip_args usage (BZ# 29187) 368c5c3e00 nss: add assert to DB_LOOKUP_FCT (BZ #28752) 94ab2088c3 nss: handle stat failure in check_reload_and_get (BZ #28752) 4b246b2bbd linux: Fix mq_timereceive check for 32 bit fallback code (BZ 29304) 7789a84923 nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore 8d324019e6 x86_64: Remove end of line trailing spaces eb9aa96fac x86_64: Remove bzero optimization 8ab861d295 x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen f6bc52f080 x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT 82a707aeb7 x86_64: Add strstr function with 512-bit EVEX 70be93d1c5 x86: Create header for VEC classes in x86 strings library e805606193 x86: Add COND_VZEROUPPER that can replace vzeroupper if no `ret` 4901009dad x86: Optimize memrchr-sse2.S 83a986e9fb x86: Optimize memrchr-evex.S b05bd59823 x86: Optimize memrchr-avx2.S a910d7e164 x86: Shrink code size of memchr-avx2.S 3c87383a20 x86: Shrink code size of memchr-evex.S 820504e3ed x86: ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST expect no transactions fc54e1fae8 x86: Align varshift table to 32-bytes 6e008c884d x86: Fix misordered logic for setting `rep_movsb_stop_threshold` 9d50e162ee x86: Add sse42 implementation to strcmp's ifunc 94b0dc9419 x86: Add bounds `x86_non_temporal_threshold` ba1c3f23d9 x86: Cleanup bounds checking in large memcpy case c51d8d383c x86: Add BMI1/BMI2 checks for ISA_V3 check d201c59177 x86: Align entry for memrchr to 64-bytes. aadd0a1c7c x86: Put wcs{n}len-sse4.1 in the sse4.1 text section f4598f0351 x86: Add definition for __wmemset_chk AVX2 RTM in ifunc impl list 7079931c51 x86: Move and slightly improve memset_erms 35f9c72c8b x86: Move mem{p}{mov|cpy}_{chk_}erms to its own file ccc54bd61c x86: Add missing IS_IN (libc) check to strncmp-sse4_2.S b991af5063 Update syscall-names.list for Linux 5.18 b2f32e7464 malloc: Simplify implementation of __malloc_assert 875b2414cd dlfcn: Pass caller pointer to static dlopen implementation (bug 29446) 4ab59ce4e5 Update syscall lists for Linux 5.19 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: binutils: add support for version 2.39Nick Hainke2022-08-136-0/+90
| | | | | | | Release notes: https://sourceware.org/pipermail/binutils/2022-August/122246.html Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchaini/gcc: fix libstdc++ dual abi modelIvan Maslov2022-07-071-1/+1
| | | | | | | | | | libstdcxx-dual-abi needs to be enabled to actually support C++11 ABI. Enable the config flag to also permit support of .NET 6 development on OpenWrt. Signed-off-by: Ivan Maslov <avenger_msoft@mail.ru> [ reword commit description and title ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain: add support for GCC 12Rui Salvaterra2022-06-0120-2/+625
| | | | | | | | | | | | | | | | GCC 12.1 is out. Add support for it. Deleted (upstreamed): 011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch 931-libffi-fix-MIPS-softfloat-build-issue.patch Deleted (unneeded?) 970-macos_arm64-building-fix.patch Other patches manually rebased due to C++ conversion and consequent file name changing (.c to .cc). Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* toolchain: bump GCC 11 to 11.3.0Rui Salvaterra2022-06-0122-123/+9
| | | | | | Remove an upstreamed patch and rebase all remaining patches. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* tools/dwarves: add host packageTony Ambardar2022-05-181-0/+8
| | | | | | | | | | | | | | | | | | dwarves is a set of tools that use the debugging information inserted in ELF binaries by compilers such as GCC. Utilities in the dwarves suite include pahole, which can be used to find alignment holes in structs and classes, and also extracts other information such as CPU cacheline alignment, helping pack those structures to achieve more cache hits. These tools are also used to encode and read the BTF type information format used with the bpf syscall, making this a Linux build dependency when using kernel BTF information. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [bump to 1.23, add elfutils dep, drop host lib usage, drop cmake release target, use RM macro] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* toolchain: Update glibc 2.34 to recent HEADHauke Mehrtens2022-04-192-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following changes: 31186e2cb7 elf: Sort tests and modules-names 511b244cc5 elf: Add a comment after trailing backslashes de6cdd6875 elf/Makefile: Reflow and sort most variable assignments 948ebc098e Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader) b952c25dc7 x86: Black list more Intel CPUs for TSX [BZ #27398] aa601d0244 x86: Use CHECK_FEATURE_PRESENT to check HLE [BZ #27398] e09e7b1492 support: Add support_socket_so_timestamp_time64 e098446037 linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ#28350) 489d0b8b32 Linux: Only generate 64 bit timestamps for 64 bit time_t recvmsg/recvmmsg 008003dc6e tst-socket-timestamp-compat.c: Check __TIMESIZE [BZ #28837] 05c83ccaf5 linux: __get_nprocs_sched: do not feed CPU_COUNT_S with garbage [BZ #28850] ad615b59c7 Linux: Simplify __opensock and fix race condition [BZ #28353] d8302ba2da hurd if_index: Explicitly use AF_INET for if index discovery 6eaf10cbb7 socket: Do not use AF_NETLINK in __opensock 0351c75c5f linux: Fix missing __convert_scm_timestamps (BZ #28860) d64b08d5ba Add reference to BZ#28860 on NEWS 007e054d78 linux: fix accuracy of get_nprocs and get_nprocs_conf [BZ #28865] 04d60ce0f2 string: Add a testcase for wcsncmp with SIZE_MAX [BZ #28755] 38e0d24794 x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #28896] d093b677c3 x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896] 15b00d2af0 x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.c d5d1c95aaf NEWS: Add a bug fix entry for BZ #28896 852361b5a3 localedef: Handle symbolic links when generating locale-archive 3be79b72d5 Fix elf/tst-audit2 on hppa c6f9085ee4 hppa: Fix swapcontext f610d2935f hppa: Revise gettext trampoline design 40fc6a74ee nptl: Fix cleanups for stack grows up [BZ# 28899] 6c9c230765 hppa: Fix warnings from _dl_lookup_address b5032c3d37 io: Add fsync call in tst-stat b53f0c11de nss: Do not mention NSS test modules in <gnu/lib-names.h> 54b1273395 nss: Protect against errno changes in function lookup (bug 28953) c82bdf033f Don't add access size hints to fortifiable functions 0e6ebf06e4 Make sure that the fortified function conditionals are constant 536910724d debug: Add tests for _FORTIFY_SOURCE=3 98ea9372cc __glibc_unsafe_len: Fix comment 10f7bdebe5 fortify: Fix spurious warning with realpath d6a58bd81d Enable _FORTIFY_SOURCE=3 for gcc 12 and above f8c2f620f1 debug: Autogenerate _FORTIFY_SOURCE tests 224d8c1890 debug: Synchronize feature guards in fortified functions [BZ #28746] 738ee53f0c hppa: Implement swapcontext in assembler (bug 28960) d53b9cc391 hppa: Use END instead of PSEUDO_END in swapcontext.S 4b5b8a1cdf powerpc: Delete unneeded ELF_MACHINE_BEFORE_RTLD_RELOC b19de59d62 elf: Avoid nested functions in the loader [BZ #27220] c6df39a0bd elf: Fix elf_get_dynamic_info definition b868b45f67 elf: Fix dynamic-link.h usage on rtld.c f6a54a3042 elf: Fix elf_get_dynamic_info() for bootstrap a31bbe3242 elf: Move LAV_CURRENT to link_lavcurrent.h e25fe99213 elf: Move la_activity (LA_ACT_ADD) after _dl_add_to_namespace_list() (BZ #28062) ce0cb6d1d2 elf: Add _dl_audit_objopen 66e9d27a09 elf: Add _dl_audit_activity_map and _dl_audit_activity_nsid ec0fc2a153 elf: Add _dl_audit_objsearch 198660741b elf: Add _dl_audit_objclose b2d99731b6 elf: Add _dl_audit_symbind_alt and _dl_audit_symbind 31473c273b elf: Add _dl_audit_preinit fd9c4e8a1b elf: Add _dl_audit_pltenter a8e211daea elf: Add _dl_audit_pltexit 29496b3103 elf: Avoid unnecessary slowdown from profiling with audit (BZ#15533) 02c6a3d353 elf: Add audit tests for modules with TLSDESC d1b9bee29a elf: Issue audit la_objopen for vDSO 2255621f0e elf: Do not fail for failed dlmopen on audit modules (BZ #28061) 98047ba95c elf: Add la_activity during application exit efb21b5fb2 elf: Fix initial-exec TLS access on audit modules (BZ #28096) 056fc1c0e3 elf: Issue la_symbind for bind-now (BZ #23734) b118bce87a elf: Fix runtime linker auditing on aarch64 (BZ #26643) 165e7ad459 Fix elf/tst-audit25a with default bind now toolchains aabdad371f elf: Replace tst-audit24bmod2.so with tst-audit24bmod2 4dca2d3a7b hppa: Fix bind-now audit (BZ #28857) ceed89d089 NEWS: Update fixed bug list for LD_AUDIT backports. 0c03cb54c8 S390: Add new s390 platform z16. 290db09546 nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 5d8c777634 hurd: Fix arbitrary error code b87b697f15 mips: Fix mips64n32 64 bit time_t stat support (BZ#29069) Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: musl: Update to version 1.2.3Hauke Mehrtens2022-04-112-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>
* toolchain: binutils: add support for version 2.38Rui Salvaterra2022-03-096-0/+90
| | | | | | | | | | | | While at it, also fix the download.xs4all.nl and add ftp.gnu.org to the GNU mirrors, as it seems to be updated faster. Deleted (upstreamed): 600-Close_the_file_descriptor.patch [1] [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=5a98fb7513b559e20dfebdbaa2a471afda3b4742 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* toolchain/binutils: remove old versionsFelix Fietkau2022-03-0715-362/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain: glibc: Remove patch for ARC700Hauke Mehrtens2022-02-011-55/+0
| | | | | | The ARC700 target was renoved, this patch is not needed any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gdb: Update to version 11.2Hauke Mehrtens2022-02-011-2/+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>
* glibc: update to 2.34 HEADHans Dedecker2022-01-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 72123e1b56 NEWS: Add a bug entry for BZ #28755 08beb3a3f4 x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755] b50d5b746c x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] 1b9cd6a721 NEWS: add bug entry for BZ #28769 and BZ #28770 3438bbca90 Linux: Detect user namespace support in io/tst-getcwd-smallbuff d084965adc realpath: Avoid overwriting preexisting error (CVE-2021-3998) 472e799a5f getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999) 8c8a71c85f tst-realpath-toolong: Fix hurd build f7a79879c0 realpath: Set errno to ENAMETOOLONG for result larger than PATH_MAX [BZ #28770] 73c362840c stdlib: Fix formatting of tests list in Makefile 269eb9d930 stdlib: Sort tests in Makefile 062ff490c1 support: Add helpers to create paths longer than PATH_MAX 82b1acd9de powerpc: Fix unrecognized instruction errors with recent binutils 1d401d1fcc x86: use default cache size if it cannot be determined [BZ #28784] 6890b8a3ae CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768) 1081f1d3dd sunrpc: Test case for clnt_create "unix" buffer overflow (bug 22542) 7b5d433fd0 CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542) 5575daae50 socket: Add the __sockaddr_un_set function 03e6e02e6a Disable debuginfod in printer tests [BZ #28757] 705f1e4606 Update syscall lists for Linux 5.16 2fe2af88ab i386: Remove broken CAN_USE_REGISTER_ASM_EBP (bug 28771) 73558ffe84 Update syscall lists for Linux 5.15 e64235ff42 powerpc: Fix unrecognized instruction errors with recent GCC Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/binutils: v2.37 Close the file descriptor if there is no archive fdHirokazu MORIKAWA2022-01-081-0/+184
| | | | | | | | | | | | | | | | | | | This fixes the following build error: /home/build/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-11.2.0_musl/lib/gcc/aarch64-openwrt-linux-musl/11.2.0/../../../../aarch64-openwrt-linux-musl/bin/ld: /home/sergey/openwrt2/build_dir/target-aarch64_cortex-a53_musl/node-v14.18.2/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a: error adding symbols: malformed archive collect2: error: ld returned 1 exit status It's a bad error handling related to -EMFILE (too many open files). nodejs is probably just very close to open file limit. https://sourceware.org/bugzilla/show_bug.cgi?id=28138 https://github.com/nodejs/node/issues/39452 https://github.com/openwrt/packages/issues/17496 https://github.com/openwrt/packages/issues/16729 https://github.com/openwrt/packages/issues/17164 Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com> [Take full patch from 2.37 branch and refresh] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Enable --enable-bind-nowHauke Mehrtens2022-01-071-0/+1
| | | | | | | Enable --enable-bind-now when CONFIG_PKG_RELRO_FULL is set. This option is activated by default. This will enable full RELRO protection. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Increase minimum kernel version to 5.4Hauke Mehrtens2022-01-071-1/+1
| | | | | | | | Increase the minimum kernel version needed by the glibc compiled for OpenWrt to version 5.4. With this setting the glibc build will remove all code needed to support older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Update to version 2.34Hauke Mehrtens2022-01-073-8/+8
| | | | | | | | | | | | glibc version 2.34 does not provide versioned shared libraries any more, it only provides shared libraries using the ABI version. Do not try to copy them any more. The functions from libpthread and librt were integrated into the main binary, the libpthread.so and librt.so are only used for backwards compatibility any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>