I found a very strange problem of "as" when I was building gcc-4.3.3. I got a "Bootstrap comparison failure!", when means that some .o files were not identical between stage2 and stage3. However, it turns out that the problem was introduced by "as" not gcc itself. For some .s files, "as" will produce a different .o file each time it is invoked with the same .s file:
> as -V -Qy -o obj1.o testtree.s GNU assembler version 2.19 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.19 > as -V -Qy -o obj2.o testtree.s GNU assembler version 2.19 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.19 > ll obj*.o -rw-r--r-- 1 tester users 87360 2009-05-21 20:37 obj1.o -rw-r--r-- 1 tester users 87360 2009-05-21 20:37 obj2.o > cmp -i 16 obj1.o obj2.o obj1.o obj2.o differ: byte 66006, line 132 My system is: -Linux gnode2 2.6.5-7.97-smp #1 SMP Fri Jul 2 14:21:59 UTC 2004 x86_64 x86_64 x86_64 GNU/Linux -SUSE LINUX Enterprise Server 9 (x86_64) And the file system is some kind of enfs I have transferred the testtree.s file to another AMD machine, and saw no problem there. I have also copied the static linked binutils binaries on that "no problem" machine to use on the "problem" machine. And the problem didn't go away. In a word, the same static linked "as" runs deterministically on one machine, non-deterministically (produce different .o files) on another. I guess that It's a system-specific problem. And it may be hard to reproduce it on another machine. So both the above mentioned testtree.s, obj1.o, obj2.o are attached to help examine the bug. -- Summary: gas produces different .o files with the same input .s file and cmd line arguments on enfs Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: chenyang dot cq at gmail dot com CC: bug-binutils at gnu dot org http://sourceware.org/bugzilla/show_bug.cgi?id=10193 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils