OpenBSD CVS

CVS log for src/libexec/ld.so/resolve.h


[BACK] Up to [local] / src / libexec / ld.so

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.108 / (download) - annotate - [select for diffs], Tue May 21 05:00:47 2024 UTC (2 weeks, 4 days ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.107: +1 -3 lines
Diff to previous 1.107 (colored)

remove prototypes with no matching function and externs with no var
partly checked by millert@

Revision 1.107 / (download) - annotate - [select for diffs], Tue Jan 16 19:07:31 2024 UTC (4 months, 3 weeks ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.106: +5 -1 lines
Diff to previous 1.106 (colored)

Read PT_OPENBSD_SYSCALLS in libc.so, and convert it to a table for
pinsyscalls(2).
ok kettenis

Revision 1.106 / (download) - annotate - [select for diffs], Tue Dec 19 16:13:22 2023 UTC (5 months, 2 weeks ago) by deraadt
Branch: MAIN
Changes since 1.105: +2 -2 lines
Diff to previous 1.105 (colored)

whitespaces

Revision 1.105 / (download) - annotate - [select for diffs], Tue Aug 15 06:26:34 2023 UTC (9 months, 3 weeks ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.104: +4 -1 lines
Diff to previous 1.104 (colored)

Improve handling of dlopen(RTLD_TRACE) aka ldd, of a library that
is already loaded:
 * add a 'trace' argument to _dl_show_objects() and exit the
   walk-the-objects loop if you hit that traced object
 * in dlopen(), pass the trace object to _dl_show_objects()
 * also, invoke _dl_show_objects() + exit if the object was
   already opened
 * pass NULL to _dl_show_objects() for all the other calls
 * oh hey, _dl_tracelib is now superfluous: _dl_show_objects()
   should do the walk-the-objects loop only if trace is not NULL.

Problem noted by gnezdo@
ok millert@

Revision 1.104 / (download) - annotate - [select for diffs], Sun Jan 29 20:30:56 2023 UTC (16 months, 1 week ago) by gnezdo
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.103: +10 -8 lines
Diff to previous 1.103 (colored)

Accumulate intermediate imutables locally before applying

OK deraadt

Revision 1.103 / (download) - annotate - [select for diffs], Sun Dec 4 15:42:07 2022 UTC (18 months ago) by deraadt
Branch: MAIN
Changes since 1.102: +10 -1 lines
Diff to previous 1.102 (colored)

The next step for mimmutable().  ld.so figures out what regions of memory
of startup shared library mappings can be made immutable, and also does
this for dlope() RTLD_NODELETE and subsidiary libraries.  Complexity in this
diff is due to the GNU_RELRO and OPENBSD_MUTABLE sections.
Tested in snaps for about 3 weeks, with some bootstrap related pain felt in ports
ok kettenis, much help from others.

Revision 1.102 / (download) - annotate - [select for diffs], Mon Nov 7 10:35:26 2022 UTC (19 months ago) by deraadt
Branch: MAIN
Changes since 1.101: +12 -3 lines
Diff to previous 1.101 (colored)

dtors were broken by trying to reuse DF_1_NODELETE to hint that this
library would never unload, and could be immutable.  Pass a seperate
flag for our purposes
Noticed from regress tests by anton, ok kettenis

Revision 1.101 / (download) - annotate - [select for diffs], Sat Aug 20 14:11:31 2022 UTC (21 months, 2 weeks ago) by sthen
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.100: +2 -1 lines
Diff to previous 1.100 (colored)

Support RTLD_NOLOAD in ld.so. From guenther@. OK jca@ guenther@

Revision 1.100 / (download) - annotate - [select for diffs], Fri Jan 28 05:01:28 2022 UTC (2 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.99: +2 -2 lines
Diff to previous 1.99 (colored)

Update comment: struct link_map is defined in <link_elf.h>

noted by miod

Revision 1.99 / (download) - annotate - [select for diffs], Fri Nov 12 22:28:13 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.98: +5 -2 lines
Diff to previous 1.98 (colored)

Add support for RELR relocations in the executable and share objects.
This doesn't affect ld.so's self-reloc, which still requires DT_REL/DT_RELA

ok kettenis@

Revision 1.98 / (download) - annotate - [select for diffs], Wed Jun 2 07:29:03 2021 UTC (3 years ago) by semarie
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.97: +2 -1 lines
Diff to previous 1.97 (colored)

add RTLD_NODELETE support

if RTLD_NODELETE isn't POSIX, it is widely deployed: at least linux,
freebsd, dragonfly, netbsd, solaris, illumos, apple, and fuchsia have
it.

ok kettenis@ on previous version
with help from and ok guenther@

diff partially inspired from a diff from brad@

Revision 1.97 / (download) - annotate - [select for diffs], Tue Mar 16 18:03:06 2021 UTC (3 years, 2 months ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.96: +3 -1 lines
Diff to previous 1.96 (colored)

On i386 don't attempt to map shared libraries in low memory when
a large executable's .text section crosses the 512MB exec line.

Executables that have MAXTSIZ > 64MB can map above the default
512MB exec line. When this happens, shared libs that attempt to map
into low memory will find their .data section can not be mapped. ld.so
will attempt to remap the share lib at higher addresses until it can be
mapped. For very large executables like chrome this process is very
time consuming. This change detects how much of the executable's
.text section exceeds 512MB and uses that as the initial hint for
shared libs to map into which avoids attempting to map into blocked
memory.

okay deraadt@

Revision 1.96 / (download) - annotate - [select for diffs], Fri Oct 4 17:42:16 2019 UTC (4 years, 8 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.95: +2 -2 lines
Diff to previous 1.95 (colored)

Convert the child_list member from a linked list to a vector.

ok mpi@

Revision 1.95 / (download) - annotate - [select for diffs], Thu Oct 3 06:10:54 2019 UTC (4 years, 8 months ago) by guenther
Branch: MAIN
Changes since 1.94: +14 -7 lines
Diff to previous 1.94 (colored)

Use a better algorithm for calculating the grpsym library order.
The existing code did a full recursive walk for O(horrible).  Instead,
keep a single list of nodes plus the index of the first node whose
children haven't been scanned; lookup until that index catches the
end, appending the unscanned children of the node at the index.  This
also makes the grpsym list order match that calculated by FreeBSD and
glibc in dependency trees with inconsistent ordering of dependent libs.

To make this easier and more cache friendly, convert grpsym_list
to a vector: the size is bounded by the number of objects currently
loaded.

Other, related fixes:
 * increment the grpsym generation number _after_ pushing the loading
   object onto its grpsym list, to avoid double counting it
 * increment the grpsym generation number when building the grpsym list
   for an already loaded object that's being dlopen()ed, to avoid
   incomplete grpsym lists
 * use a more accurate test of whether an object already has a grpsym list

Prompted by a diff from Nathanael Rensen (nathanael (at) list.polymorpheus.com)
that pointed to _dl_cache_grpsym_list() as a performance bottleneck.

Much proding from robert@, sthen@, aja@, jca@
no problem reports after being in snaps
ok mpi@

Revision 1.94 / (download) - annotate - [select for diffs], Sun Aug 4 23:51:45 2019 UTC (4 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.93: +9 -7 lines
Diff to previous 1.93 (colored)

Simplify _dl_find_symbol().  Currently, it returns three values:
 - the symbol it found, returned via the second argument
 - the base offset of the the object it was found in, via the return value
 - optionally: the object it was found in, returned via the last argument

Instead, return a struct with the symbol and object pointers and let the
caller get the base offset from the object's obj_base member.  On at least
aarch64, amd64, mips64, powerpc, and sparc64, a two word struct like this
is passed in registers.

ok mpi@, kettenis@

Revision 1.93 / (download) - annotate - [select for diffs], Sun Jul 21 03:54:16 2019 UTC (4 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.92: +1 -4 lines
Diff to previous 1.92 (colored)

In 2004, we upgraded to binutils 2.14 with did -zcombreloc by default.
In 2013, I implemented the single-entry LRU cache that gets the maximal
symbol reuse from combreloc.  Since then, the ld.so generic relocation
symcache has been a waste of CPU and memory with 0% hit-rate, so kill it.

ok mpi@

Revision 1.92 / (download) - annotate - [select for diffs], Sat May 11 21:02:35 2019 UTC (5 years ago) by guenther
Branch: MAIN
Changes since 1.91: +11 -10 lines
Diff to previous 1.91 (colored)

Prune visited leaves when walking dependencies to call init functions in
topological sort order, reducing it to O(n) from O(2^n) (ouch!)

diff from Nathanael Rensen (nathanael(at)list.polymorpheus.com)
Much testing and pleading by robert@ and ajacoutot@
ok drahn@ mpi@

Revision 1.91 / (download) - annotate - [select for diffs], Fri May 10 13:29:21 2019 UTC (5 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.90: +26 -12 lines
Diff to previous 1.90 (colored)

ld.so boot cleanup support:
 - put functions and data which are only used before calling the executable's
   start function into their own page-aligned segments for unmapping
   (only done on amd64, arm64, armv7, powerpc, and sparc64 so far)
 - pass .init_array and .preinit_array functions an addition argument which
   is a callback to get a structure which includes a function that frees
   the boot text and data
 - sometimes delay doing RELRO processing: for a shared-object marked
   DF_1_INITFIRST do it after the object's .init_array, for the executable
   do it after the .preinit_array
 - improve test-ld.so to link against libpthread and trigger its initialization
   late
libc changes to use this will come later

ok kettenis@

Revision 1.90 / (download) - annotate - [select for diffs], Sun Apr 21 04:11:42 2019 UTC (5 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.89: +6 -6 lines
Diff to previous 1.89 (colored)

Now that all Elf_foo types are correct, we don't need to use Elf32_Word
anywhere and can use Elf_Word instead.
ok guenther

Revision 1.89 / (download) - annotate - [select for diffs], Sun Apr 21 03:41:13 2019 UTC (5 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.88: +10 -3 lines
Diff to previous 1.88 (colored)

On alpha, the buckets of DT_HASH are 8 bytes instead of 4 bytes.  This was
previously 'implemented' by having the Elf_Word typedef in <sys/exec_elf.h>
vary, but that doesn't match the spec and breaks libelf so it's gone away.
Implement the variation here by defining our own type locally for this.

ok deraadt@

Revision 1.88 / (download) - annotate - [select for diffs], Wed Dec 5 04:28:32 2018 UTC (5 years, 6 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.87: +1 -3 lines
Diff to previous 1.87 (colored)

Delete an unused struct member that has hid out here for 17 years

Revision 1.87 / (download) - annotate - [select for diffs], Wed Nov 28 03:18:00 2018 UTC (5 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.86: +29 -4 lines
Diff to previous 1.86 (colored)

Implement support for DT_GNU_HASH, taking all the interesting bits
from Matt Dillon's implementation in DragonFlyBSD commit 7629c631.
One difference is that as long as DT_HASH is still present, ld.so
will use that to get the total number of symbols rather than walking
the GNU hash chains.  Note that the GPLv2 binutils we have doesn't
support DT_GNU_HASH, so this only helps archs were lld is used.

ok kettenis@ mpi@

Revision 1.86 / (download) - annotate - [select for diffs], Fri Nov 16 21:15:47 2018 UTC (5 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.85: +1 -4 lines
Diff to previous 1.85 (colored)

Finish ld.so's transition to GNU_RELRO: eliminate support for using
__got_{start,end} to find a region to mark read-only.  It was only used
for binaries that didn't have a GNU_RELRO segment, but all archs have
been using that for over a year.  Since support for insecure-PLT layouts
on powerpc and alpha have been removed, all archs handle GNU_RELRO the
same way and the support can be moved from the MD code to the MI code.

ok mpi@

Revision 1.85 / (download) - annotate - [select for diffs], Tue Oct 23 04:01:45 2018 UTC (5 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.84: +3 -1 lines
Diff to previous 1.84 (colored)

Delay processing of ld.so's own PT_GNU_RELRO section until after environment
processing and malloc initialization, and then move variables set by those
steps, including malloc's mopts structure, into the .data.rel.ro segment.
This protects more data and eliminates the extra padding of the mopts.

ok kettenis@

Revision 1.84 / (download) - annotate - [select for diffs], Mon Oct 22 01:59:08 2018 UTC (5 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.83: +5 -4 lines
Diff to previous 1.83 (colored)

Use int, not char*, for booleans

ok millert@

Revision 1.83 / (download) - annotate - [select for diffs], Mon May 8 02:34:01 2017 UTC (7 years, 1 month ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.82: +4 -3 lines
Diff to previous 1.82 (colored)

Always use the same callback to unlock as was used to lock.  Permits
libpthread initialization from a shared object's init (or fini, I suppose)
routines.

ok kurt@ kettenis@ espie@

Revision 1.82 / (download) - annotate - [select for diffs], Sun Jan 22 01:20:36 2017 UTC (7 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.81: +2 -1 lines
Diff to previous 1.81 (colored)

Add support for DT_RUNPATH and DT_FLAGS

ok kettenis@

Revision 1.81 / (download) - annotate - [select for diffs], Tue Aug 30 12:47:19 2016 UTC (7 years, 9 months ago) by kettenis
Branch: MAIN
Changes since 1.80: +4 -1 lines
Diff to previous 1.80 (colored)

Move DT_NUM from <sys/exec_elf.h> to resolv.h in ld.so where it belongs.

ok guenther@

Revision 1.80 / (download) - annotate - [select for diffs], Tue Aug 23 06:46:17 2016 UTC (7 years, 9 months ago) by kettenis
Branch: MAIN
Changes since 1.79: +12 -2 lines
Diff to previous 1.79 (colored)

Implement support for DT_INIT_ARRAY, DT_FINI_ARRAY and DT_PREINIT_ARRAY.
Don't skip DT_INIT and DT_FINI for the main executable.  This matches what
Linux and Solaris do.

ok guenther@

Revision 1.79 / (download) - annotate - [select for diffs], Mon Aug 8 21:59:20 2016 UTC (7 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.78: +5 -1 lines
Diff to previous 1.78 (colored)

Look for a PT_GNU_RELRO section per object and, if present, mprotect that
range instead of the [__got_start, __got_end) range.
On many archs this will cover _DYNAMIC too, so move up the DT_DEBUG handling
to before relocations and the mprotect are done.

ok kettenis@

Revision 1.78 / (download) - annotate - [select for diffs], Mon Jul 4 21:15:06 2016 UTC (7 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.77: +1 -3 lines
Diff to previous 1.77 (colored)

Remove prebind support: binding to symbol table indices is too fragile
for our development process.

ok kettenis@ deraadt@

Revision 1.77 / (download) - annotate - [select for diffs], Sat May 7 19:05:23 2016 UTC (8 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.76: +15 -1 lines
Diff to previous 1.76 (colored)

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a.  This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes.  'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@

Revision 1.76 / (download) - annotate - [select for diffs], Sun Mar 20 02:29:51 2016 UTC (8 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.75: +11 -6 lines
Diff to previous 1.75 (colored)

Export environ and __progname, making the latter a copy of just the filename
portion like crt0 does.  This is prep for eliminating _dl_fixup_user_env()
Mark almost everything in resolve.h as hidden, to improve code generation.

ok kettenis@ mpi@  "good time" deraadt@

Revision 1.75 / (download) - annotate - [select for diffs], Sun Jan 24 03:54:34 2016 UTC (8 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.74: +3 -9 lines
Diff to previous 1.74 (colored)

Delete remnants of grpsym cache setting during symbol search: it's done at
load time only nwo.  Rename _dl_searchnum and lastlookup to _dl_grpsym_gen
and grpsym_gen as they are generation numbers.  Merge _dl_newsymsearch()
into _dl_cache_grpsym_list_setup().

ok millert@

Revision 1.74 / (download) - annotate - [select for diffs], Mon Nov 2 07:02:53 2015 UTC (8 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.73: +3 -6 lines
Diff to previous 1.73 (colored)

Factor out the logic for mprotecting the memory between two symbols into
a new MI routine _dl_protect_segment(), and use that for protecting the
GOT and--on some archs--the PLT.

Amazing testing turnaround by miod@, who apparently violated relativity
to get back results on some archs as fast as he did

Revision 1.73 / (download) - annotate - [select for diffs], Sat Sep 19 20:56:47 2015 UTC (8 years, 8 months ago) by guenther
Branch: MAIN
Changes since 1.72: +1 -4 lines
Diff to previous 1.72 (colored)

kbind has eliminated the need for and use of the bind lock.  Delete it, the
the callback, and the sigprocmask stub.
Keep around the DL_SETBINDLCK case until libpthread stops using it.

discussed with miod@ at l2k15
ok kettenis@

Revision 1.72 / (download) - annotate - [select for diffs], Mon Aug 17 20:04:56 2015 UTC (8 years, 9 months ago) by guenther
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

Add missing 'extern's to avoid introducing commons into *crt0.o

ok miod@ kettenis@

Revision 1.71 / (download) - annotate - [select for diffs], Thu Jan 22 05:48:17 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored)

delete annoying white space that annoy

Revision 1.70 / (download) - annotate - [select for diffs], Wed Nov 13 05:41:42 2013 UTC (10 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.69: +2 -1 lines
Diff to previous 1.69 (colored)

prototype & void * math cleanup
ok guenther

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jun 1 09:57:55 2013 UTC (11 years ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.68: +11 -1 lines
Diff to previous 1.68 (colored)

Introduce ltrace(1). This tool works with ld.so to inject utrace record for
each plt call, allowing to trace a binary linked against shared library at the
public function call level.

To do so, ltrace(1) sets up some environment variables to enable plt tracing
in ld.so, and invokes ktrace(2) for utrace events. ld.so will force lazy
binding and will send an utrace record in the plt resolver, without updating
the plt.

Minimal filtering capabilities are provided, inspired by Solaris' truss -u,
to limit tracing to libraries and/or symbol names. Non-traced libraries and
symbols will have the regular resolver processing, with the expected plt
update.

"Get it in" deraadt

Revision 1.68 / (download) - annotate - [select for diffs], Wed May 8 20:55:14 2013 UTC (11 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.67: +4 -1 lines
Diff to previous 1.67 (colored)

Implement symbol caching and RELACOUNT/RELCOUNT optimizations.
Much assistance and testing by miod

ok miod@

Revision 1.67 / (download) - annotate - [select for diffs], Fri Apr 5 12:58:03 2013 UTC (11 years, 2 months ago) by kurt
Branch: MAIN
Changes since 1.66: +3 -1 lines
Diff to previous 1.66 (colored)

- Add ORIGIN, OSNAME, OSREL and PLATFORM substitution support for rpaths.
Improvements and okay matthew@, millert@, guenther@

Revision 1.66 / (download) - annotate - [select for diffs], Wed Mar 20 21:49:59 2013 UTC (11 years, 2 months ago) by kurt
Branch: MAIN
Changes since 1.65: +6 -3 lines
Diff to previous 1.65 (colored)

- Parse colon separated paths into NULL terminated arrays of string
pointers to prepare for adding rpath ORIGIN support.
okay matthew@ millert@

Revision 1.65 / (download) - annotate - [select for diffs], Mon Nov 28 20:59:03 2011 UTC (12 years, 6 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.64: +5 -2 lines
Diff to previous 1.64 (colored)

Add support for getting some flags from DT_FLAGS_1: new flags
DF_1_NODELETE and DF_1_INITFIRST, as well as DF_1_NOW and DF_1_GLOBAL.

Committing for kurt@ who worked out the final version; ok guenther@ drahn@

Revision 1.64 / (download) - annotate - [select for diffs], Mon Jun 27 16:47:50 2011 UTC (12 years, 11 months ago) by sthen
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.63: +3 -9 lines
Diff to previous 1.63 (colored)

Backout the dynamic linker speed improvement diff for now, it still
has some issues. Discussed with various, ok drahn@

Revision 1.63 / (download) - annotate - [select for diffs], Sun May 22 22:43:47 2011 UTC (13 years ago) by drahn
Branch: MAIN
Changes since 1.62: +10 -4 lines
Diff to previous 1.62 (colored)

Dynamic linker speed improvement diff. tested by several sinc k2k11.
get it in tree now deraadt@, ok by several ports folks. Thanks for the testing.

Revision 1.62 / (download) - annotate - [select for diffs], Mon Oct 25 20:34:44 2010 UTC (13 years, 7 months ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored)

Search loaded libs first and add support for SONAME matching. ok drahn@

Revision 1.61 / (download) - annotate - [select for diffs], Wed Aug 11 01:14:27 2010 UTC (13 years, 10 months ago) by drahn
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

Make _dl_searchnum signed as originally intended.
Pointed out by patrick keshish.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Jul 1 19:25:44 2010 UTC (13 years, 11 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.59: +11 -2 lines
Diff to previous 1.59 (colored)

When generating grpsym lists, avoid duplicates without searching the
already generated list. Speeds up startup on deeply nested dlopen binaries.
ok guenther@, tested by ckuethe@ and ajacoutot@

Revision 1.59 / (download) - annotate - [select for diffs], Sun May 2 04:57:01 2010 UTC (14 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored)

Combine the signal mask handling into _dl_thread_bind_lock(), as it's MI.

ok drahn@

Revision 1.58 / (download) - annotate - [select for diffs], Sat Mar 27 20:16:15 2010 UTC (14 years, 2 months ago) by kettenis
Branch: MAIN
Changes since 1.57: +1 -3 lines
Diff to previous 1.57 (colored)

Implement lazy binding on mips64.  This implementation relies on having two
reserved entries in the GOT, which is a GNU extension to the 64-bit MIPS
SVR4 ABI.  That's fine; all existing OpenBSD/mips64 binaries have the extra
slot.

ok miod@, jsing@, drahn@

Revision 1.57 / (download) - annotate - [select for diffs], Mon May 5 02:29:02 2008 UTC (16 years, 1 month ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.56: +3 -2 lines
Diff to previous 1.56 (colored)

Constantly fill in the program header pointer and count in elf_object_t
for all objects which simplifies phdr usage in a few places.
"go for it" drahn@

Revision 1.56 / (download) - annotate - [select for diffs], Wed Apr 9 21:45:26 2008 UTC (16 years, 2 months ago) by kurt
Branch: MAIN
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored)

Improve support for shared libs linked at non-zero addreses:
- rename private values in struct elf_object to better
  describe their meaning:
    s/load_offs/obj_base/ "object's address '0' base"
    s/load_addr/load_base/ "The base address of the loadable
    segments"
- gdb needs the obj_base value so swap positions with load_base in
  struct elf_object
- fix a few occurrences of where load_base was used instead of
  obj_base.

With help and okay drahn@

Revision 1.55 / (download) - annotate - [select for diffs], Tue Nov 27 16:42:15 2007 UTC (16 years, 6 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored)

Make _dl_md_reloc_got() report errors, and take them into account.
Fixes PR #5579.

Revision 1.54 / (download) - annotate - [select for diffs], Sat May 5 15:21:21 2007 UTC (17 years, 1 month ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.53: +3 -1 lines
Diff to previous 1.53 (colored)

Provide hook so that rthreads can provide a spinlock to protect from races
in lazy binding. ok art@, kurt@

Revision 1.53 / (download) - annotate - [select for diffs], Tue Apr 3 14:33:07 2007 UTC (17 years, 2 months ago) by jason
Branch: MAIN
Changes since 1.52: +4 -1 lines
Diff to previous 1.52 (colored)

add support for LD_TRACE_LOADED_OBJECTS_{FMT1/FMT2/PROGNAME}.  Functionality
matches and expands on the old a.out ld.so formatting.  ok drahn

Revision 1.52 / (download) - annotate - [select for diffs], Fri Jun 16 21:34:53 2006 UTC (17 years, 11 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.51: +2 -1 lines
Diff to previous 1.51 (colored)

Add comment warning not to rename _dl_bind, since gdb(1) knows about it.
ok (quite a while ago) drahn@

Revision 1.51 / (download) - annotate - [select for diffs], Wed May 3 16:10:51 2006 UTC (18 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.50: +3 -1 lines
Diff to previous 1.50 (colored)

prebind - how to prelink a binary without throwing security out the window

Prelink fixes the address of libraries making 'return to libc' attacks trival,
prebind uses a different method to achieve most of the same gains, however
without adding any security conerns.

Still under development, now in-tree.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Nov 9 16:41:29 2005 UTC (18 years, 7 months ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.49: +1 -2 lines
Diff to previous 1.49 (colored)

add RTLD_NOW support to dlopen and propogate -z now to dep libs.
ok drahn@

Revision 1.49 / (download) - annotate - [select for diffs], Sun Oct 16 04:14:22 2005 UTC (18 years, 7 months ago) by kurt
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)

Consolidate dl_boot and dlopen dep lib loading into new function
_dl_load_dep_libs. Now both dl_boot and dlopen will randomize dep lib
loading, where previously only dl_boot did.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Oct 12 20:36:16 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.47: +4 -2 lines
Diff to previous 1.47 (colored)

Split grpsym_list creation away from child_list creation and change
grpsym_list order to match Sun's docs. Also corrects bugs where
grpsym_list was either not created or partially created.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Oct 9 04:29:13 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.46: +5 -1 lines
Diff to previous 1.46 (colored)

introduce object ref count macros (suggested by dale). no functional
change.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Oct 7 01:26:34 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored)

rename dload_list to grpsym_list which better represents its usage.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Oct 6 22:01:58 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.44: +1 -3 lines
Diff to previous 1.44 (colored)

remove dep_next "shadow object" dead code.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Oct 6 21:53:10 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.43: +6 -4 lines
Diff to previous 1.43 (colored)

separate load group references from dep lib child/dload lists. move load
group refs to own per object ref counter (grprefcount) and list
(grpref_list). corrects more complex load group ref cases and side effects
from initial implementation. design ideas and ok drahn@

Revision 1.43 / (download) - annotate - [select for diffs], Wed Sep 28 20:35:23 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.42: +3 -1 lines
Diff to previous 1.42 (colored)

keep a state flag if a library has been unloaded, and then free the list
seperately ok kurt@

Revision 1.42 / (download) - annotate - [select for diffs], Wed Sep 28 18:17:42 2005 UTC (18 years, 8 months ago) by kurt
Branch: MAIN
Changes since 1.41: +1 -2 lines
Diff to previous 1.41 (colored)

remove _dl_exiting dead code

Revision 1.41 / (download) - annotate - [select for diffs], Wed Sep 28 15:41:06 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.40: +3 -1 lines
Diff to previous 1.40 (colored)

keep track of opencounts for dlopened objects, so that they
get unloaded the right number of times on exit.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Sep 22 22:33:40 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

Track if symbols are searched but missing while resolving GOT, if
any are missing exit instead of later causing an abort, ok kurt@

Revision 1.39 / (download) - annotate - [select for diffs], Wed Sep 21 23:12:09 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.38: +6 -4 lines
Diff to previous 1.38 (colored)

Simplify the internal symbol finding API, with some cleanup, prep for
next step. ok kurt@

Revision 1.38 / (download) - annotate - [select for diffs], Sat Sep 17 03:02:37 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)

Cleanly handle the case where a dynamic object is opened, but one of it's
dependant libraries is missing. return NULL for a handle instead of
causing the program to exit.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Sep 16 23:19:41 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.36: +45 -30 lines
Diff to previous 1.36 (colored)

Rework symbol lookup to more closely match sun's documentation, now
treats dlopens as load groups. ok kurt@

Revision 1.36 / (download) - annotate - [select for diffs], Tue May 10 03:36:07 2005 UTC (19 years, 1 month ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.35: +16 -5 lines
Diff to previous 1.35 (colored)

Recommit the destructor order fix, now that the amd64 bug was fixed.
'no problem' pval@

Revision 1.35 / (download) - annotate - [select for diffs], Wed Apr 6 00:16:53 2005 UTC (19 years, 2 months ago) by deraadt
Branch: MAIN
Changes since 1.34: +4 -15 lines
Diff to previous 1.34 (colored)

backout -- breaks at least amd64; spotted by marc

Revision 1.34 / (download) - annotate - [select for diffs], Tue Apr 5 19:29:09 2005 UTC (19 years, 2 months ago) by drahn
Branch: MAIN
Changes since 1.33: +16 -5 lines
Diff to previous 1.33 (colored)

Do a better job of running destructors in the right order.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Mar 23 19:48:05 2005 UTC (19 years, 2 months ago) by drahn
Branch: MAIN
Changes since 1.32: +2 -1 lines
Diff to previous 1.32 (colored)

Code reorganization, move copied code in library.c and library_mquery.c
into its own file. no functional change.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Aug 11 19:14:56 2004 UTC (19 years, 10 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.31: +3 -1 lines
Diff to previous 1.31 (colored)

add dladdr() support and add some 'standard' dlsym() support.
ok millert miod pval, grumble deraadt

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jul 5 00:47:40 2004 UTC (19 years, 11 months ago) by kjell
Branch: MAIN
Changes since 1.30: +5 -1 lines
Diff to previous 1.30 (colored)

Fix an issue where a shared library could be loaded at two different
locations by resolving all dlopens back to a dev/inode.

i.e. Don't load a library if the dev/inode it stats back to matches one
already in our list.

fix started (and ok'ed) drahn@. ok deraadt@.
"doesn't break anything yet" pval@ art@ brad@

Revision 1.30 / (download) - annotate - [select for diffs], Tue May 25 18:07:20 2004 UTC (20 years ago) by mickey
Branch: MAIN
Changes since 1.29: +6 -4 lines
Diff to previous 1.29 (colored)

return object* the symbol is in for _dl_find_symbol*; drahn@ ok

Revision 1.29 / (download) - annotate - [select for diffs], Thu Sep 4 19:33:48 2003 UTC (20 years, 9 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.28: +12 -1 lines
Diff to previous 1.28 (colored)

Symbol cache for GOT lookup. When a symbol is found it is saved in a cache
for future lookups in the same GOT relocation table. Uses static buffer
for small symbol tables, mmap for larger ones. ok deraadt@

Revision 1.28 / (download) - annotate - [select for diffs], Tue Sep 2 15:17:51 2003 UTC (20 years, 9 months ago) by drahn
Branch: MAIN
Changes since 1.27: +5 -3 lines
Diff to previous 1.27 (colored)

Fix PR 3371, symbol lookup in dlopen()ed objects is not correct. Correct
behavior for RTLD_GLOBAL/RTLD_LOCAL is now supported. ok espie@

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jul 6 20:03:57 2003 UTC (20 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.26: +9 -1 lines
Diff to previous 1.26 (colored)

various proto, ansi, and knf repair.  tested on all architectures that
use it. (build may require make cleandir because of .depend balony)

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jun 22 21:39:01 2003 UTC (20 years, 11 months ago) by drahn
Branch: MAIN
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored)

Dynamic linking random order fixes. This enables random library ordering.
Tested by naddy@ and others.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jun 9 16:10:03 2003 UTC (21 years ago) by deraadt
Branch: MAIN
Changes since 1.24: +1 -7 lines
Diff to previous 1.24 (colored)

pefo 3/4 licence cleanups

Revision 1.24 / (download) - annotate - [select for diffs], Fri May 30 01:13:53 2003 UTC (21 years ago) by drahn
Branch: MAIN
Changes since 1.23: +2 -1 lines
Diff to previous 1.23 (colored)

When loading a shared object or libraries dependant object, load them
in random order. This will reduce the possiblity of a buffer overflow
being able to predict the addresss of useful code. Can be disabled
with the LD_NORANDOM environment variable for debugging purposes.
ok deraadt.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Apr 17 03:40:45 2003 UTC (21 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.22: +6 -4 lines
Diff to previous 1.22 (colored)

mquery support, currently for i386 only.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Feb 15 22:39:13 2003 UTC (21 years, 3 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.21: +6 -2 lines
Diff to previous 1.21 (colored)

Paranoia about mprotect, mprotect page aligned regions for got and plt.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Feb 2 16:57:58 2003 UTC (21 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

knf & ansi; drahn ok

Revision 1.20 / (download) - annotate - [select for diffs], Thu Jan 30 03:46:46 2003 UTC (21 years, 4 months ago) by drahn
Branch: MAIN
Changes since 1.19: +8 -1 lines
Diff to previous 1.19 (colored)

Change the constructor execution order to initialize dependant libraries
first. This mirrors the commit espie put in a.out ld.so recently.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Dec 18 19:20:01 2002 UTC (21 years, 5 months ago) by drahn
Branch: MAIN
Changes since 1.18: +5 -1 lines
Diff to previous 1.18 (colored)

Prepare for an upcoming ELF executable change. This will allow ld.so to
protect the GOT and PLT sections of the executable from being overwritten.
This behavior is enabled by changes in the executable/shared object layout,
and does not occur without the ld changes.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Nov 14 15:15:54 2002 UTC (21 years, 6 months ago) by drahn
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Make error messages on symbol lookup failures more useful.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Aug 23 22:57:03 2002 UTC (21 years, 9 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.16: +24 -2 lines
Diff to previous 1.16 (colored)

Change arguments to _dl_find_symbol() myself, warnnotfound, and inplt into
a single flags field with bits representing each. Use defines to create
the appropriate masks.

Add a new argument sym_size to warn about symbols which have
the incorrect size. This replaces 'ifdef notyet' code which
was in several of the md files with a single version.
sym_size == 0 means do not check, and symbols of type FUNC are
not checked.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Aug 11 16:51:04 2002 UTC (21 years, 10 months ago) by drahn
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Fix for Elfbug, the Xtiherit problem which has been seen on most OpenBSD
ELF dynamic systems. This was due to an oddity in ELF where the address of
fuctions refer to the PLT address in the program, rather than the actual
function address.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jul 24 04:11:10 2002 UTC (21 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (colored)

ok i found it

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jul 24 04:00:44 2002 UTC (21 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

back out broken stuff until it is fixed

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jul 24 00:13:55 2002 UTC (21 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)

make more _dl_*() func params like real ones in libc

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jun 7 03:00:56 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

move load_offs out of the link_map area.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jun 5 19:34:44 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)

Get rid of an unnecessary typedef (for future cleanup).

Revision 1.10 / (download) - annotate - [select for diffs], Fri May 24 04:17:00 2002 UTC (22 years ago) by deraadt
Branch: MAIN
Changes since 1.9: +8 -8 lines
Diff to previous 1.9 (colored)

more KNF

Revision 1.9 / (download) - annotate - [select for diffs], Fri May 24 03:44:37 2002 UTC (22 years ago) by deraadt
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

various KNF

Revision 1.8 / (download) - annotate - [select for diffs], Sun Mar 17 00:22:04 2002 UTC (22 years, 2 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.7: +1 -2 lines
Diff to previous 1.7 (colored)

Clean up the zapping of bad variables. Instead of implementing
_dl_suid_ok, just use the issetugid syscall.
ok drahn@.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Feb 21 23:17:53 2002 UTC (22 years, 3 months ago) by drahn
Branch: MAIN
Changes since 1.6: +1 -4 lines
Diff to previous 1.6 (colored)

cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.
tested on alpha sparc64 powerpc.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Sep 26 09:16:42 2001 UTC (22 years, 8 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.5: +18 -18 lines
Diff to previous 1.5 (colored)

Adapt to Elf_Word change.
XXX - Dyn.u should just go away.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jun 6 12:31:52 2001 UTC (23 years ago) by art
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

Replace all 'if (_dl_debug) _dl_printf(...)' with a macro.

Revision 1.4 / (download) - annotate - [select for diffs], Wed May 16 03:21:23 2001 UTC (23 years ago) by deraadt
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

proper typing of two variables

Revision 1.3 / (download) - annotate - [select for diffs], Mon Apr 2 23:11:21 2001 UTC (23 years, 2 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.2: +34 -34 lines
Diff to previous 1.2 (colored)

Cleanup for 64bit support.
Pieces by art, niklas and me.
Only tested on powerpc.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Mar 30 01:35:21 2001 UTC (23 years, 2 months ago) by drahn
Branch: MAIN
Changes since 1.1: +13 -1 lines
Diff to previous 1.1 (colored)

Add infrastructure to allow mapping of text sections which are normally
RO, RW while ld.so is working. And then the information to set the
sections back to RO (or appropriate mode).

PowerPC now supports the typical NON-PIC relocations in ld.so.
I do not know how well this will work with large shared libraries.
I seem to recall a possible problem with large data where data is
located in a different shared library.

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Tue Jun 13 03:40:10 2000 UTC (24 years ago) by rahnds
Branch: per, dsr
CVS Tags: r20000612, OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.1.1.1: +4 -0 lines
Diff to previous 1.1.1.1 (colored)

Updated version of ld.so, contains additional functionality and fixes/
design changes required by egcs.

added support for ldconfig/ld.so.hints

changes to low level relocation code, required by egcs pic
code generation that moved global variable loads to before the
self relocation was performed. Only powerpc supported, mips code not updated.

Code cleaned up somewhat reasonably.

This code needs to be reviewed closely for significant problems
such as correctness and security.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Jun 13 03:34:09 2000 UTC (24 years ago) by rahnds
Branch: per, dsr
CVS Tags: r19990103
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Initial import of ELF ld.so. This was written indepently of the gnu rtld
code and is fully BSD copyrighted.
This initial import contains a mostly working mips and partially working
powerpc version. No support for ld.so.hints or system run path exists.


Revision 1.1 / (download) - annotate - [select for diffs], Tue Jun 13 03:34:09 2000 UTC (24 years ago) by rahnds
Branch: MAIN

Initial revision

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.