The NetBSD Project

CVS log for src/libexec/ld.elf_so/arch/sh3/mdreloc.c

[BACK] Up to [cvs.NetBSD.org] / src / libexec / ld.elf_so / arch / sh3

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.35 / (download) - annotate - [select for diffs], Thu Aug 10 19:03:26 2017 UTC (3 years, 8 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp, HEAD
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Add IRELATIVE support for ARM, X86 and PowerPC.

Revision 1.32.8.1 / (download) - annotate - [select for diffs], Tue Jul 4 12:47:58 2017 UTC (3 years, 9 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.32: +28 -34 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

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.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Jun 20 13:45:20 2017 UTC (3 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646
Changes since 1.33: +5 -4 lines
Diff to previous 1.33 (colored)

Add last_symnum, move up def and defobj.

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jun 19 11:57:02 2017 UTC (3 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.32: +25 -32 lines
Diff to previous 1.32 (colored)

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.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Apr 14 20:17:07 2016 UTC (5 years ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, netbsd-8-base, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.31: +2 -7 lines
Diff to previous 1.31 (colored)

Remove duplicated __RCSIDs I added years ago - I blame CVS.

Spotted by Miod Vallat

Revision 1.30.22.1 / (download) - annotate - [select for diffs], Sun Mar 6 18:17:56 2016 UTC (5 years, 1 month ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Changes since 1.30: +10 -4 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Catch up to -current, via patch, requested by christos in ticket #1126:

Revision 1.31 / (download) - annotate - [select for diffs], Mon Aug 25 20:40:52 2014 UTC (6 years, 7 months ago) by joerg
Branch: MAIN
Changes since 1.30: +10 -4 lines
Diff to previous 1.30 (colored)

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Sat Mar 17 18:28:39 2012 UTC (9 years, 1 month ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.24: +10 -7 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Pull up following revision(s) via patch (requested by skrll in ticket #1724):
	rescue/list.ldd: revision 1.4
	lib/libc/dlfcn/dlfcn_elf.c: revision 1.7
	libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.57
	distrib/sets/lists/comp/mi: revision 1.1512
	share/man/man3/Makefile: revision 1.56
	libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.58
	usr.bin/ldd/ldd.c: revision 1.15
	libexec/ld.elf_so/rtld.h: revision 1.84
	share/man/man3/dl_iterate_phdr.3: revision 1.1
	libexec/ld.elf_so/rtld.c: revision 1.129
	libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.44
	libexec/ld.elf_so/rtld.h: revision 1.89
	libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.36
	libexec/ld.elf_so/map_object.c: revision 1.41
	libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.37
	libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.46
	include/link_elf.h: revision 1.10
	libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.29
	libexec/ld.elf_so/arch/vax/mdreloc.c: revision 1.26
	libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.34
	libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.31
	libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.35
	libexec/ld.elf_so/Makefile: revision 1.94
	libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.32
	libexec/ld.elf_so/Makefile: revision 1.95
	libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.31
	libexec/ld.elf_so/Makefile: revision 1.96
	libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.32
	libexec/ld.elf_so/reloc.c: revision 1.98
	libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.33
	sys/sys/exec_elf.h: revision 1.106
	libexec/ld.elf_so/rtld.c: revision 1.130
	libexec/ld.elf_so/load.c: revision 1.37
	libexec/ld.elf_so/rtld.c: revision 1.131
	libexec/ld.elf_so/load.c: revision 1.38
	libexec/ld.elf_so/rtld.h: revision 1.90
	libexec/ld.elf_so/headers.c: revision 1.36
	libexec/ld.elf_so/rtld.h: revision 1.95
	libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.30
	libexec/ld.elf_so/arch/m68k/mdreloc.c: revision 1.25
	libexec/ld.elf_so/symbol.c: revision 1.50
	libexec/ld.elf_so/symbol.c: revision 1.51
	libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.43
	libexec/ld.elf_so/symbol.c: revision 1.52
	libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.27
	libexec/ld.elf_so/symbol.c: revision 1.54
PR/39240: Satoshi Suetake: Don't fail when attempting to resolve weak symbols
when we are doing immediate binding, leave them alone and they will be dealt
with later during lazy binding. From skrll@
Implement negative cache checks for symbol lookups.
Uses the Donelist idea from FreeBSD.
Use alloca(3) instead of local xmalloc for creating our DoneLists.
This allows threaded programs to use us a little better, PR lib/43005.
Implement dl_iterate_phdr.
Somewhat taken from FreeBSD. Manual page from OpenBSD.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Mar 25 18:07:06 2011 UTC (10 years ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, cherry-xenmp-base, cherry-xenmp, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.29: +5 -3 lines
Diff to previous 1.29 (colored)

Add basic locking to ld.elf_so.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Mar 12 22:54:36 2011 UTC (10 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.28: +47 -3 lines
Diff to previous 1.28 (colored)

Add TLS support for AMD64, i386 and SH3.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Aug 6 16:33:18 2010 UTC (10 years, 8 months ago) by joerg
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.27: +4 -5 lines
Diff to previous 1.27 (colored)

Reduce header pollution for mdreloc.c. Make Obj_Entry argument of
_rtld_relocate_nonplt_objects non-const in preparation for TLS support.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jan 13 20:17:22 2010 UTC (11 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.26: +10 -7 lines
Diff to previous 1.26 (colored)

PR/39240: Satoshi Suetake: Don't fail when attempting to resolve weak symbols
when we are doing immediate binding, leave them alone and they will be dealt
with later during lazy binding. From skrll@

Revision 1.26 / (download) - annotate - [select for diffs], Sat Aug 29 13:46:55 2009 UTC (11 years, 7 months ago) by jmmv
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored)

Remove trailing \n in calls to _rtld_error: a newline is automatically
added by a call to the function.

Revision 1.24.6.1 / (download) - annotate - [select for diffs], Wed May 13 19:18:41 2009 UTC (11 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.24: +5 -5 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html

Revision 1.25 / (download) - annotate - [select for diffs], Mon Mar 16 02:46:47 2009 UTC (12 years, 1 month ago) by lukem
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.24: +5 -5 lines
Diff to previous 1.24 (colored)

Fix const issues (cast const pointers to "const uint8_t *" instead of "caddr_t")

NOTE: change based on ../i386/mdreloc.c 1.27
XXX: not compile tested

Revision 1.22.20.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:39:18 2008 UTC (12 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.22: +8 -3 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jul 24 06:51:58 2008 UTC (12 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Branch point for: netbsd-5, jym-xensuspend
Changes since 1.23: +7 -2 lines
Diff to previous 1.23 (colored)

RCSID police

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jul 24 04:39:25 2008 UTC (12 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Refactor common code to _rtld_relocate_plt_object to i386 and arm so they
act like the other versions.
In _rtld_bind, if the result is 0, call _rtld_die.
Initialize _rtld_sym_zero.st_value to -_rtld_objself.maprelocbase.  Now when
the symbol is resolved, st_value + maprelocbase will equal 0 and the above
check in _rtld_bind will fire and a call to NULL will be avoided.

Revision 1.22 / (download) - annotate - [select for diffs], Sun May 21 04:17:35 2006 UTC (14 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: wrstuden-revivesa
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

avoid more GCC4 uninitialised variable problems.  (sh3 known, vax guessed.)

Revision 1.21 / (download) - annotate - [select for diffs], Sat Aug 20 19:01:17 2005 UTC (15 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.20: +6 -1 lines
Diff to previous 1.20 (colored)

Add __RCSID.

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 31 19:30:38 2005 UTC (15 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.19: +33 -4 lines
Diff to previous 1.19 (colored)

Support LD_BIND_NOW on sh3..

Revision 1.19.4.2 / (download) - annotate - [select for diffs], Fri May 28 08:31:22 2004 UTC (16 years, 10 months ago) by tron
Branch: netbsd-1-6
Changes since 1.19.4.1: +206 -0 lines
Diff to previous 1.19.4.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Apply patch (request by skrll in ticket #1702):
Bring "ld.elf_so" (mostly) in sync with NetBSD-current:
- MI and MD (e.g. under NetBSD-alpha) performance improvements
- RTLD_SELF, RTLD_NEXT, RTLD_DEFAULT support
- much better structured code
- closes PR bin/25464

Revision 1.19.4.1, Thu Jul 24 10:12:29 2003 UTC (17 years, 8 months ago) by tron
Branch: netbsd-1-6
Changes since 1.19: +0 -206 lines
FILE REMOVED

file mdreloc.c was added on branch netbsd-1-6 on 2004-05-28 08:31:22 +0000

Revision 1.19 / (download) - annotate - [select for diffs], Thu Jul 24 10:12:29 2003 UTC (17 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Branch point for: netbsd-1-6
Changes since 1.18: +4 -8 lines
Diff to previous 1.18 (colored)

ANSIfy and de-__P().

Revision 1.18 / (download) - annotate - [select for diffs], Sat Jul 5 20:48:39 2003 UTC (17 years, 9 months ago) by marcus
Branch: MAIN
Changes since 1.17: +1 -29 lines
Diff to previous 1.17 (colored)

Removed unused function.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jul 5 18:18:51 2003 UTC (17 years, 9 months ago) by tsutsui
Branch: MAIN
Changes since 1.16: +4 -1 lines
Diff to previous 1.16 (colored)

Add function prototype declarations.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Jul 2 15:29:34 2003 UTC (17 years, 9 months ago) by marcus
Branch: MAIN
Changes since 1.15: +7 -3 lines
Diff to previous 1.15 (colored)

Bugfix: Don't pick addend both from reloc and contents at the same time.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jun 30 00:50:46 2003 UTC (17 years, 9 months ago) by marcus
Branch: MAIN
Changes since 1.14: +51 -1 lines
Diff to previous 1.14 (colored)

Updated to work with current rtld code.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Oct 3 20:39:23 2002 UTC (18 years, 6 months ago) by mycroft
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Skip the lazy PLT relocation if relocbase==0 (useful if libraries are loaded
at their VMA address).

Revision 1.13 / (download) - annotate - [select for diffs], Thu Sep 26 20:42:12 2002 UTC (18 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.12: +2 -3 lines
Diff to previous 1.12 (colored)

Remove the `self' args to _rtld_relocate_objects() and
_rtld_relocate_nonplt_objects().

Revision 1.12 / (download) - annotate - [select for diffs], Thu Sep 12 22:56:31 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.11: +13 -17 lines
Diff to previous 1.11 (colored)

Nuke -DRTLD_RELOCATE_SELF and `dodebug' from orbit.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Sep 12 20:21:01 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

_rtld_bind_start() is not used in MI code, so declare it in the MD code.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Sep 11 14:19:30 2002 UTC (18 years, 7 months ago) by junyoung
Branch: MAIN
Changes since 1.9: +2 -0 lines
Diff to previous 1.9 (colored)

Add $NetBSD$.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Sep 6 15:17:58 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.8: +2 -1 lines
Diff to previous 1.8 (colored)

Pass down an additional flag to _rtld_relocate_nonplt_objects() which
indicates whether we're relocating ld.elf_so itself.  Use this in some places
rather than hackish tests on `dodebug'.  (The Alpha and HPPA `dodebug' tests
were actually noops, because RTLD_RELOCATE_SELF is not set, and therefore
dodebug is always true.)

Revision 1.8 / (download) - annotate - [select for diffs], Fri Sep 6 13:20:34 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

Introduce a new flag, `isdynamic', which is used to remember whether the
executable was of type ET_DYN.  Use this instead of `mainprog' to determine
whether we need to do base-relative fixups of the PLT.  (This allows loading
non-relocatable objects, should we desire to do that at some point...)

Revision 1.7 / (download) - annotate - [select for diffs], Fri Sep 6 03:12:07 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Re-poison a lot of consts, now that the mark shite is gone.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Sep 6 03:05:37 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.5: +53 -0 lines
Diff to previous 1.5 (colored)

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

Revision 1.5 / (download) - annotate - [select for diffs], Thu Sep 5 21:31:34 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.4: +8 -8 lines
Diff to previous 1.4 (colored)

Partially fix up some debug printf()s that don't need to use defobj.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Sep 5 21:21:11 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +8 -13 lines
Diff to previous 1.3 (colored)

A few things:
* Pass a symbol number to _rtld_find_symdef(), not a r_info.
* Don't try to do a symbol lookup when we find an unsupported relocation;
  instead get the symbol name from the referencing object's strtab.
* Add preliminary support for `-z combreloc'-style startup optimization on
  i386, `#ifdef COMBRELOC'.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Sep 5 20:08:18 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.2: +105 -96 lines
Diff to previous 1.2 (colored)

Rename _rtld_relocate_nonplt_object() to _rtld_relocate_nonplt_objects(),
and push the outer loop into it.  This actually shaves a couple % off startup
time at least on PCs.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Sep 5 18:25:47 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +112 -0 lines
Diff to previous 1.1 (colored)

Split _rtld_relocate_nonplt_object() into separate MD files.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Sep 5 15:38:30 2002 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN

Make _rtld_setup_pltgot() a consistent interface on all platforms.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>