------- Comment #6 from mikpe at it dot uu dot se 2010-05-24 22:24 ------- The stage 3 comparison failure on ARM is as follows: ... Bootstrap comparison failure! libiberty/pic/cp-demangle.o differs
Comparing the disassembly listings of prev-libiberty/pic/cp-demangle.o and libiberty/pic/cp-demangle.o yields: @@ -1,5 +1,5 @@ -prev-libiberty/pic/cp-demangle.o: file format elf32-littlearm +libiberty/pic/cp-demangle.o: file format elf32-littlearm Disassembly of section .text: @@ -4751,12 +4751,12 @@ 4954: e58d0004 str r0, [sp, #4] 4958: eaffffe7 b 48fc <cplus_demangle_type+0x21c> 495c: e3a01014 mov r1, #20 ; 0x14 - 4960: e0010193 mul r1, r3, r1 - 4964: e59f38e8 ldr r3, [pc, #2280] ; 5254 <cplus_demangle_type+0xb74> - 4968: e2411e79 sub r1, r1, #1936 ; 0x790 - 496c: e2411004 sub r1, r1, #4 ; 0x4 - 4970: e7923003 ldr r3, [r2, r3] - 4974: e0913003 adds r3, r1, r3 + 4960: e0030391 mul r3, r1, r3 + 4964: e59f18e8 ldr r1, [pc, #2280] ; 5254 <cplus_demangle_type+0xb74> + 4968: e2433e79 sub r3, r3, #1936 ; 0x790 + 496c: e2433004 sub r3, r3, #4 ; 0x4 + 4970: e7922001 ldr r2, [r2, r1] + 4974: e0923003 adds r3, r2, r3 4978: 0a000215 beq 51d4 <cplus_demangle_type+0xaf4> 497c: e5942014 ldr r2, [r4, #20] 4980: e5941018 ldr r1, [r4, #24] So it's not just two swapped source operands in an arithmetic instruction as on sparc, but also different (still valid) register assignment. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44255