On Friday 12 August 2011 13:17:21, Paolo Bonzini wrote:
> 2011-08-12 Paolo Bonzini <[email protected]>
>
> * 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