scripts: ext-toolchain: fix wrong prefix in print_config generation
authorChristian Marangi <ansuelsmth@gmail.com>
Sun, 3 Jul 2022 00:20:11 +0000 (02:20 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 3 Oct 2022 15:40:26 +0000 (17:40 +0200)
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)

scripts/ext-toolchain.sh

index 4da287591acc0aef63b87096d41e6fe9ef16e88f..b52f170b32b7da5981343c392cc3950f5dc1a5a7 100755 (executable)
@@ -281,8 +281,11 @@ print_config() {
        local mksubtarget
 
        local target="$("$CC" $CFLAGS -dumpmachine)"
+       local version="$("$CC" $CFLAGS -dumpversion)"
        local cpuarch="${target%%-*}"
-       local prefix="${CC##*/}"; prefix="${prefix%-*}-"
+
+       # get CC; strip version; strip gcc and add - suffix
+       local prefix="${CC##*/}"; prefix="${prefix%-$version}"; prefix="${prefix%-*}-"
        local config="${0%/scripts/*}/.config"
 
        # if no target specified, print choice list and exit