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]

Re: ppc, 1.0.1 & 980302, fixed/forbidden register spilled


> Date: Wed, 04 Mar 1998 10:15:17 -0500
> From: David Edelsohn <dje@watson.ibm.com>

> >>>>> Geoffrey KEATING writes:
> 
> >> condvar.c: In function `pthread_cond_timedwait_relative':
> >> condvar.c:153: fixed or forbidden register 68 (0) was spilled for class
> >> CR0_REGS. This may be due to a compiler bug or to impossible asm
> 
> Geoffrey> You can find a patch for this at
> Geoffrey> <http://discus.anu.edu.au/~geoffk/egcs-asm-2.diff.gz>.
> 
> Geoffrey> This is probably best used for PPC targets only; it might make
> Geoffrey> already-existing problems in other ports worse.  Other solutions have
> Geoffrey> been proposed, but not AFAIK implemented.
> 
> 	I hope that you realize that this may exacerbate problems in the
> PowerPC port as well, not just other ports.

Well, it seems to work fine for me so far (although I haven't given it
extensive testing yet).  It also avoids at least one crash.  That
makes it a net benefit.  Of course, others may differ...

> 	If this patch is widely distributed as an official Linux-PPC RPM
> and users rely upon it, it may cause serious problems.  This particular
> solution cannot be supported in the general distribution of EGCS.

I'm not sure who's responsible for making `official Linux-PPC RPMs',
but I do know it's not me :-).

> 	I really appreciate the work that you have done in this area and I
> fully agree that a real solution is necessary.  I wish that people who
> need this support would work to implement one of the better proposals.

I've been thinking about that.  Why is the restriction in reload
anyway?  If we could weaken it a bit (`all registers mentioned in RTL,
except for those only mentioned in clobbers') perhaps the whole
problem would just go away?

--
Geoff Keating <Geoff.Keating@anu.edu.au>


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