LD_BIND_NOT on ia64 and hppa? (profiling libc)
Carlos O'Donell
carlos@baldric.uwo.ca
Mon Jan 5 05:24:00 GMT 2004
On Fri, Jan 02, 2004 at 01:40:04PM -0800, Roland McGrath wrote:
> fixup/profile_fixup are internal functions, called only by your asm code
> (ELF_MACHINE_RUNTIME_TRAMPOLINE). They can return whatever you want,
> controlled by elf_machine_fixup_plt. On IA64, they return the descriptor,
> and the asm gets the gp and pc from it.
True. Though the goal is to create some generic code that everyone can
leverage. Some minor changes and the profile_fixup code can work for all
arches. Case in point ia64 apps crash when using LD_PROFILE in debian.
I have a patch where I make l_reloc_result the size of a plt entry, as
defined by the arch, and then I pass the index onto elf_machine_fixup_plt.
Thus the call is made from the cache, and subsequent calls still go through
the trampoline. In such a case both profile_fixup and fixup look almost
*identical*.
This would fix ia64 and hppa for the LD_PROFILE case.
Is there anything wrong with such a change?
c.
More information about the Libc-alpha
mailing list