Source-Changes archive

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

CVS commit: basesrc/libexec/ld.elf_so



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.)
* _rtld_relocate_plt_object() does immediate binding for a PLT entry.
The basic gist is that this saves a bit of time on SPARC (where the iteration
through the pltrela table was gratuitous), and a little less time on all other
platforms.  A whole lot of #ifdef'ed crap is moved out of reloc.c, too.

NOT tested on: hppa sh x86_64


To generate a diff of this commit:
cvs rdiff -r1.61 -r1.62 basesrc/libexec/ld.elf_so/reloc.c
cvs rdiff -r1.40 -r1.41 basesrc/libexec/ld.elf_so/rtld.h
cvs rdiff -r1.9 -r1.10 basesrc/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
cvs rdiff -r1.5 -r1.6 basesrc/libexec/ld.elf_so/arch/arm/mdreloc.c
cvs rdiff -r1.7 -r1.8 basesrc/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
cvs rdiff -r1.5 -r1.6 basesrc/libexec/ld.elf_so/arch/i386/mdreloc.c
cvs rdiff -r1.5 -r1.6 basesrc/libexec/ld.elf_so/arch/m68k/mdreloc.c
cvs rdiff -r1.11 -r1.12 basesrc/libexec/ld.elf_so/arch/mips/mips_reloc.c
cvs rdiff -r1.16 -r1.17 basesrc/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
cvs rdiff -r1.5 -r1.6 basesrc/libexec/ld.elf_so/arch/sh3/mdreloc.c
cvs rdiff -r1.17 -r1.18 basesrc/libexec/ld.elf_so/arch/sparc/mdreloc.c
cvs rdiff -r1.12 -r1.13 basesrc/libexec/ld.elf_so/arch/sparc64/mdreloc.c
cvs rdiff -r1.5 -r1.6 basesrc/libexec/ld.elf_so/arch/vax/mdreloc.c
cvs rdiff -r1.11 -r1.12 basesrc/libexec/ld.elf_so/arch/x86_64/mdreloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index