Small bug in rs6000/tramp.asm, how to resolve?

Geoff Keating geoffk@geoffk.org
Mon Jun 18 11:28:00 GMT 2001


Franz Sirl <Franz.Sirl-kernel@lauterbach.com> writes:

> Hi,
> 
> a change in glibc made a small bug in tramp.asm noticeable for some 
> applications, namely on powerpc-linux-gnu abort() gets a REL24 relocation 
> instead on a JMPSLOT.
> 
> The offending code looks like:
> 
> 
> Labort:
>          bl      FUNC_NAME(abort)
> FUNC_END(__trampoline_setup)
> 
> After preprocessing we end up with a simple
> 
> 	bl	abort
> 
> but what would be correct here is
> 
> 	bl	abort@plt
> 
> to create the correct relocation. Now, we cannot change that easily, as 
> tramp.asm is used on different platforms and the assembly language differs.
> What do we want to do? Create a FUNC_NAME_PIC or JUMP_TARGET_PIC macro in 
> ppc-asm.h? Something else?

Rewrite it in C, with inline assembler for trampoline_initial and the
cache operations?

-- 
- Geoffrey Keating <geoffk@geoffk.org>



More information about the Gcc-bugs mailing list