Re: [patch][arm] gcc-7-branch: Fix bootstrap on FreeBSD
On 17/10/17 14:00, Kyrill Tkachov wrote: > > On 17/10/17 13:42, Andreas Tobler wrote: >> Hi Kyrill, >> >> On 17.10.17 12:02, Kyrill Tkachov wrote: >> >> > On 16/10/17 20:00, Andreas Tobler wrote: >> >> Hi all, >> >> >> >> I struggled over a bootstrap issue while building gcc-7 for >> >> armv7-*-freebsd* >> >> >> >> I got a 'permission denied' while creating the arm-tables.opt file. >> >> >> >> The source tree is located on a nfs server. >> >> >> >> The below patch fixed it for me. >> >> >> >> Ok to apply? >> >> >> >> TIA, >> >> Andreas >> >> >> >> 2017-10-16 Andreas Tobler>> >> >> >> * config/arm/t-arm (MD_INCLUDES): Create arm-tables.opt via >> >> intermediate arm-tables.new like the other awk generated >> files. >> >> >> >> Index: config/arm/t-arm >> >> === >> >> --- config/arm/t-arm (revision 253792) >> >> +++ config/arm/t-arm (working copy) >> >> @@ -75,8 +75,8 @@ >> >> $(srcdir)/config/arm/arm-tables.opt: >> $(srcdir)/config/arm/parsecpu.awk \ >> >> $(srcdir)/config/arm/arm-cpus.in >> >> $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ >> >> - $(srcdir)/config/arm/arm-cpus.in > \ >> >> - $(srcdir)/config/arm/arm-tables.opt >> >> + $(srcdir)/config/arm/arm-cpus.in > arm-tables.new >> >> + mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt >> >> >> > >> > This looks ok to me as it makes the rule consistent with the other >> > awk-generated files. >> > >> > Out of interest, this looks like a small subset of Richard's patch [1] >> > at r249971. >> >> Hehe, now as you say, yes. But I wasn't aware about it. I just tried to >> fix my bootstrap issue and compared the snippet with main. And tried if >> it helps to use an intermediate file. >> >> > Have you tried that patch on the branch? >> >> No, is this patch going to appear on the gcc-7 branch? >> If it is, then I'll not apply my patchlet above. >> > > AFAIK that patch was part of a series to further improve the > architecture features selection mechanism for GCC 8 > and wasn't thus considered for the GCC 7 branch, but it looks like a > fairly standalone improvement, so unless Richard > has any objections to it, I think it would be good to take that patch > for the branch (assuming it passes validation there). > > Kyrill > >> > [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00223.html >> >> Thanks, >> Andreas >> > I've no objections to back-porting a suitable subset of the patch. I'd point out, however, that this file is committed as part of the source base, so unless you're changing arm-cpus.in (or parsecpu.awk) there really shouldn't be a need to regenerate that file. Using "contrib/gcc_update --touch" should ensure that the date-stamps are all correct. R.
Re: [patch][arm] gcc-7-branch: Fix bootstrap on FreeBSD
On 17/10/17 13:42, Andreas Tobler wrote: Hi Kyrill, On 17.10.17 12:02, Kyrill Tkachov wrote: > On 16/10/17 20:00, Andreas Tobler wrote: >> Hi all, >> >> I struggled over a bootstrap issue while building gcc-7 for >> armv7-*-freebsd* >> >> I got a 'permission denied' while creating the arm-tables.opt file. >> >> The source tree is located on a nfs server. >> >> The below patch fixed it for me. >> >> Ok to apply? >> >> TIA, >> Andreas >> >> 2017-10-16 Andreas Tobler>> >> * config/arm/t-arm (MD_INCLUDES): Create arm-tables.opt via >> intermediate arm-tables.new like the other awk generated files. >> >> Index: config/arm/t-arm >> === >> --- config/arm/t-arm(revision 253792) >> +++ config/arm/t-arm(working copy) >> @@ -75,8 +75,8 @@ >>$(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \ >> $(srcdir)/config/arm/arm-cpus.in >> $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ >> - $(srcdir)/config/arm/arm-cpus.in > \ >> - $(srcdir)/config/arm/arm-tables.opt >> + $(srcdir)/config/arm/arm-cpus.in > arm-tables.new >> + mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt >> > > This looks ok to me as it makes the rule consistent with the other > awk-generated files. > > Out of interest, this looks like a small subset of Richard's patch [1] > at r249971. Hehe, now as you say, yes. But I wasn't aware about it. I just tried to fix my bootstrap issue and compared the snippet with main. And tried if it helps to use an intermediate file. > Have you tried that patch on the branch? No, is this patch going to appear on the gcc-7 branch? If it is, then I'll not apply my patchlet above. AFAIK that patch was part of a series to further improve the architecture features selection mechanism for GCC 8 and wasn't thus considered for the GCC 7 branch, but it looks like a fairly standalone improvement, so unless Richard has any objections to it, I think it would be good to take that patch for the branch (assuming it passes validation there). Kyrill > [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00223.html Thanks, Andreas
Re: [patch][arm] gcc-7-branch: Fix bootstrap on FreeBSD
Hi Kyrill, On 17.10.17 12:02, Kyrill Tkachov wrote: On 16/10/17 20:00, Andreas Tobler wrote: Hi all, I struggled over a bootstrap issue while building gcc-7 for armv7-*-freebsd* I got a 'permission denied' while creating the arm-tables.opt file. The source tree is located on a nfs server. The below patch fixed it for me. Ok to apply? TIA, Andreas 2017-10-16 Andreas Tobler* config/arm/t-arm (MD_INCLUDES): Create arm-tables.opt via intermediate arm-tables.new like the other awk generated files. Index: config/arm/t-arm === --- config/arm/t-arm(revision 253792) +++ config/arm/t-arm(working copy) @@ -75,8 +75,8 @@ $(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \ $(srcdir)/config/arm/arm-cpus.in $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ - $(srcdir)/config/arm/arm-cpus.in > \ - $(srcdir)/config/arm/arm-tables.opt + $(srcdir)/config/arm/arm-cpus.in > arm-tables.new + mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt This looks ok to me as it makes the rule consistent with the other awk-generated files. Out of interest, this looks like a small subset of Richard's patch [1] at r249971. Hehe, now as you say, yes. But I wasn't aware about it. I just tried to fix my bootstrap issue and compared the snippet with main. And tried if it helps to use an intermediate file. Have you tried that patch on the branch? No, is this patch going to appear on the gcc-7 branch? If it is, then I'll not apply my patchlet above. [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00223.html Thanks, Andreas
Re: [patch][arm] gcc-7-branch: Fix bootstrap on FreeBSD
Hi Andreas, On 16/10/17 20:00, Andreas Tobler wrote: Hi all, I struggled over a bootstrap issue while building gcc-7 for armv7-*-freebsd* I got a 'permission denied' while creating the arm-tables.opt file. The source tree is located on a nfs server. The below patch fixed it for me. Ok to apply? TIA, Andreas 2017-10-16 Andreas Tobler* config/arm/t-arm (MD_INCLUDES): Create arm-tables.opt via intermediate arm-tables.new like the other awk generated files. Index: config/arm/t-arm === --- config/arm/t-arm(revision 253792) +++ config/arm/t-arm(working copy) @@ -75,8 +75,8 @@ $(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \ $(srcdir)/config/arm/arm-cpus.in $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ - $(srcdir)/config/arm/arm-cpus.in > \ - $(srcdir)/config/arm/arm-tables.opt + $(srcdir)/config/arm/arm-cpus.in > arm-tables.new + mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt This looks ok to me as it makes the rule consistent with the other awk-generated files. Out of interest, this looks like a small subset of Richard's patch [1] at r249971. Have you tried that patch on the branch? [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00223.html Thanks, Kyrill $(srcdir)/config/arm/arm-cpu.h: $(srcdir)/config/arm/parsecpu.awk \ $(srcdir)/config/arm/arm-cpus.in
[patch][arm] gcc-7-branch: Fix bootstrap on FreeBSD
Hi all, I struggled over a bootstrap issue while building gcc-7 for armv7-*-freebsd* I got a 'permission denied' while creating the arm-tables.opt file. The source tree is located on a nfs server. The below patch fixed it for me. Ok to apply? TIA, Andreas 2017-10-16 Andreas Tobler* config/arm/t-arm (MD_INCLUDES): Create arm-tables.opt via intermediate arm-tables.new like the other awk generated files. Index: config/arm/t-arm === --- config/arm/t-arm(revision 253792) +++ config/arm/t-arm(working copy) @@ -75,8 +75,8 @@ $(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \ $(srcdir)/config/arm/arm-cpus.in $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ - $(srcdir)/config/arm/arm-cpus.in > \ - $(srcdir)/config/arm/arm-tables.opt + $(srcdir)/config/arm/arm-cpus.in > arm-tables.new + mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt $(srcdir)/config/arm/arm-cpu.h: $(srcdir)/config/arm/parsecpu.awk \ $(srcdir)/config/arm/arm-cpus.in