The NetBSD Project

CVS log for src/libexec/ld.elf_so/headers.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.69 / (download) - annotate - [select for diffs], Sat May 16 16:43:15 2020 UTC (8 months ago) by skrll
Branch: MAIN
CVS Tags: HEAD
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Fix debug build

Revision 1.63.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:17 2020 UTC (9 months, 1 week ago) by martin
Branch: phil-wifi
Changes since 1.63.2.1: +95 -14 lines
Diff to previous 1.63.2.1 (colored) to branchpoint 1.63 (colored) next main 1.64 (colored)

Merge changes from current as of 20200406

Revision 1.65.2.1 / (download) - annotate - [select for diffs], Sun Mar 8 10:22:29 2020 UTC (10 months, 2 weeks ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-1-RELEASE
Changes since 1.65: +5 -5 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

Pull up following revision(s) (requested by thorpej in ticket #758):

	libexec/ld.elf_so/map_object.c: revision 1.61
	libexec/ld.elf_so/headers.c: revision 1.68
	libexec/ld.elf_so/rtld.c: revision 1.203

PT_GNU_RELRO segments are arranged such that their vaddr + memsz ends
on a linker common page size boundary.  However, if the common page size
used by the linker is less than the VM page size being used by the kernel,
this can end up in the middle of a VM page and when the region is write-
protected, this can cause objects in neighboring .data to get incorrectly
write-protected, resulting in a crash.

Avoid this situation by calculating the end of the RELRO region not by
rounding memsz up to the VM page size, but rather by adding vaddr + memsz
and then truncating to the VM page size.

Fixes PR toolchain/55043.

XXX pullup-9

Revision 1.68 / (download) - annotate - [select for diffs], Wed Mar 4 01:21:17 2020 UTC (10 months, 2 weeks ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406
Changes since 1.67: +5 -5 lines
Diff to previous 1.67 (colored)

PT_GNU_RELRO segments are arranged such that their vaddr + memsz ends
on a linker common page size boundary.  However, if the common page size
used by the linker is less than the VM page size being used by the kernel,
this can end up in the middle of a VM page and when the region is write-
protected, this can cause objects in neighboring .data to get incorrectly
write-protected, resulting in a crash.

Avoid this situation by calculating the end of the RELRO region not by
rounding memsz up to the VM page size, but rather by adding vaddr + memsz
and then truncating to the VM page size.

Fixes PR toolchain/55043.

XXX pullup-9

Revision 1.67 / (download) - annotate - [select for diffs], Sat Feb 29 18:53:55 2020 UTC (10 months, 3 weeks ago) by kamil
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp
Changes since 1.66: +3 -3 lines
Diff to previous 1.66 (colored)

Add extra cast to suppress incompatible-pointer-types GCC warning

Revision 1.66 / (download) - annotate - [select for diffs], Sat Feb 29 04:24:33 2020 UTC (10 months, 3 weeks ago) by kamil
Branch: MAIN
Changes since 1.65: +92 -11 lines
Diff to previous 1.65 (colored)

Implement DT_GNU_HASH

DT_GNU_HASH serves the same purpose as DT_HASH, however it is a distinct
and faster apprach implemented and designed in the GNU toolchain in 2006.

DT_GNU_HASH is preferred whenever available.

Original GNU benchmarks claim 50% faster dynamic linking time.
https://www.sourceware.org/ml/binutils/2006-06/msg00418.html

Code based on FreeBSD and OpenBSD, both were based on DragonFlyBSD.

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:29 2019 UTC (19 months, 1 week ago) by christos
Branch: phil-wifi
Changes since 1.63: +5 -3 lines
Diff to previous 1.63 (colored)

Sync with HEAD

Revision 1.62.4.3 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:11 2019 UTC (2 years ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.62.4.2: +3 -2 lines
Diff to previous 1.62.4.2 (colored) to branchpoint 1.62 (colored) next main 1.63 (colored)

Synch with HEAD

Revision 1.65 / (download) - annotate - [select for diffs], Sun Dec 30 11:55:15 2018 UTC (2 years ago) by martin
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.64: +3 -2 lines
Diff to previous 1.64 (colored)

Add support for DT_RUNPATH - it is just the same as we always have treated
DT_RPATH.  Approved by core.

Revision 1.62.4.2 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:23 2018 UTC (2 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.62.4.1: +4 -3 lines
Diff to previous 1.62.4.1 (colored) to branchpoint 1.62 (colored)

Sync with HEAD

Revision 1.61.8.2 / (download) - annotate - [select for diffs], Thu Jul 26 23:45:09 2018 UTC (2 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.61.8.1: +4 -3 lines
Diff to previous 1.61.8.1 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored)

Pull up following revision(s) (requested by joerg in ticket #940):
	libexec/ld.elf_so/headers.c: revision 1.64
Apply relocbase for tlsinit of the executable itself. Fixes PIE where
relocbase typically is not zero.
PR bin/53465

Revision 1.64 / (download) - annotate - [select for diffs], Tue Jul 24 13:48:48 2018 UTC (2 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728
Changes since 1.63: +4 -3 lines
Diff to previous 1.63 (colored)

Apply relocbase for tlsinit of the executable itself. Fixes PIE where
relocbase typically is not zero.

PR bin/53465

Revision 1.62.4.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:35 2018 UTC (2 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

Sync with HEAD

Revision 1.63 / (download) - annotate - [select for diffs], Thu May 24 17:05:54 2018 UTC (2 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

rename flag to the official name.

Revision 1.61.8.1 / (download) - annotate - [select for diffs], Fri Jun 30 06:28:54 2017 UTC (3 years, 6 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.61: +11 -12 lines
Diff to previous 1.61 (colored)

Pull up following revision(s) (requested by joerg in ticket #63):
	libexec/ld.elf_so/headers.c: revision 1.62
Remove old assert that only two segments exist. The rest of the code has
been changed to cope with more and at least Go actively creates them.
Adjust the mapping size computation to use the maximum and not depend on
PT_LOAD segments to be in order.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Jun 23 15:29:21 2017 UTC (3 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646
Branch point for: pgoyette-compat
Changes since 1.61: +11 -12 lines
Diff to previous 1.61 (colored)

Remove old assert that only two segments exist. The rest of the code has
been changed to cope with more and at least Go actively creates them.
Adjust the mapping size computation to use the maximum and not depend on
PT_LOAD segments to be in order.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jun 14 13:06:41 2016 UTC (4 years, 7 months ago) by christos
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.60: +13 -2 lines
Diff to previous 1.60 (colored)

Add support for GNU RELRO headers from Matthias Weckbecker.

Revision 1.60 / (download) - annotate - [select for diffs], Sun May 22 19:28:39 2016 UTC (4 years, 8 months ago) by joerg
Branch: MAIN
Changes since 1.59: +4 -4 lines
Diff to previous 1.59 (colored)

obj->phdr must be the absolute address, not the virtual offset from the
main binary. Historically, this has been the same. For PIE though,
relocbase can be pretty much anywhere. Fixes PR toolchain/51159.

Revision 1.54.4.1 / (download) - annotate - [select for diffs], Sun Mar 6 18:17:55 2016 UTC (4 years, 10 months 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.54: +13 -16 lines
Diff to previous 1.54 (colored) next main 1.55 (colored)

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

Revision 1.59 / (download) - annotate - [select for diffs], Tue Aug 26 21:20:05 2014 UTC (6 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.58: +4 -3 lines
Diff to previous 1.58 (colored)

Restore parenthesis to cast in the right order.

Revision 1.58 / (download) - annotate - [select for diffs], Tue Aug 26 15:06:50 2014 UTC (6 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.57: +8 -2 lines
Diff to previous 1.57 (colored)

fix set but not used.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Aug 26 12:14:14 2014 UTC (6 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.56: +6 -4 lines
Diff to previous 1.56 (colored)

Go back to skipping init/fini handling for ldd, makes problems for 32bit
compat on LP64.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Aug 26 07:54:27 2014 UTC (6 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored)

Introduce a cast to fix the build for Elf32 on _LP64.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Aug 25 20:40:52 2014 UTC (6 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.54: +6 -18 lines
Diff to previous 1.54 (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.43.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:22 2014 UTC (6 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.43.2.1: +11 -5 lines
Diff to previous 1.43.2.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.41.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:37:13 2014 UTC (6 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.41.2.1: +52 -10 lines
Diff to previous 1.41.2.1 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.54 / (download) - annotate - [select for diffs], Fri Mar 7 01:27:14 2014 UTC (6 years, 10 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, 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
Branch point for: netbsd-7
Changes since 1.53: +3 -3 lines
Diff to previous 1.53 (colored)

Make ldd happy

Revision 1.53 / (download) - annotate - [select for diffs], Thu Mar 6 19:19:40 2014 UTC (6 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.52: +8 -2 lines
Diff to previous 1.52 (colored)

More PPC64 changes.
Nothing to do for lazy bindings.
Record DT_PPC64_GLINK and make _rtld_bind return it.
When resolving a JMP_SLOT, copy the source function descriptor into the PLTGOT

Revision 1.52 / (download) - annotate - [select for diffs], Sat Aug 3 13:17:05 2013 UTC (7 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.51: +7 -7 lines
Diff to previous 1.51 (colored)

Fix DEBUG build.

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Sun Jun 23 06:28:49 2013 UTC (7 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.43: +46 -10 lines
Diff to previous 1.43 (colored)

resync from head

Revision 1.51 / (download) - annotate - [select for diffs], Mon May 6 19:59:29 2013 UTC (7 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Changes since 1.50: +8 -3 lines
Diff to previous 1.50 (colored)

Fixed handling of DT_SONAME:

	- add function to add name aliases for shared libraries loaded
	  XXX[1]: we don't add a name during load time, only when DT_SONAME
	  is present.
	- search already loaded objects in load_by_name for an already
	  loaded object that matches our name and return it.
	- add missing initialization and cleanup for obj->names
	  XXX[2]: should we make them SIMPLEQ?
	- Add XXX in rtld.c about getting the name of an object.

NB: This makes the jdk work again without resorting to a hack of putting
    the build path of libjvm.so into the run path (which is a security
    problem).
XXX: Pullup-6?

Revision 1.50 / (download) - annotate - [select for diffs], Mon May 6 08:02:20 2013 UTC (7 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.49: +5 -5 lines
Diff to previous 1.49 (colored)

Trailing whitespace

Revision 1.49 / (download) - annotate - [select for diffs], Mon May 6 07:54:04 2013 UTC (7 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.48: +29 -6 lines
Diff to previous 1.48 (colored)

Add some DEBUG code.

Revision 1.48 / (download) - annotate - [select for diffs], Thu May 2 21:11:03 2013 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.47: +4 -2 lines
Diff to previous 1.47 (colored)

Print out PT_DYNAMIC address for objmain.
Print out &_DYNAMIC too.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Apr 25 13:45:15 2013 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.46: +5 -5 lines
Diff to previous 1.46 (colored)

Use phdr as start of phdrs (duh)

Revision 1.46 / (download) - annotate - [select for diffs], Thu Apr 25 13:26:17 2013 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored)

Use ph, not phdr, consistently.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Apr 25 13:14:41 2013 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored)

Don't assume that PT_PHDR is always first.

Revision 1.44 / (download) - annotate - [select for diffs], Wed Apr 24 22:37:20 2013 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.43: +8 -2 lines
Diff to previous 1.43 (colored)

Add support for PT_ARM_EXIDX and __gnu_Unwind_Find_exidx for libgcc's support
of the ARM EHABI.

Revision 1.41.4.1.2.1 / (download) - annotate - [select for diffs], Tue Jan 22 21:47:27 2013 UTC (8 years ago) by matt
Branch: matt-nb6-plus
Changes since 1.41.4.1: +24 -2 lines
Diff to previous 1.41.4.1 (colored) next main 1.42 (colored)

Pullup from HEAD:
Add .init_array/.fini_array support (conditionalized on HAVE_INITFINI_ARRAY).

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Tue Oct 30 18:59:22 2012 UTC (8 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.41: +24 -3 lines
Diff to previous 1.41 (colored)

sync with head

Revision 1.43 / (download) - annotate - [select for diffs], Wed Aug 15 03:46:06 2012 UTC (8 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.42: +24 -2 lines
Diff to previous 1.42 (colored)

Add .init_array/.fini_array support (conditionalized on HAVE_INITFINI_ARRAY).

Revision 1.41.4.1 / (download) - annotate - [select for diffs], Wed Aug 8 06:24:51 2012 UTC (8 years, 5 months ago) by jdc
Branch: netbsd-6
CVS Tags: 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, matt-nb6-plus-nbase, matt-nb6-plus-base
Branch point for: matt-nb6-plus
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

Pull up revisions:
  src/libexec/ld.elf_so/headers.c revision 1.42
  src/libexec/ld.elf_so/arch/sparc64/mdreloc.c revision 1.53
(requested by martin in ticket #447).

Remove a debug assert that does not hold for PIE (e.g. phdr = 0x40, but
obj has not been mapped at 0, so obj->phdr is 0x100040).
OK: skrll

Add special handling needed for OLO10 relocations.
First part of fixing PR port-sparc64/46724.

Revision 1.42 / (download) - annotate - [select for diffs], Sun Jul 22 09:16:35 2012 UTC (8 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (colored)

Remove a debug assert that does not hold for PIE (e.g. phdr = 0x40, but
obj has not been mapped at 0, so obj->phdr is 0x100040).
OK: skrll

Revision 1.26.10.3 / (download) - annotate - [select for diffs], Sun Mar 18 14:06:13 2012 UTC (8 years, 10 months 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.26.10.2: +3 -3 lines
Diff to previous 1.26.10.2 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Apply patch, requested by skrll in ticket 1724:
	libexec/ld.elf_so/headers.c		1.37 via patch
Add cast so that usr.bin/ldd/elf32 builds.

Revision 1.26.10.2 / (download) - annotate - [select for diffs], Sat Mar 17 18:28:33 2012 UTC (8 years, 10 months ago) by bouyer
Branch: netbsd-5
Changes since 1.26.10.1: +17 -10 lines
Diff to previous 1.26.10.1 (colored) to branchpoint 1.26 (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.41 / (download) - annotate - [select for diffs], Sat Jun 25 05:45:12 2011 UTC (9 years, 6 months ago) by nonaka
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base
Branch point for: yamt-pagecache, netbsd-6
Changes since 1.40: +25 -2 lines
Diff to previous 1.40 (colored)

PR/45015: ld.elf_so: support ELF symbol versioning
Applied latest patch.

Revision 1.40 / (download) - annotate - [select for diffs], Wed Mar 9 23:10:07 2011 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: cherry-xenmp-base, cherry-xenmp
Changes since 1.39: +12 -2 lines
Diff to previous 1.39 (colored)

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

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

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Jan 16 01:22:29 2011 UTC (10 years ago) by matt
Branch: MAIN
CVS Tags: bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.38: +7 -2 lines
Diff to previous 1.38 (colored)

Add secure-plt support for powerpc to ld.elf_so.  As part of this, we have to
stop calling into the GOT/_DYNAMIC since they are no longer executable.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Dec 24 12:41:43 2010 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Changes since 1.37: +9 -3 lines
Diff to previous 1.37 (colored)

Add support for DF_1_BIND_NOW, DF_1_NODELETE and DF_1_NOOPEN marked
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).

Mark libpthread as DF_1_NOOPEN and use it to test the functionality.

Somewhat taken from FreeBSD.

Fixes PR 42029.

OK from christos and joerg.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Oct 16 17:48:12 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored)

Add cast so that usr.bin/ldd/elf32 builds.

Revision 1.36 / (download) - annotate - [select for diffs], Sat Oct 16 10:27:07 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.35: +17 -11 lines
Diff to previous 1.35 (colored)

Implement dl_iterate_phdr.

Somewhat taken from FreeBSD. Manual page from OpenBSD.

Revision 1.35 / (download) - annotate - [select for diffs], Fri Oct 15 15:08:05 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.34: +11 -17 lines
Diff to previous 1.34 (colored)

Revert previous for now. It's part of a larger commit which will arrive
soon.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Oct 15 07:22:44 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.33: +17 -11 lines
Diff to previous 1.33 (colored)

Be more tolerant to the location of PT_PHDR in the segment list.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Sep 30 19:45:24 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

Oops. Remove trailing whitespace in previous.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Sep 30 19:43:11 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.31: +4 -3 lines
Diff to previous 1.31 (colored)

Improve debug output.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Sep 30 09:11:18 2010 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.30: +4 -4 lines
Diff to previous 1.30 (colored)

Introduce a new type Elf_Symindx for use in decoding the symbol hash table
section and allow this type to be overridden.

The ELF specification says it should always be uint32_t (Elf_Word), but
alpha decided to be different (not sure why). Define Elf_Symindx to be
uint64_t on alpha.

Alpha no longer uses non-standard definitions of Elf64_Sword and
Elf64_Word.  Remove the ability to override these types.

Fixes ld.elf_so after Herculean effort from me and martin.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Sep 23 13:03:35 2010 UTC (10 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.29: +9 -7 lines
Diff to previous 1.29 (colored)

Avoid casting from d_val to plttype of different signedness.
Just two booleans for the same purpose.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Apr 5 14:01:26 2010 UTC (10 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.28: +17 -3 lines
Diff to previous 1.28 (colored)

Use fast_remainder32 for the ELF hash. For the hot cache case, this
speeds up Firefox startup by over 2% on AMD64.
Limit hash table buckets to 32bit.

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

Sync with HEAD.

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

Revision 1.28 / (download) - annotate - [select for diffs], Sun Apr 12 13:29:29 2009 UTC (11 years, 9 months ago) by lukem
Branch: MAIN
CVS Tags: matt-premerge-20091211, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored)

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

Revision 1.26.10.1 / (download) - annotate - [select for diffs], Fri Jan 16 22:21:30 2009 UTC (12 years ago) by bouyer
Branch: netbsd-5
CVS Tags: 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
Changes since 1.26: +6 -6 lines
Diff to previous 1.26 (colored)

Pull up following revision(s) (requested by mrg in ticket #265):
	libexec/ld.elf_so/headers.c: revision 1.27
	rescue/list: revision 1.35
	libexec/ld.elf_so/arch/sparc/Makefile.ld32: revision 1.1
	usr.bin/ldd/Makefile.elf: revision 1.1
	usr.bin/ldd/Makefile.elf: revision 1.2
	usr.bin/ldd/ldd_aout/ldd.c: file removal
	usr.bin/ldd/Makefile.elf: revision 1.3
	libexec/ld.elf_so/arch/sparc/Makefile.inc: revision 1.12
	usr.bin/ldd/dummy.c: revision 1.1
	gnu/usr.bin/binutils/ld/Makefile: revision 1.28
	usr.bin/ldd/elf32/Makefile: revision 1.1
	usr.bin/ldd/elf32/Makefile: revision 1.2
	usr.bin/ldd/ldd.c: revision 1.3
	usr.bin/ldd/elf32/Makefile: revision 1.3
	usr.bin/ldd/ldd_elf/Makefile: file removal
	usr.bin/ldd/ldd.h: revision 1.1
	usr.bin/ldd/ldd.c: revision 1.4
	usr.bin/ldd/ldd_aout.c: revision 1.1
	usr.bin/ldd/Makefile: revision 1.8
	usr.bin/ldd/Makefile: revision 1.9
	usr.bin/ldd/ldd_elfxx.c: revision 1.1
	libexec/ld.elf_so/map_object.c: revision 1.37
	usr.bin/ldd/ldd_aout/Makefile: file removal
	usr.bin/ldd/elf64/Makefile: revision 1.1
	rescue/Makefile: revision 1.22
	libexec/ld.elf_so/arch/i386/Makefile.ld32: revision 1.1
	usr.bin/ldd/ldd_elf/ldd.c: file removal
	usr.bin/ldd/elf64/Makefile: revision 1.2
	usr.bin/ldd/elf64/Makefile: revision 1.3
	usr.bin/ldd/aout/Makefile: revision 1.1
	libexec/ld.elf_so/arch/i386/Makefile.inc: revision 1.12
	rescue/list.ldd: revision 1.1
	usr.bin/ldd/ldd_elf/README: file removal
	usr.bin/ldd/Makefile.common: revision 1.1
move the defines for RTLD_ARCH_SUBDIR into a sub-sub-makefile so we can
grab these values via reach-over more easily.
some fixes for PR#40170:
- set NATIVE=yes in the environment for genscripts.sh
- set LIB_PATH to /usr/lib/{sparc,i386} for those scripts
- set use_sysroot to "yes", to enable LIB_PATH to work in genscripts.sh
- get rid of building an a.out-happy ldd (but keep supporting a.out
  binaries for the ELF version.)
- convert a.out, elf32 and elf64 support into convience libraries and
  link them right ones in.  if elf_ldd() fails on 64 bit platforms,
  try elf32_ldd() before aout_ldd().
now ldd on 64 bit platforms works for 32 bit binaries, aka PR#40199,
and it seems that all the issues from README are gone too.
add some (uintptr_t) to some casts, so these compile with ELFSIZE=32
*and _LP64.  necessary for 32/64 bit combo ldd support.
- rework this a bunch to make it work inside /rescue/ldd.
- fix alpha build.
make sure we set LIBISPRIVATE.
fixes build issues reported by moof.
make sure we set LIBISPRIVATE.
fixes build issues reported by moof.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Jan 6 04:01:46 2009 UTC (12 years ago) by mrg
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.26: +6 -6 lines
Diff to previous 1.26 (colored)

add some (uintptr_t) to some casts, so these compile with ELFSIZE=32
*and _LP64.  necessary for 32/64 bit combo ldd support.

Revision 1.21.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:37:12 2008 UTC (13 years ago) by matt
Branch: matt-armv6
Changes since 1.21.4.1: +20 -12 lines
Diff to previous 1.21.4.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

sync with HEAD

Revision 1.26 / (download) - annotate - [select for diffs], Sat Dec 29 01:44:03 2007 UTC (13 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, netbsd-5-base, mjf-devfs2-base, mjf-devfs2, matt-mips64-base2, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Branch point for: netbsd-5
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

make this compile again.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Dec 28 19:36:21 2007 UTC (13 years ago) by christos
Branch: MAIN
Changes since 1.24: +3 -4 lines
Diff to previous 1.24 (colored)

simplify; mapbase == vaddrbase from the PaX author.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Dec 26 21:14:41 2007 UTC (13 years ago) by christos
Branch: MAIN
Changes since 1.23: +17 -12 lines
Diff to previous 1.23 (colored)

Deal with ASLR PIE executables, by recognizing that phdr != phdr->v_addr
for PT_PHDR headers when the program has been loader to a vaddr other than
then one specified (a randomized one), and modifying the relocation base
address appropriately (idea from elad)

Revision 1.23 / (download) - annotate - [select for diffs], Fri Dec 7 20:34:04 2007 UTC (13 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: cube-autoconf-base, cube-autoconf
Changes since 1.22: +6 -2 lines
Diff to previous 1.22 (colored)

rtld changes for PR bin/37347:

- Apply patch from J.T. Conklin to execute .init/.fini functions in order.
- Support DF_1_INITFIRST and mark libc with DF_1_INITFIRST. Shared libs
  should be recording a dependency on libc, but it's too late to do that.

Ok christos@.

Revision 1.21.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:12:08 2007 UTC (13 years, 2 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored)

sync with HEAD

Revision 1.22 / (download) - annotate - [select for diffs], Thu Sep 20 14:14:25 2007 UTC (13 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored)

Use AT_SUN_EXECPATH instead of argv[0] for the executable name. This needs
kernel support, which is not there yet, thus $ORIGIN is broken at this time.
This is ok, nothing uses it yet.

Revision 1.21 / (download) - annotate - [select for diffs], Fri May 18 21:44:08 2007 UTC (13 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored)

Support Solaris-like $ORIGIN etc. expansions in paths.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jan 9 12:43:23 2005 UTC (16 years ago) by simonb
Branch: MAIN
CVS Tags: 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, 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, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.19: +9 -2 lines
Diff to previous 1.19 (colored)

Don't process DT_DEBUG on MIPS as the dynamic section is mapped
read-only.  DT_MIPS_RLD_MAP is used instead.

Patch from Nick Hudson.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Oct 22 05:39:56 2004 UTC (16 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.18: +6 -1 lines
Diff to previous 1.18 (colored)

Add __RCSIDs.

OK'd by mycroft.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Fri May 28 08:31:22 2004 UTC (16 years, 7 months ago) by tron
Branch: netbsd-1-6
Changes since 1.9: +46 -41 lines
Diff to previous 1.9 (colored) next main 1.10 (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.18 / (download) - annotate - [select for diffs], Thu Jul 24 10:12:25 2003 UTC (17 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: 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
Changes since 1.17: +7 -11 lines
Diff to previous 1.17 (colored)

ANSIfy and de-__P().

Revision 1.17 / (download) - annotate - [select for diffs], Sat Oct 5 11:59:03 2002 UTC (18 years, 3 months ago) by mycroft
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.16: +2 -1 lines
Diff to previous 1.16 (colored)

Minor cleanup.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Oct 4 18:50:43 2002 UTC (18 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.15: +1 -3 lines
Diff to previous 1.15 (colored)

Rearrange _rtld_map_object() a little, so that we don't have to have the first
page of the object double-mapped.  Not that it matters much, but someone was
whinging about it.
While I'm at it, nuke obj->phdr and obj->phsize; they're unused.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Sep 26 20:27:50 2002 UTC (18 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.14: +3 -4 lines
Diff to previous 1.14 (colored)

Don't bogusly set obj->pltrela{,lim} if there is no DT_PLTREL.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Sep 25 06:43:46 2002 UTC (18 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

#if defined -> #ifdef

Revision 1.13 / (download) - annotate - [select for diffs], Fri Sep 13 13:28:43 2002 UTC (18 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.12: +20 -30 lines
Diff to previous 1.12 (colored)

Figure out obj->pltrel(a) after the dynamic section is parsed, so the relative
order of DT_PLTREL and DT_JMPREL is irrelevant.  Removes the need for yet
another weird #ifdef.
Also, be slightly more careful with the rel(a)lim trimming.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Sep 12 22:56:28 2002 UTC (18 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.11: +2 -2 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 5 16:58:16 2002 UTC (18 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.10: +7 -1 lines
Diff to previous 1.10 (colored)

If REL(A)SZ extends into .rel(a).plt, trim rel(a)lim.  This is actually due to
what is arguably a bug in BFD on some platforms (at least PPC and SPARC), but
I can't fix old binaries.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jul 10 15:12:34 2002 UTC (18 years, 6 months ago) by fredette
Branch: MAIN
Changes since 1.9: +20 -5 lines
Diff to previous 1.9 (colored)

Add support for dynamic linking on HP PA-RISC.

Revision 1.6.4.2 / (download) - annotate - [select for diffs], Tue May 1 12:06:01 2001 UTC (19 years, 8 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.6.4.1: +7 -7 lines
Diff to previous 1.6.4.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Pull up revision 1.9 (requested by kleink):
  Rename ElfNN_RelA to ElfNN_Rela, which is what SVR4 ABIs and the
  rest of the world uses.  Fixes PR#12274.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Apr 25 12:24:50 2001 UTC (19 years, 9 months ago) by kleink
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Branch point for: netbsd-1-6
Changes since 1.8: +7 -7 lines
Diff to previous 1.8 (colored)

Sync with <sys/exec_elf.h> rev. 1.45: ElfNN_RelA -> ElfNN_Rela.

Revision 1.6.4.1 / (download) - annotate - [select for diffs], Wed Jul 26 23:45:22 2000 UTC (20 years, 6 months ago) by mycroft
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Changes since 1.6: +18 -12 lines
Diff to previous 1.6 (colored)

Approved by thorpej:
Add support for sparc64, including MD code and variable page size support.
Modify some variable types to insure they are the correct width on sparc64.

basesrc/libexec/ld.elf_so/arch/sparc64/Makefile.inc	0 -> 1.1
basesrc/libexec/ld.elf_so/arch/sparc64/mdreloc.c	0 -> 1.3
basesrc/libexec/ld.elf_so/arch/sparc64/rtld_start.S	0 -> 1.2
basesrc/libexec/ld.elf_so/headers.c			1.6 -> 1.8
basesrc/libexec/ld.elf_so/reloc.c			1.26 -> 1.27
basesrc/libexec/ld.elf_so/reloc.c			1.29 -> 1.31
basesrc/libexec/ld.elf_so/rtld.c			1.34 -> 1.35
basesrc/libexec/ld.elf_so/rtld.c			1.36 -> 1.40
basesrc/libexec/ld.elf_so/rtld.h			1.26 -> 1.27
basesrc/libexec/ld.elf_so/symbol.c			1.7 -> 1.9

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 26 02:07:34 2000 UTC (20 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +12 -13 lines
Diff to previous 1.7 (colored)

Catch up with type changes.  Also:
* Apply DT_PLTRELSZ to (one of) pltrel or pltrela *after* we've finished
  parsing the headers, so we know which one.
* Fix sparc64 bogons.  (It works now!)

Revision 1.7 / (download) - annotate - [select for diffs], Tue Jul 18 22:33:55 2000 UTC (20 years, 6 months ago) by eeh
Branch: MAIN
Changes since 1.6: +8 -1 lines
Diff to previous 1.6 (colored)

Fix some issues with SPARC V9 ELF binaries.

Revision 1.4.4.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:30:14 1999 UTC (21 years ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.4: +40 -35 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Pull up to last week's -current.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Nov 7 00:21:12 1999 UTC (21 years, 2 months ago) by mycroft
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, netbsd-1-5-base, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.5: +7 -2 lines
Diff to previous 1.5 (colored)

Changes from msaitoh to fix local/global symbol confusion, and to fix weak
symbol support -- updated by me for elf.h changes.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Oct 25 13:57:12 1999 UTC (21 years, 3 months ago) by kleink
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Changes since 1.4: +34 -34 lines
Diff to previous 1.4 (colored)

Update to match new SVR4-style definition names in <sys/exec_elf.h>.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Mar 1 16:40:07 1999 UTC (21 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Branch point for: wrstuden-devbsize
Changes since 1.3: +216 -204 lines
Diff to previous 1.3 (colored)

KNF

Revision 1.3 / (download) - annotate - [select for diffs], Wed Feb 24 18:31:00 1999 UTC (21 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.2: +3 -2 lines
Diff to previous 1.2 (colored)

Cleanup global variable access so rtld can be self relocating. Also KNF
reloc.c and move md sparc parts to arch/sparc/mdreloc.c
Now we don't need to load at address 0 on the i386 and the mips should be
trivial to fix.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Fri May 8 17:39:12 1998 UTC (22 years, 8 months ago) by mycroft
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002
Changes since 1.1: +21 -1 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with trunk, per request of mycroft.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 25 04:13:01 1998 UTC (22 years, 10 months ago) by mhitch
Branch: MAIN
Changes since 1.1: +21 -1 lines
Diff to previous 1.1 (colored)

Add support for mips.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Dec 16 20:37:58 1996 UTC (24 years, 1 month ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Branch point for: netbsd-1-3

First cut at an ELF shared loader.  Originally from John Polstra's FreeBSD elf
kit, then hacked on by Matt Thomas <matt@3am-software.com>, then by me (to
make it work with new versions of the toolchain, etc.).  This runs, but it's
in serious need of cleaning and/or a fair bit of reworking.  See the README
file for more information, and a list of things to do.

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>