From 6b9a84acf842fe44ae47efb096a07df7237e5df8 Mon Sep 17 00:00:00 2001 From: aoliva Date: Wed, 26 Jan 2005 09:17:02 +0000 Subject: [PATCH] * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy rule to avoid matching inappropriate suffix rule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94255 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/Makefile.in | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41af552bb66..194966cbb5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-01-26 Alexandre Oliva + + * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy + rule to avoid matching inappropriate suffix rule. + 2005-01-26 Jan Hubicka PR tree-optimization/19421 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index fb857cf2128..c04e9bd71f6 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2814,6 +2814,20 @@ s-macro_list : $(GCC_PASSES) $(SHELL) $(srcdir)/../move-if-change tmp-macro_list macro_list $(STAMP) s-macro_list +# The line below is supposed to avoid accidentally matching the +# built-in suffix rule `.o:' to build fixincl out of fixincl.o. You'd +# expect fixincl to be newer than fixincl.o, such that this situation +# would never come up. As it turns out, if you use ccache with +# CCACHE_HARDLINK enabled, the compiler doesn't embed the current +# working directory in object files (-g absent, or -fno-working-dir +# present), and build and host are the same, fixincl for the host will +# build after fixincl for the build machine, getting a cache hit, +# thereby updating the timestamp of fixincl.o in the the host tree. +# Because of CCACHE_HARDLINK, this will also update the timestamp in +# the build tree, and so fixincl in the build tree will appear to be +# out of date. Yuck. +../$(build_subdir)/fixincludes/fixincl: ; @ : + # Build fixed copies of system files. stmp-fixinc: gsyslimits.h macro_list \ ../$(build_subdir)/fixincludes/fixincl \ -- 2.11.4.GIT