Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: basesrc/libexec/ld.elf_so



On Fri, Sep 06, 2002 at 06:05:38AM +0300, Charles M. Hannum wrote:
> 
> Module Name:  basesrc
> Committed By: mycroft
> Date:         Fri Sep  6 03:05:38 UTC 2002
> 
> Modified Files:
>       basesrc/libexec/ld.elf_so: reloc.c rtld.h
>       basesrc/libexec/ld.elf_so/arch/alpha: alpha_reloc.c
>       basesrc/libexec/ld.elf_so/arch/arm: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/hppa: hppa_reloc.c
>       basesrc/libexec/ld.elf_so/arch/i386: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/m68k: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/mips: mips_reloc.c
>       basesrc/libexec/ld.elf_so/arch/powerpc: ppc_reloc.c
>       basesrc/libexec/ld.elf_so/arch/sh3: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/sparc: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/sparc64: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/vax: mdreloc.c
>       basesrc/libexec/ld.elf_so/arch/x86_64: mdreloc.c
> 
> Log Message:
> Split _rtld_relocate_plt_object() into two MD functions:
> * _rtld_relocate_plt_lazy() fixes up all the relocs pointing to the PLT.  (On
>   most platforms it just does a simple base-relative fixup; on SPARC it does
>   nothing.)

I think '_lazy' is unnecessary here.

> * _rtld_relocate_plt_object() does immediate binding for a PLT entry.

This doesn't look right to me. With this change our ld.elf_so does
no longer immediate binding properly. Look at: 

#if 0
                if (bind_now)
                        if (_rtld_relocate_plt_object(obj, dodebug) < 0)
                                ok = 0;
#endif

If bind_now is set, it should perform immediate binding for _all_
PLT entries. I guess you already know that - you commented it out.

Jun-Young

-- 
Bang Jun-Young <junyoung%mogua.com@localhost>



Home | Main Index | Thread Index | Old Index