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


>>>>> In <XFMail.981112042619.gdt@linuxppc.org> 
>>>>>	Gary Thomas <gdt@linuxppc.org> wrote:

> However, all of that said, it will be difficult to use EGCS without the 
> 48 byte trampoline patch in the immediate future.  This is because virtually
> every program already built has the [buggy] previously patched 'libgcc'
> linked into it.  Changing the compiler now will cause newly compiled 
> programs to fail with existing shared libraries and changing the libraries
> will cause existing programs to fail.
<snip>

Gary,

Is it really true that changing the shared libraries will cause
existing programs to fail?  The old libgcc.a uses

	li	r8,__trampoline_size	/* verify that the trampoline is big enough */
	cmpw	cr1,r4,r8
	srwi	r4,r4,2			/* # words to move */
	addi	r9,r3,-4		/* adjust pointer for lwzu */
	mtctr	r4
	blt	cr1,.Labort

where __trampoline_size is 40.  If the glibc library is rebuilt with
an unpatched egcs 1.1.1, then won't it pass 40 in register r4?  In
that case, r4 is *not* less than r8 so the abort branch would not be
taken.

Actually, only way that the abort branch would be taken is if the
caller requests a trampoline with size less than 40--which I don't
think ever occurs.

--Elgin


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