public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Ok, I dug them out (Re: pre egcs-1.1 testing and Linux 2.1.x)
       [not found] ` <E0zB5S0-0003ia-00@kings-cross.london.uk.eu.org>
@ 1998-08-25 19:31   ` Stephen R. van den Berg
  0 siblings, 0 replies; only message in thread
From: Stephen R. van den Berg @ 1998-08-25 19:31 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, egcs

Philip Blundell wrote:
>>Note that disabling "regparm" does not fix the bug - it just makes it
>>harder to trigger. Much harder. But you can still make it happen.

>>Andrea's patch makes the bug go away completely, and doesn't remove any
>>user-visible features. 

>I haven't yet seen anything to convince me that Andrea's patch really _does_ 
>make the bug go away completely, rather than just making it even harder to 
>trigger.  If somebody can explain *why* this is so then I'll be happy, but all 
>I've seen so far has been experimental evidence that "this testcase works when 
>I do this".

Ok, to put the rumours to a rest...  I just dived into my old patches again.
I found the fix for this problem.  It's actually very sad, I just looked
at the creation date of the old patch:

Sat Jan 23 23:23:26 1994  Stephen R. van den Berg (srb@cuci.nl)           

        * reload.c (push_reload): If this reload is needed for a CALL_INSN,
        try to use a call_used register for it.                            
        
        * reload1.c (choose_reload_regs): Prevent the compiler from considering
        argument passing registers as spill registers.                         
        
As I remember again now, and also see in the most current egcs sources,
the person that was supposed to integrate my final patches skipped large parts
of it.  Of the parts that did get in, some things got lost again during
the years (this also explains why __attribyte__((regparm(0),cdecl)) didn't
work).  I'm now reintegrating the patches into egcs again, should have
something working in a few days.

And yes, incidentally, this means that Andrea's patch is shaky (it reduces
the register pressure, that's about all it does, which then effectively
avoids the problem).
-- 
Sincerely,                                                          srb@cuci.nl
           Stephen R. van den Berg (AKA BuGless).

"To err is human, to debug ... divine."

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1998-08-25 19:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <Pine.LNX.3.96.980824095420.9488F-100000@penguin.transmeta.com>
     [not found] ` <E0zB5S0-0003ia-00@kings-cross.london.uk.eu.org>
1998-08-25 19:31   ` Ok, I dug them out (Re: pre egcs-1.1 testing and Linux 2.1.x) Stephen R. van den Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).