The ld-version.sh script fails on some versions of awk with the following error, resulting in build failures for MIPS:
awk: scripts/ld-version.sh: line 4: regular expression compile failed (missing '(') This is due to the regular expression ".*)", meant to strip off the beginning of the ld version string up to the close bracket, however brackets have a meaning in regular expressions, so lets escape it so that awk doesn't expect a corresponding open bracket. Fixes: ccbef1674a15 ("Kbuild, lto: add ld-version and ld-ifversion ...") Reported-by: Geert Uytterhoeven <ge...@linux-m68k.org> Signed-off-by: James Hogan <james.ho...@imgtec.com> Cc: Ralf Baechle <r...@linux-mips.org> Cc: Michal Marek <mma...@suse.com> Cc: Andi Kleen <a...@linux.intel.com> Cc: "Michael S. Tsirkin" <m...@redhat.com> Cc: linux-m...@linux-mips.org Cc: linux-kbu...@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: <sta...@vger.kernel.org> # 4.4.x- --- I've only tested this with GNU Awk 4.0.2, which seems a bit more lenient than whatever version of awk Geert's build machine is using. I'd appreciated if somebody experiencing the error could give this patch a spin to check it fixes it. --- scripts/ld-version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh index d154f0877fd8..7bfe9fa1c8dc 100755 --- a/scripts/ld-version.sh +++ b/scripts/ld-version.sh @@ -1,7 +1,7 @@ #!/usr/bin/awk -f # extract linker version number from stdin and turn into single number { - gsub(".*)", ""); + gsub(".*\\)", ""); gsub(".*version ", ""); gsub("-.*", ""); split($1,a, "."); -- 2.4.10