This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: continuing egcs-1.1 problems
- To: Gary Thomas <gdt at linuxppc dot org>
- Subject: Re: continuing egcs-1.1 problems
- From: Elgin Lee <ehl at funghi dot com>
- Date: Wed, 11 Nov 1998 21:54:28 -0800
- cc: bacon at aerodyne dot com, egcs at cygnus dot com, ehl at funghi dot com, bacon at mediaone dot net, law at cygnus dot com, Franz dot Sirl-kernel at lauterbach dot com, phadke at kewalo dot eng dot hawaii dot edu, dje at watson dot ibm dot com
>>>>> 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