On Tue, Mar 08, 2016 at 04:47:53PM +0000, James Hogan wrote:
> 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 <[email protected]>
> Signed-off-by: James Hogan <[email protected]>
> Cc: Ralf Baechle <[email protected]>
> Cc: Michal Marek <[email protected]>
> Cc: Andi Kleen <[email protected]>
> Cc: "Michael S. Tsirkin" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: <[email protected]> # 4.4.x-

Tested-by: Michael S. Tsirkin <[email protected]>
Acked-by: Michael S. Tsirkin <[email protected]>



> ---
> 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

Reply via email to