This is the mail archive of the gcc@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]

V3: SPARC bug and tree freeze



[ NOTE: TREE FROZEN -- READ BELOW. ]

I returned to find the SPARC bootstrap stuck while building V3.  This
must be a recently introduced bug, since it worked a day or two back.

The code that cause the problem can be boiled down to:

  int main ()
  {
    long long i = 1;
    long long j = 0;

    while (i > j) {
      j = i;
      i = i * 2 + 1;
    }
  }

This code, when compiled with the newly build C compiler, will not
terminate.  Here is the body of the loop:

	ldd	[%fp-24], %i0
	std	%i0, [%fp-32]
	ldd	[%fp-24], %i2
	srl	%i3, 31, %i5
	sll	%i2, 1, %i4
	addcc	%i1, 1, %i1
	addx	%i0, 0, %i0
	std	%i0, [%fp-24]
	b	.LL3

The first two instructions assign i to j.

Then, we try to do the multiply and add.  The computation places
values into %i5 and %i4, but those values are then ignored.

I am going to try to track this down, but I would appreciate help from
anyone who might recognize the cause of this.

I don't want to switch to V3 until we can verify Solaris, but I also
don't want to risk instability that makes it harder to switch.  We
need to make the switch -- it's a very important milestone.

Therefore, until this bug is fixed, please consider the tree
completely frozen, except for changes to the Java, Objective-C, and
Fortran front-ends, and back-ends other than SPARC, MIPS, and x86.  In
other words, let's have no changes to code that could affect the MIPS
IRIX, SPARC Solaris, or x86 GNU/Linux C or C++ front-ends, or
associated libraries.

I expect this to be a very brief freeze, as I think we can track this
bug down quickly.

Thank you for your patience,

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

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