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: continuing egcs-1.1 problems


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:



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