On Friday 12 August 2011 13:17:21, Paolo Bonzini wrote:
>   2011-08-12  Paolo Bonzini  <bonz...@gnu.org>
> 
>         * Makefile.in (install-unwind_h): Create 
> $(gcc_objdir)/include/unwind.h
>         atomically.
> 
> Index: Makefile.in
> ===================================================================
> --- Makefile.in (revision 177688)
> +++ Makefile.in (working copy)
> @@ -991,8 +1001,10 @@ gcc-extra-parts:
>  all: $(extra-parts)
>  
>  install-unwind_h:
> -       rm -f $(gcc_objdir)/include/unwind.h
> -       cp unwind.h $(gcc_objdir)/include/unwind.h
> +       cp unwind.h $(gcc_objdir)/include/tmp-unwind.h
> +       sh $(srcdir)/../move-if-change \
> +               $(gcc_objdir)/include/tmp-unwind.h \
> +               $(gcc_objdir)/include/unwind.h
>         chmod a+r $(gcc_objdir)/include/unwind.h
>  

Can't this sequence happen?

proc1:       cp unwind.h $(gcc_objdir)/include/tmp-unwind.h
proc2:       cp unwind.h $(gcc_objdir)/include/tmp-unwind.h
proc1:       sh $(srcdir)/../move-if-change \
               $(gcc_objdir)/include/tmp-unwind.h \
               $(gcc_objdir)/include/unwind.h
proc2:       sh $(srcdir)/../move-if-change \
               $(gcc_objdir)/include/tmp-unwind.h \
               $(gcc_objdir)/include/unwind.h

It sounds like the latter move-if-change could trip on
a non-extant tmp-unwind.h.

-- 
Pedro Alves

Reply via email to