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