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.
Yes, we should use an unique tmp unwind.h.
Thanks, you are correct.
Paolo
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,9 @@ gcc-extra-parts:
all: $(extra-parts)
install-unwind_h:
- rm -f $(gcc_objdir)/include/unwind.h
- cp unwind.h $(gcc_objdir)/include/unwind.h
- chmod a+r $(gcc_objdir)/include/unwind.h
+ dest=$(gcc_objdir)/include/tmp$$$$-unwind.h; \
+ cp unwind.h $$dest; \
+ chmod a+r $$dest; \
+ sh $(srcdir)/../move-if-change $$dest $(gcc_objdir)/include/unwind.h
all: install-unwind_h