Ok, I dug them out (Re: pre egcs-1.1 testing and Linux 2.1.x)

Stephen R. van den Berg (srb@cuci.nl)
Tue, 25 Aug 1998 18:14:52 +0200


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."

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html