Source-Changes archive

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

CVS commit: [netbsd-8] src/libexec/ld.elf_so



Module Name:    src
Committed By:   martin
Date:           Tue Jul  4 12:47:59 UTC 2017

Modified Files:
        src/libexec/ld.elf_so [netbsd-8]: Makefile map_object.c rtld.h symbol.c
        src/libexec/ld.elf_so/arch/aarch64 [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/alpha [netbsd-8]: alpha_reloc.c
        src/libexec/ld.elf_so/arch/arm [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/hppa [netbsd-8]: hppa_reloc.c
        src/libexec/ld.elf_so/arch/i386 [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/m68k [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/mips [netbsd-8]: mips_reloc.c
        src/libexec/ld.elf_so/arch/or1k [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/powerpc [netbsd-8]: ppc_reloc.c
        src/libexec/ld.elf_so/arch/riscv [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/sh3 [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/sparc [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/sparc64 [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/vax [netbsd-8]: mdreloc.c
        src/libexec/ld.elf_so/arch/x86_64 [netbsd-8]: mdreloc.c

Log Message:
Pull up following revision(s) (requested by joerg in ticket #64):
        libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.40
        libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.41
        libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.44
        libexec/ld.elf_so/arch/riscv/mdreloc.c: revision 1.3
        libexec/ld.elf_so/arch/aarch64/mdreloc.c: revision 1.3
        libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.60
        libexec/ld.elf_so/arch/m68k/mdreloc.c: revision 1.32
        libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.61
        libexec/ld.elf_so/arch/or1k/mdreloc.c: revision 1.2
        libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.50
        libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.33
        libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.34
        libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.39
        libexec/ld.elf_so/symbol.c: revision 1.68
        libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.66
        libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.67
        libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.68
        libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.42
        libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.54
        libexec/ld.elf_so/Makefile: revision 1.137
        libexec/ld.elf_so/arch/vax/mdreloc.c: revision 1.32
        libexec/ld.elf_so/rtld.h: revision 1.127
        libexec/ld.elf_so/arch/vax/mdreloc.c: revision 1.33
        libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.38
        libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.42
        libexec/ld.elf_so/map_object.c: revision 1.58
        libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.49
Replace COMBREL with just-in-time check in _rtld_relocate_nonplt_objects.
The COMBREL logic predates thread-safety of the dynamic linker and
breaks the use of shared locks for the common symbol lookup case. It is
unlikely to provide any benefit for lazy binding or PLT lookups, so
provide equivalent functionality in the non-PLT relocation handling loop
by checking if the symbol used by the current relocation is the same as
the one used during the last lookup. No inter-object cachine is done as
it is also unlikely to be benefical.
Testing with Firefox startup on AMD64 shows a small performance gain by
the new method.
Drop symbol number from default branch diagnostic, it isn't set at this
point and most likely not valid either.
Expand symnum, GCC's uninitialized used tracking is too imprecise.
Fix C&P bug. Deal with more MIPS hacks overriding def.
Add last_symnum, move up def and defobj.
Add back symnum, fix debug print.
Replace last use of r_type.
Fix indentation.
Fix indentation.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.136.6.1 src/libexec/ld.elf_so/Makefile
cvs rdiff -u -r1.57 -r1.57.4.1 src/libexec/ld.elf_so/map_object.c
cvs rdiff -u -r1.126 -r1.126.6.1 src/libexec/ld.elf_so/rtld.h
cvs rdiff -u -r1.67 -r1.67.6.1 src/libexec/ld.elf_so/symbol.c
cvs rdiff -u -r1.2 -r1.2.8.1 src/libexec/ld.elf_so/arch/aarch64/mdreloc.c
cvs rdiff -u -r1.41 -r1.41.8.1 src/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
cvs rdiff -u -r1.38 -r1.38.8.1 src/libexec/ld.elf_so/arch/arm/mdreloc.c
cvs rdiff -u -r1.43 -r1.43.8.1 src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
cvs rdiff -u -r1.37 -r1.37.8.1 src/libexec/ld.elf_so/arch/i386/mdreloc.c
cvs rdiff -u -r1.31 -r1.31.8.1 src/libexec/ld.elf_so/arch/m68k/mdreloc.c
cvs rdiff -u -r1.65 -r1.65.8.1 src/libexec/ld.elf_so/arch/mips/mips_reloc.c
cvs rdiff -u -r1.1 -r1.1.8.1 src/libexec/ld.elf_so/arch/or1k/mdreloc.c
cvs rdiff -u -r1.53 -r1.53.8.1 src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
cvs rdiff -u -r1.2 -r1.2.8.1 src/libexec/ld.elf_so/arch/riscv/mdreloc.c
cvs rdiff -u -r1.32 -r1.32.8.1 src/libexec/ld.elf_so/arch/sh3/mdreloc.c
cvs rdiff -u -r1.48 -r1.48.8.1 src/libexec/ld.elf_so/arch/sparc/mdreloc.c
cvs rdiff -u -r1.59 -r1.59.6.1 src/libexec/ld.elf_so/arch/sparc64/mdreloc.c
cvs rdiff -u -r1.31 -r1.31.8.1 src/libexec/ld.elf_so/arch/vax/mdreloc.c
cvs rdiff -u -r1.41 -r1.41.8.1 src/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