This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Use move-if-change on macro_list dependency



On 15/11/2004, at 7:56 AM, Nathan Sidwell wrote:


Geoffrey Keating wrote:
Dan Berlin said
Every time i do "make restage1", it reruns fixincludes.

According to Steven Bosscher, if you change any single source
file. fixincludes is now rerun.
I think this should fix it.
Tested by 'make bootstrap' on powerpc-darwin.
this patch is exposing some parallel bootstrap problem on
powerpc64-unknown-linux-gnu.
...
make[4]: Entering directory `/scratch/nathan/ppc64/build/gcc'
echo | ./xgcc -B./ -B/usr/local/powerpc64-unknown-linux-gnu/bin/ -isystem /usr/local/powerpc64-unknown-linux-gnu/include -isystem /usr/local/powerpc64-unknown-linux-gnu/sys-include -L/scratch/nathan/ppc64/build/gcc/../ld -E -dM - | \
sed -n 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ; \
s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
sort -u > tmp-macro_list
echo | ./xgcc -B./ -B/usr/local/powerpc64-unknown-linux-gnu/bin/ -isystem /usr/local/powerpc64-unknown-linux-gnu/include -isystem /usr/local/powerpc64-unknown-linux-gnu/sys-include -L/scratch/nathan/ppc64/build/gcc/../ld -E -dM - | \
sed -n 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ; \
s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
sort -u > tmp-macro_list
/bin/sh /home/nathan/egcs/ppc64/gcc/gcc/../move-if-change tmp-macro_list macro_list
macro_list is unchanged
./xgcc -B./ -B/usr/local/powerpc64-unknown-linux-gnu/bin/ -isystem /usr/local/powerpc64-unknown-linux-gnu/include -isystem /usr/local/powerpc64-unknown-linux-gnu/sys-include -L/scratch/nathan/ppc64/build/gcc/../ld -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I32 -I/home/nathan/egcs/ppc64/gcc/gcc -I/home/nathan/egcs/ppc64/gcc/gcc/32 -I/home/nathan/egcs/ppc64/gcc/gcc/../include -I/home/nathan/egcs/ppc64/gcc/gcc/../libcpp/include -m32 -fPIC -mstrict-align -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time -fPIC -msdata=none \
-c /home/nathan/egcs/ppc64/gcc/gcc/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \
-o 32/crtbeginS.o
/bin/sh /home/nathan/egcs/ppc64/gcc/gcc/../move-if-change tmp-macro_list macro_list
cmp: tmp-macro_list: No such file or directory
mv: cannot stat `tmp-macro_list': No such file or directory
make[4]: *** [macro_list] Error 1

That's very strange. The rule is running twice simultaneously; I thought that make didn't permit that in a single make invocation.


The 'tmp-<foo>' construct is used in many other places in the Makefile, and it seems to work there.

Could you try to work out more of what's going on?

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]