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