aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* rpcd: update to latest Git HEADJo-Philipp Wich2022-10-151-3/+3
| | | | | | | | | | 8c852b6 ucode: write ucode runtime exceptions to stderr e80d0b2 ucode: pass-through `ubus_rpc_session` argument 0d02243 ucode: initialize module search path early Signed-off-by: Jo-Philipp Wich <jo@mein.io> (backported from commits 94129cbefb6027cdfe2b7801a6e27a36d4ec58b8 and db17c7527107c1dae190608a1313a3977fe4f23f)
* image: always rebuild kernel loadersMatthias Schiffer2022-10-141-1/+1
| | | | | | | | | | | | Kernel loaders like the lzma-loader currently don't track changes to their sources. This can lead to an old version of a loader to be used when a build tree is not clean between builds. As the loaders are tiny and the build times are insignificant, simply force rebuilding them on every build to avoid this problem. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit a01d23e755ba46f41e667d558d82d4871d7f5450)
* mpc85xx: p1010: make TP-Link WDR4900 v1 build againMatthias Schiffer2022-10-141-3/+17
| | | | | | | | Add the spi-loader as a pre-kernel stage, so we can lift the kernel size limit. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit 2fa53c9214b7b93fd82ad1ff885145b9e1c1f71b)
* mpc85xx: add SPI kernel loader for TP-Link TL-WDR4900 v1Matthias Schiffer2022-10-1422-0/+1364
| | | | | | | | | | | Similar to the lzma-loader on our MIPS targets, the spi-loader acts as a second-stage loader that will then load and start the actual kernel. As the TL-WDR4900 uses SPI-NOR and the P1010 family does not have support for memory mapping of this type of flash, this loader needs to contain a basic driver for the FSL ESPI controller. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit a296055b82fbb20457273492069ce9d62009e2a1)
* ramips: fix ZyXEL NWA55AXE model nameDavid Bauer2022-10-141-1/+1
| | | | | | | The model name was missing a letter. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 9c8605dee238cdf52e88b6a1aa64d5b7bf5dd846)
* ramips: add support for ZyXEL NWA50AX / NWA55AXEDavid Bauer2022-10-1412-2/+678
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Mediatek MT7621 RAM: 256M DDR3 FLASH: 128M NAND ETH: 1x Gigabit Ethernet WiFi: Mediatek MT7915 (2.4/5GHz 802.11ax 2x2 DBDC) BTN: 1x Reset (NWA50AX only) LED: 1x Multi-Color (NWA50AX only) UART Console ------------ NWA50AX: Available below the rubber cover next to the ethernet port. NWA55AXE: Available on the board when disassembling the device. Settings: 115200 8N1 Layout: <12V> <LAN> GND-RX-TX-VCC Logic-Level is 3V3. Don't connect VCC to your UART adapter! Installation Web-UI ------------------- Upload the Factory image using the devices Web-Interface. As the device uses a dual-image partition layout, OpenWrt can only installed on Slot A. This requires the current active image prior flashing the device to be on Slot B. If the currently installed image is started from Slot A, the device will flash OpenWrt to Slot B. OpenWrt will panic upon first boot in this case and the device will return to the ZyXEL firmware upon next boot. If this happens, first install a ZyXEL firmware upgrade of any version and install OpenWrt after that. Installation TFTP ----------------- This installation routine is especially useful in case * unknown device password (NWA55AXE lacks reset button) * bricked device Attach to the UART console header of the device. Interrupt the boot procedure by pressing Enter. The bootloader has a reduced command-set available from CLI, but more commands can be executed by abusing the atns command. Boot a OpenWrt initramfs image available on a TFTP server at 192.168.1.66. Rename the image to owrt.bin $ atnf owrt.bin $ atna 192.168.1.88 $ atns "192.168.1.66; tftpboot; bootm" Upon booting, set the booted image to the correct slot: $ zyxel-bootconfig /dev/mtd10 get-status $ zyxel-bootconfig /dev/mtd10 set-image-status 0 valid $ zyxel-bootconfig /dev/mtd10 set-active-image 0 Copy the OpenWrt ramboot-factory image to the device using scp. Write the factory image to NAND and reboot the device. $ mtd write ramboot-factory.bin firmware $ reboot Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit a0b7fef0ffe4cd9cca39a652a37e4f3ce8f0a681)
* busybox: nslookup: ensure unique transaction IDs for the DNS queriesUwe Kleine-König2022-10-141-0/+42
| | | | | | | | | | | | | On machines with a coarse monotonic clock (here: TP-Link RE200 powered by a MediaTek MT7620A) it can happen that the two DNS requests (for A and AAAA) share the same transaction ID. If this happens the second reply is wrongly dropped and nslookup reports "No answer". Fix this by ensuring that the transaction IDs are unique. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> (cherry picked from commit 63e5ba8e69f03a584b707520db0a0821eda3024f) Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mac80211: backport security fixesFelix Fietkau2022-10-1315-1/+2057
| | | | | | | | | | | | This mainly affects scanning and beacon parsing, especially with MBSSID enabled Fixes: CVE-2022-41674 Fixes: CVE-2022-42719 Fixes: CVE-2022-42720 Fixes: CVE-2022-42721 Fixes: CVE-2022-42722 Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 26f400210d6b3780fcc0deb89b9741837df9c8b8)
* mac80211: merge upstream fixesKoen Vandeputte2022-10-133-0/+179
| | | | | | | fetched from upstream kernel v5.15.67 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> (cherry-picked from commit aa9be386d40f3a5e559c0f2183c772175a45cf0d)
* ramips: skip bbt scan on mt7621Felix Fietkau2022-10-101-1/+1
| | | | | | | reduces unnecessary flash reads and speeds up boot time Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 55e8d52157f191bf578cf716983764e64c6f94e4)
* ramips: enable support for mtk_bmt in the nand flash driverFelix Fietkau2022-10-101-0/+5
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 4947623d6c801365a60f383217c187e3d9dae953)
* ramips: mt7621_nand: initialize ECC_FDMADDRFelix Fietkau2022-10-101-0/+4
| | | | | | | This is needed for the ECC controller to access FDM data Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 73b2a4ca033bbd84d3e0373d4fd21c559ddc090b)
* ramips: mt7621_nand: reduce log verbosityStijn Tintel2022-10-101-1/+1
| | | | | | | | | | Avoid flooding the log with the message below by increasing the log level to debug: mt7621-nand 1e003000.nand: Using programmed access timing: 31c07388 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry-picked from commit 89c195925109d2b59f284bfdd23a3d853c67e27b)
* ramips: move mt7621_nand driver to filesStijn Tintel2022-10-102-1356/+1353
| | | | | | | | | | | | The patch was rejected by upstream. The mtk_nand driver should be modified to support the mt7621 flash controller instead. As there is no newer version to backport, or no upstream version to fix bugs, let's move the driver to the files dir under the ramips target. This makes it easier to make changes to the driver while waiting for mt7621 support to land in mtk_nand. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry-picked from commit 2f2e81a4ea110328c5434054d1412b4d1d8fde81)
* kernel: mtdsplit: support UBI after FIT imagesFelix Fietkau2022-10-101-2/+7
| | | | | | | Change the partition name accordingly. Same behavior as mtdsplit_uimage Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 62fd9f97090d05637a283d594f2d02958fd36a80)
* kernel: mtk_bmt: skip bitflip check if threshold isn't setChuanhong Guo2022-10-101-1/+1
| | | | | | | kernel spi-nand driver leaves this field empty and let mtd set it later. Signed-off-by: Chuanhong Guo <gch981213@gmail.com> (cherry-picked from commit 6fa50e26e7c1221085d8e71cde7e9148c540c752)
* kernel: mtk_bmt: add debugfs file to attempt repair of remapped sectorsFelix Fietkau2022-10-101-1/+26
| | | | | | | This can be used for sectors that are not physically damaged Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 2a8a333ee96fb0c8d9875abf9fcd5c412f4b19ae)
* kernel: add support for mediatek NMBM flash mapping supportFelix Fietkau2022-10-104-4/+2361
| | | | | | | | This NAND flash remapping method is used on newer MediaTek devices with NAND flash. Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 06382d1af7b2c5afcde605db436522326fbf5467)
* kernel: mtk_bmt: on error, do not attempt to remap out-of-range blocksFelix Fietkau2022-10-102-15/+24
| | | | | | | Pass errors to caller instead Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit be1f2b4d9d01594c2fd20f37b8e63e7cb7a81572)
* kernel: mtk_bmt: fix block copying on remap with bmt v2Felix Fietkau2022-10-101-6/+6
| | | | | | | Copy from the previously mapped block (in case it was remapped already) Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 7d1e2be1605eda85e1a607a3d3ddefed1b961d3d)
* kernel: mtk_bmt: allow get_mapping_block to return an errorFelix Fietkau2022-10-104-8/+25
| | | | | | | | Used by the mapping implementation to indicate that no backing block is available Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit b4c7f8c5f7a2dab76fe90849e112c6bd8f80ab19)
* kernel: split up mtk_bmt driver codeFelix Fietkau2022-10-105-806/+857
| | | | | | | Keep a separate source file per variant Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 601c7b4adb0f91005a8755bf9575c68ac623cc33)
* OpenWrt v22.03.1: revert to branch defaultsHauke Mehrtens2022-10-095-11/+9
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* OpenWrt v22.03.1: adjust config defaultsv22.03.1Hauke Mehrtens2022-10-095-9/+11
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: fix model name of Extreme Networks WS-AP3805iTom Herbers2022-10-081-1/+1
| | | | | | | | Everywhere else the device is referred to as WS-AP3805i, only the model name wrongly only said AP3805i. Signed-off-by: Tom Herbers <mail@tomherbers.de> (cherry picked from commit 7d6032f310058d7e9b96d7e1dc4d49c8232beff7)
* ath79: add low_mem to tiny imageNick Hainke2022-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Devices with SMALL_FLASH enabled have "SQUASHFS_BLOCK_SIZE=1024" in their config. This significantly increases the cache memory required by squashfs [0]. This commit enables low_mem leading to a much better performance because the SQUASHFS_BLOCK_SIZE is reduced to 256. Example Nanostation M5 (XM): The image size increases by 128 KiB. However, the memory statisitcs look much better: Default tiny build: ------ MemTotal: 26020 kB MemFree: 5648 kB MemAvailable: 6112 kB Buffers: 0 kB Cached: 3044 kB low_mem enabled: ----- MemTotal: 26976 kB MemFree: 6748 kB MemAvailable: 11504 kB Buffers: 0 kB Cached: 7204 kB [0] - https://github.com/freifunk-gluon/gluon/commit/7e8af99cf504ca1dc389f282a0c94f4a911571be Signed-off-by: Nick Hainke <vincent@systemli.org> (cherry picked from commit f54ac98f8cec676761e5144ae06640b8007b4b04)
* ath79: move ubnt-xm to tinyNick Hainke2022-10-0511-265/+281
| | | | | | | | | | | | | | ath79 has was bumped to 5.10. With this, as with every kernel change, the kernel has become larger. However, although the kernel gets bigger, there are still enough flash resources. But the RAM reaches its capacity limits. The tiny image comes with fewer kernel flags enabled and fewer daemons. Improves: 15aa53d7ee65 ("ath79: switch to Kernel 5.10") Tested-by: Robert Foss <me@robertfoss.se> Signed-off-by: Nick Hainke <vincent@systemli.org> (cherry picked from commit f4415f7635164ec07ddc22f56df93555804b5767)
* kernel: fix possible mtd NULL pointer dereferenceRafał Miłecki2022-10-044-3/+33
| | | | | | Fixes: cae4d089bc1d3 ("kernel: backport mtd dynamic partition patch") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a5265497a4f6da158e95d6a450cb2cb6dc085cab)
* treewide: fix security issues by bumping all packages using libwolfsslPetr Štetiar2022-10-044-4/+4
| | | | | | | | | | | | | | | | | | As wolfSSL is having hard time maintaining ABI compatibility between releases, we need to manually force rebuild of packages depending on libwolfssl and thus force their upgrade. Otherwise due to the ABI handling we would endup with possibly two libwolfssl libraries in the system, including the patched libwolfssl-5.5.1, but still have vulnerable services running using the vulnerable libwolfssl-5.4.0. So in order to propagate update of libwolfssl to latest stable release done in commit ec8fb542ec3e4 ("wolfssl: fix TLSv1.3 RCE in uhttpd by using 5.5.1-stable (CVE-2022-39173)") which fixes several remotely exploitable vulnerabilities, we need to bump PKG_RELEASE of all packages using wolfSSL library. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit f1b7e1434f66a3cb09cb9e70b40add354a22e458)
* wolfssl: fix TLSv1.3 RCE in uhttpd by using 5.5.1-stable (CVE-2022-39173)Petr Štetiar2022-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes denial of service attack and buffer overflow against TLS 1.3 servers using session ticket resumption. When built with --enable-session-ticket and making use of TLS 1.3 server code in wolfSSL, there is the possibility of a malicious client to craft a malformed second ClientHello packet that causes the server to crash. This issue is limited to when using both --enable-session-ticket and TLS 1.3 on the server side. Users with TLS 1.3 servers, and having --enable-session-ticket, should update to the latest version of wolfSSL. Thanks to Max at Trail of Bits for the report and "LORIA, INRIA, France" for research on tlspuffin. Complete release notes https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.1-stable Fixes: CVE-2022-39173 Fixes: https://github.com/openwrt/luci/issues/5962 References: https://github.com/wolfSSL/wolfssl/issues/5629 Tested-by: Kien Truong <duckientruong@gmail.com> Reported-by: Kien Truong <duckientruong@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit ec8fb542ec3e4f584444a97de5ac05dbc2a9cde5)
* wolfssl: refresh patchesPetr Štetiar2022-10-042-3/+3
| | | | | | | So they're tidy and apply cleanly. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 8ad9a72cbed07643c7a8e4febbea71c7122b29a4)
* wolfssl: bump to 5.5.0Ivan Pavlov2022-10-044-28/+5
| | | | | | | | | | | Remove upstreamed: 101-update-sp_rand_prime-s-preprocessor-gating-to-match.patch Some low severity vulnerabilities fixed OpenVPN compatibility fixed (broken in 5.4.0) Other fixes && improvements Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com> (cherry picked from commit 3d88f26d74f7771b808082cef541ed8286c40491)
* kernel: bump 5.10 to 5.10.146John Audia2022-10-048-21/+21
| | | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit eed0a31b90e4feeb65f3b54853bd4db1f5bcd524)
* kernel: bump 5.10 to 5.10.145John Audia2022-10-048-52/+10
| | | | | | | | | | | | | | | Manually rebased: hack-5.10/780-usb-net-MeigLink_modem_support.patch Removed upstreamed: patches-5.10/110-gpio-mpc8xxx-Fix-support-for-IRQ_TYPE_LEVEL_LOW-flow.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.145&id=24196210b198e8e39296e277bb93b362aa207775 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 8fe67fae1d619467b2b3300178d4309f17cfdb54)
* kernel: bump 5.10 to 5.10.144John Audia2022-10-042-3/+3
| | | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit eff4f8b2f0a2900c945c21c8183d1faa0ac35ec1)
* ramips: fix switch setup for ASUS RT-AX53UMatthias Schiffer2022-10-032-5/+1
| | | | | | | | The device has only 1 WAN + 3 LAN ports. Remove "lan4" interface corresponding to the non-existing port. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit 149fc3a269b435483b31df03d6fd9679286cf9e7)
* uboot-mvebu: backport LibreSSL patches for older version of LibreSSLJosef Schlehofer2022-10-032-0/+55
| | | | | | | | | | | | | | If you would like to compile the newest version of U-boot together with the stable OpenWrt version, which does not have LibreSSL >= 3.5, which was updated in the master branch by commit 5451b03b7ceb2315445c683fe174e28bbdd49c2f ("tools/libressl: bump to v3.5.3"), then you need these two patches to fix it. They are backported from U-boot repository. This should be backported to stable OpenWrt versions. Reported-by: Michal Vasilek <michal.vasilek@nic.cz> Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> (cherry picked from commit 185541f50ff59c0a5e0663ad612f0f5eb31926cf)
* uboot-mvebu: backport patch to fix compilation on non glibc systemJosef Schlehofer2022-10-031-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue was reported by @paper42, who is using Void Linux with musl to compile OpenWrt and its packages and found out it is not possible to compile U-boot for Turris Omnia (neither any other). It fixes following output: ``` HOSTCC tools/kwboot tools/kwboot.c: In function 'kwboot_tty_change_baudrate': tools/kwboot.c:662:6: error: 'struct termios' has no member named 'c_ospeed' 662 | tio.c_ospeed = tio.c_ispeed = baudrate; | ^ tools/kwboot.c:662:21: error: 'struct termios' has no member named 'c_ispeed' 662 | tio.c_ospeed = tio.c_ispeed = baudrate; | ^ tools/kwboot.c:690:31: error: 'struct termios' has no member named 'c_ospeed' 690 | if (!_is_within_tolerance(tio.c_ospeed, baudrate, 3)) | ^ tools/kwboot.c:693:31: error: 'struct termios' has no member named 'c_ispeed' 693 | if (!_is_within_tolerance(tio.c_ispeed, baudrate, 3)) | ``` Tested-by: Michal Vasilek <michal.vasilek@nic.cz> Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> (cherry picked from commit 9c7472950b01c5b3a461f4e29b3b62bac9e35b46)
* ramips: enable LZMA loader to fix Linksys RE6500 bootMark King2022-10-031-0/+1
| | | | | | | | | | | | At some point after 21.02.3 and before 22.03.0, the size limits of the Linksys RE6500 were reached and prevent booting from the 22.03.0 release or builds of current SNAPSHOT. This patch allows builds of master to boot again and has been tested on my device. Fixes: #8577 Signed-off-by: Mark King <mark@vemek.co> (cherry picked from commit bf5b1a53d4ff3f1d742f9ece1ab16555280417ec)
* tools/meson: backport WSL2 fixRosen Penev2022-10-031-0/+21
| | | | | | | | For some reason, Microsoft's Plan9 driver returns IOError on missing file. Signed-off-by: Rosen Penev <rosenp@gmail.com> (cherry picked from commit 875e17774bafb132a93d66f1d7b2c6a2deec2030)
* firmware: intel-microcode: update to 20220809Christian Lamparter2022-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Debian's changelog by Henrique de Moraes Holschuh <hmh@debian.org>: * New upstream microcode datafile 20220809 * Fixes INTEL-SA-00657, CVE-2022-21233 Stale data from APIC leaks SGX memory (AEPIC leak) * Fixes unspecified errata (functional issues) on Xeon Scalable * Updated Microcodes: sig 0x00050653, pf_mask 0x97, 2022-03-14, rev 0x100015e, size 34816 sig 0x00050654, pf_mask 0xb7, 2022-03-08, rev 0x2006e05, size 44032 sig 0x000606a6, pf_mask 0x87, 2022-04-07, rev 0xd000375, size 293888 sig 0x000706a1, pf_mask 0x01, 2022-03-23, rev 0x003c, size 75776 sig 0x000706a8, pf_mask 0x01, 2022-03-23, rev 0x0020, size 75776 sig 0x000706e5, pf_mask 0x80, 2022-03-17, rev 0x00b2, size 112640 sig 0x000806c2, pf_mask 0xc2, 2022-03-19, rev 0x0028, size 97280 sig 0x000806d1, pf_mask 0xc2, 2022-03-28, rev 0x0040, size 102400 sig 0x00090672, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064 sig 0x00090675, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064 sig 0x000906a3, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064 sig 0x000906a4, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064 sig 0x000a0671, pf_mask 0x02, 2022-03-17, rev 0x0054, size 103424 sig 0x000b06f2, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064 sig 0x000b06f5, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064 Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit bb73828b89def128f26ae1cdff0d08569d261f1b)
* toolchain: Include ./include/fortify for external musl toolchainHauke Mehrtens2022-10-031-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> (cherry picked from commit b21ddbfa18cd1e437e31dc0fa29408721a186c2a)
* toolchain: Select USE_SSTRIP with external musl toolchainHauke Mehrtens2022-10-032-2/+0
| | | | | | | | | | When we use the internal toolchain USE_SSTRIP will be selected by default for musl libc and USE_STRIP when glibc is used. Do the same when an external toolchain is used. USE_GLIBC will also be set for external toolchain builds based on the EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC setting. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 9403810c020cca136149973a3929bf77a1f501aa)
* scripts: ext-toolchain: add support for muslChristian Marangi2022-10-031-2/+12
| | | | | | | | | Openwrt now supports only glibc and musl. Add support for musl and rework the libc check to handle the new config flags and correctly compile package basend on that. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 7be01fe13b4517e5edb8a4818f437d60144cdcb4)
* scripts: ext-toolchain: add support for info.mk in probe_ccChristian Marangi2022-10-031-0/+7
| | | | | | | | Openwrt generate info.mk that contains the libc type. For probe_cc check if the file exist and parse directly it for LIBC type. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 75311977f5ff64b491cb57ac713d75e0e410d786)
* scripts: ext-toolchain: actually probe libc type on config generationChristian Marangi2022-10-031-0/+1
| | | | | | | | | Currently we never call probe_cc before config generation, this cause the script to never actually detect the correct libc type. Call probe_cc before config generation to correctl set the .config file. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit ddeabc75ebe3151ff7da302cb1aae702b3ad7eba)
* scripts: ext-toolchain: add option to overwrite configChristian Marangi2022-10-031-4/+18
| | | | | | | | | It can be useful to overwrite an already generated config. Option are simply added at the end of the config and make defconfig will overwrite the relevant option with the new one. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit f4dd18ca39c42a324e34633c8ee553717531bc3b)
* scripts: ext-toolchain: fix wrong prefix in print_config generationChristian Marangi2022-10-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsed prefix in print_config is wrong and this produce broken generated .config that won't work with any external toolchain. Currently the prefix from a CC of 'arm-openwrt-linux-muslgnueabi-gcc-12.1.0' produce a prefix 'arm-openwrt-linux-muslgnueabi-gcc-' This is wrong as the real prefix should be 'arm-openwrt-linux-muslgnueabi-' This is probably caused by a change in how the toolchain is now handled that now append also the gcc version. Probably in ancient days the version wasn't part of the name and the prefix generation stripped the '-gcc' instead of the gcc version. Fix this and correctly strip the gcc version and the gcc suffix to correctly call toolchain bins. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 53c293262fce844c8291ab82e6726a8489d3c57b)
* rules_mk: don't include wrapped bin with external toolchainsChristian Marangi2022-10-031-1/+0
| | | | | | | | | | | | Don't add wrapped bin to the TARGET_PATH as it does cause compilation error. cmake.mk will use the "command -v" and will use the wrapped bin instead of the external toolchain bin as they have the same name and command will select the first result. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit a90eabf60255773231ed0259e5da5eb6a36fe9ce)
* rules_mk: use gcc versions for external toolchainVincent Wiemann2022-10-031-10/+3
| | | | | | | | | | | | When using the OpenWrt toolchain as an external toolchain the build failed due to missing LTO support. By choosing the GCC wrappers of the tools this commit makes sure that the LTO-enabled executables are being used. Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com> [ wrap the commit description to 72 char ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 2555ffb4536e2727465e9a0d426ad3c4f1ef003a)