Message ID | b361c803-7607-e67e-b90f-a60d8b56fbe1@fgznet.ch |
---|---|
State | New |
Headers | show |
Series | [arm] gcc-7-branch: Fix bootstrap on FreeBSD | expand |
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 <andreast@gcc.gnu.org> > > * 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
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 <andreast@gcc.gnu.org> >> >> * 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
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 <andreast@gcc.gnu.org> > >> > >> * 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 >
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 <andreast@gcc.gnu.org> >> >> >> >> * 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.
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