This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: continuing egcs-1.1 problems
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: continuing egcs-1.1 problems
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Mon, 02 Nov 1998 16:38:36 +0100
- Cc: Elgin Lee <ehl at funghi dot com>, Fred Bacon <bacon at aerodyne dot com>, Amal Phadke <phadke at kewalo dot eng dot hawaii dot edu>, bacon at mediaone dot net, egcs at cygnus dot com
- References: <Message from Elgin Lee <ehl@funghi.com><199811020142.RAA32002@porcini.funghi.com>
At 02:56 02.11.98 , David Edelsohn wrote:
>>>>>> Elgin Lee writes:
>
>Elgin> I'm hazy on the workings of the code, but on the surface this looks
>Elgin> like a comparison-reversal bug that is fixed by the patch. (But why
>Elgin> does this work on the RS6000/AIX? Perhaps because r4 and r8 are equal
>Elgin> there on the RS6000/AIX?)
>
> AIX does not use this code whatsoever. This trampoline code only
>is used by SVR4, not AIX PowerOpen ABI.
David, he's talking the appended patch. I wonder why it still is in. The
first part is definitely wrong (I thought Gary Thomas already agreed to
that?) and the second part breaks the SVR-ABI spec AFAIK (it is meant to be
a speedup patch). I assume Gary is somekind of dead-locked here, removing
the ABI patch will produce a correct egcs, but break older installations
compiled with the patch then.
Btw, on glibc-2.0.99 the test-program compiles and runs just fine, I don't
think it is necessary to spend more thoughts on this.
Franz.
--- egcs-1.0/gcc/config/rs6000/tramp.asm~ Mon Aug 11 17:57:23 1997
+++ egcs-1.0/gcc/config/rs6000/tramp.asm Fri Feb 27 06:11:10 1998
@@ -85,7 +85,7 @@
lwz r7,.Ltramp(r11) /* trampoline addres -4 */
li r8,__trampoline_size /* verify that the trampoline is
big enough */
- cmpw cr1,r8,r4
+ cmpw cr1,r4,r8
srwi r4,r4,2 /* # words to move */
addi r9,r3,-4 /* adjust pointer for lwzu */
mtctr r4
--- egcs-1.0/gcc/config/rs6000/rs6000.c~ Fri Feb 27 06:10:30 1998
+++ egcs-1.0/gcc/config/rs6000/rs6000.c Fri Feb 27 06:11:50 1998
@@ -4780,7 +4780,7 @@
case ABI_V4:
case ABI_SOLARIS:
case ABI_AIX_NODESC:
- ret = (TARGET_32BIT) ? 40 : 48;
+ ret = 48; /* Keeps stack aligned */
break;
case ABI_NT: