Re: gcc build failures on alpha
On 22/03/11 01:31, Matthias Klose wrote:
> On 21.03.2011 13:19, Uros Bizjak wrote:
>> On Sun, Mar 20, 2011 at 4:16 PM, Matthias Klose <doko@debian.org> wrote:
>>> https://buildd.debian.org/status/package.php?p=gcc-4.6&suite=experimental
>>>
>>> Bootstrap comparison failure!
>>> gcc/opts.o differs
>>> make[4]: *** [compare] Error 1
I see gcc-4.6 still FTBFS on alpha with the boostrap comparison failure.
> maybe alpha-no-ev4-directive.diff targeting to ev4 makes a difference?
No, it's not that. Nor any of the other Debian patches. Interestingly
it compiles with upstream sources (well, it fails at a later stage with
a linker internal error but that's another story) if one just configures
with ./configure. But if one uses the Debian options used to configure
[1] then upstream source also has the bootstrap comparison failure.
Comparing gcc/opts.o from stage 3 against stage 2 by the following:
objdump -d ./stage2-gcc/opts.o > opts-2.txt
objdump -d ./stage2-gcc/opts.o > opts-2.txt
diff opts-2.txt opts-3.txt
I get from the diff:
90c90
< 14c: 01 00 84 20 lda t3,1(t3)
---
> 14c: 02 30 40 40 addl t1,0x1,t1
93c93
< 158: 02 30 40 40 addl t1,0x1,t1
---
> 158: 01 00 84 20 lda t3,1(t3)
showing that two instructions have been swapped in order. Actually the
order does not matter as we can see from opts-2.txt:
140: a5 05 eb 40 cmpeq t6,s2,t4
144: a3 07 03 41 cmpule t7,t2,t2
148: a5 15 a0 40 cmpeq t4,0,t4
14c: 01 00 84 20 lda t3,1(t3)
150: 03 00 a3 44 and t4,t2,t2
154: 1f 04 ff 5f fnop
158: 02 30 40 40 addl t1,0x1,t1
15c: 10 00 60 f4 bne t2,1a0 <wrap_help+0x1a0>
The instructions at 14c and 158 have no data dependencies with each
other or with instructions in between so can be safely swapped.
Cheers
Michael
[1] ../src/configure -v --with-pkgversion='Debian 4.6.0-8'
--with-bugurl='file:///usr/share/doc/gcc-4.6/README.Bugs'
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-multiarch
--with-multiarch-defaults=alpha-linux-gnu --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --disable-libssp
--enable-plugin --enable-objc-gc --with-long-double-128
--enable-checking=release --build=alpha-linux-gnu --host=alpha-linux-gnu
--target=alpha-linux-gnu
Reply to: