[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: