Message ID | 1457455673-12219-1-git-send-email-james.hogan@imgtec.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 <geert@linux-m68k.org> > Signed-off-by: James Hogan <james.hogan@imgtec.com> > Cc: Ralf Baechle <ralf@linux-mips.org> > Cc: Michal Marek <mmarek@suse.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: "Michael S. Tsirkin" <mst@redhat.com> > Cc: linux-mips@linux-mips.org > Cc: linux-kbuild@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: <stable@vger.kernel.org> # 4.4.x- Tested-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tuesday 08 March 2016 10:17 PM, 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 <geert@linux-m68k.org> > Signed-off-by: James Hogan <james.hogan@imgtec.com> This error was only coming in my gitlab builds but was not showing in the build of travis-ci. Maybe it depends on the version of awk also. Build log at: https://gitlab.com/sudipm/linux-next/builds/839573 Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> regards sudip -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Mar 10, 2016 at 11:19:57PM +0530, Sudip Mukherjee wrote: > On Tuesday 08 March 2016 10:17 PM, 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 <geert@linux-m68k.org> > > Signed-off-by: James Hogan <james.hogan@imgtec.com> > > This error was only coming in my gitlab builds but was not showing in > the build of travis-ci. Maybe it depends on the version of awk also. > Build log at: https://gitlab.com/sudipm/linux-next/builds/839573 > > Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Great, that looks pretty conclusive. Thanks for testing Sudip and Michael. Ralf: is it too late to get this into v4.5 via MIPS tree? Cheers James
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, ".");
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 <geert@linux-m68k.org> Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Michal Marek <mmarek@suse.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: linux-mips@linux-mips.org Cc: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: <stable@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(-)