The NetBSD Project

CVS log for src/libexec/ld.elf_so/rtld.h

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.116 / (download) - annotate - [select for diffs], Thu May 9 15:38:14 2013 UTC (5 weeks, 5 days ago) by christos
Branch: MAIN
CVS Tags: HEAD
Changes since 1.115: +4 -4 lines
Diff to previous 1.115 (colored)

convert to SIMPLEQ like the rest of the queues.

Revision 1.115 / (download) - annotate - [select for diffs], Mon May 6 19:59:30 2013 UTC (6 weeks, 1 day ago) by christos
Branch: MAIN
Changes since 1.114: +2 -1 lines
Diff to previous 1.114 (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.114 / (download) - annotate - [select for diffs], Mon May 6 08:02:20 2013 UTC (6 weeks, 1 day ago) by skrll
Branch: MAIN
Changes since 1.113: +5 -5 lines
Diff to previous 1.113 (colored)

Trailing whitespace

Revision 1.113 / (download) - annotate - [select for diffs], Thu Apr 25 14:16:37 2013 UTC (7 weeks, 5 days ago) by matt
Branch: MAIN
Changes since 1.112: +3 -4 lines
Diff to previous 1.112 (colored)

Use __printflike and __dead instead of __attributes__

Revision 1.112 / (download) - annotate - [select for diffs], Thu Apr 25 06:37:40 2013 UTC (7 weeks, 5 days ago) by matt
Branch: MAIN
Changes since 1.111: +4 -4 lines
Diff to previous 1.111 (colored)

Only include unwind.h if _RTLD_SOURCE

Revision 1.111 / (download) - annotate - [select for diffs], Wed Apr 24 22:37:20 2013 UTC (7 weeks, 6 days ago) by matt
Branch: MAIN
Changes since 1.110: +17 -1 lines
Diff to previous 1.110 (colored)

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

Revision 1.110 / (download) - annotate - [select for diffs], Wed Aug 15 03:46:06 2012 UTC (10 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-nbase, tls-maxphys-base, tls-maxphys, agc-symver-base, agc-symver
Changes since 1.109: +11 -4 lines
Diff to previous 1.109 (colored)

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

Revision 1.109 / (download) - annotate - [select for diffs], Tue Mar 13 21:00:32 2012 UTC (15 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4
Changes since 1.108: +2 -2 lines
Diff to previous 1.108 (colored)

Mark _rtld_debug_state as not to be inlined. Add an explicit instruction
barrier to prevent removal of calls to it.

Revision 1.108 / (download) - annotate - [select for diffs], Thu Feb 16 23:00:39 2012 UTC (16 months ago) by joerg
Branch: MAIN
Changes since 1.107: +3 -1 lines
Diff to previous 1.107 (colored)

Add _dlauxinfo helper function to provide access to the ELF auxilary
vector. This can normally be found via __ps_strings, but libc is
initialised too early when linked dynamically and doesn't have access to
it yet, so provide an alternative mechanism via ld.elf_so.
Bump libc minor.

Revision 1.107 / (download) - annotate - [select for diffs], Fri Dec 2 09:06:49 2011 UTC (18 months, 2 weeks ago) by skrll
Branch: MAIN
CVS Tags: 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, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base
Branch point for: matt-nb6-plus
Changes since 1.106: +7 -3 lines
Diff to previous 1.106 (colored)

Restore backwards compatibility by removing unnecessary addition of
dlvsym to Obj_Entry.

Add some comments.

Revision 1.106 / (download) - annotate - [select for diffs], Sat Jun 25 05:45:12 2011 UTC (23 months, 3 weeks ago) by nonaka
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.105: +54 -6 lines
Diff to previous 1.105 (colored)

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

Revision 1.105 / (download) - annotate - [select for diffs], Tue Mar 29 20:56:35 2011 UTC (2 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: cherry-xenmp-base, cherry-xenmp
Changes since 1.104: +4 -3 lines
Diff to previous 1.104 (colored)

Block signals when using the exclusive lock.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Mar 25 18:07:04 2011 UTC (2 years, 2 months ago) by joerg
Branch: MAIN
Changes since 1.103: +6 -1 lines
Diff to previous 1.103 (colored)

Add basic locking to ld.elf_so.

Revision 1.103 / (download) - annotate - [select for diffs], Sat Mar 12 22:54:36 2011 UTC (2 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.102: +5 -1 lines
Diff to previous 1.102 (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.102 / (download) - annotate - [select for diffs], Thu Mar 10 14:27:31 2011 UTC (2 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

Fix prototype for __tls_get_addr. Add a generic implementation of it
using __tls_get_addr. Update TLS notes.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Mar 9 23:10:07 2011 UTC (2 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.100: +34 -1 lines
Diff to previous 1.100 (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.100 / (download) - annotate - [select for diffs], Tue Jan 25 12:25:43 2011 UTC (2 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: bouyer-quota2-nbase, bouyer-quota2-base
Changes since 1.99: +2 -2 lines
Diff to previous 1.99 (colored)

Unbreak gdb by ensuring _rtld_debug_state is in the dynamic symbol table.

mmm 1 line diffs

mmm not breaking backwards compatibility for anything known/unknown or
public/private.

Revision 1.99 / (download) - annotate - [select for diffs], Sun Jan 16 15:56:37 2011 UTC (2 years, 5 months ago) by matt
Branch: MAIN
Branch point for: bouyer-quota2
Changes since 1.98: +4 -4 lines
Diff to previous 1.98 (colored)

Move powerpc gotptr to the end to preserve binary compatibility.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Jan 16 01:22:29 2011 UTC (2 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.97: +4 -1 lines
Diff to previous 1.97 (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.97 / (download) - annotate - [select for diffs], Fri Dec 24 12:41:43 2010 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Changes since 1.96: +20 -4 lines
Diff to previous 1.96 (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.96 / (download) - annotate - [select for diffs], Sun Dec 5 00:56:06 2010 UTC (2 years, 6 months ago) by joerg
Branch: MAIN
Changes since 1.95: +8 -8 lines
Diff to previous 1.95 (colored)

Build ld.elf_so with -fvisibility=hidden. Exploit this for i386/x86_64
to simplify the assembler code.

Revision 1.95 / (download) - annotate - [select for diffs], Sat Oct 16 10:27:07 2010 UTC (2 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.94: +21 -9 lines
Diff to previous 1.94 (colored)

Implement dl_iterate_phdr.

Somewhat taken from FreeBSD. Manual page from OpenBSD.

Revision 1.94 / (download) - annotate - [select for diffs], Sun Oct 10 21:27:16 2010 UTC (2 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.93: +10 -5 lines
Diff to previous 1.93 (colored)

restore binary compatibility for pre-2.0 binaries, requested by skrll and core.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Sep 30 09:11:18 2010 UTC (2 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (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.92 / (download) - annotate - [select for diffs], Fri Aug 6 16:33:17 2010 UTC (2 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.91: +3 -2 lines
Diff to previous 1.91 (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.91 / (download) - annotate - [select for diffs], Mon Apr 5 14:01:26 2010 UTC (3 years, 2 months ago) by joerg
Branch: MAIN
Changes since 1.90: +5 -2 lines
Diff to previous 1.90 (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.90 / (download) - annotate - [select for diffs], Thu Mar 18 22:17:55 2010 UTC (3 years, 3 months ago) by roy
Branch: MAIN
Changes since 1.89: +7 -6 lines
Diff to previous 1.89 (colored)

Use alloca(3) instead of local xmalloc for creating our DoneLists.
This allows threaded programs to use us a little better, PR lib/43005.
We need to disable SSP when using alloca.

Revision 1.89 / (download) - annotate - [select for diffs], Sat Feb 27 11:16:38 2010 UTC (3 years, 3 months ago) by roy
Branch: MAIN
Changes since 1.88: +22 -3 lines
Diff to previous 1.88 (colored)

Implement negative cache checks for symbol lookups.
Uses the Donelist idea from FreeBSD.

Revision 1.88 / (download) - annotate - [select for diffs], Sun Jan 17 08:04:20 2010 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.87: +3 -2 lines
Diff to previous 1.87 (colored)

Restore backwards compatibility for binaries referencing the main
Obj_Entry.

Revision 1.87 / (download) - annotate - [select for diffs], Sat Jan 16 10:37:51 2010 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.86: +1 -2 lines
Diff to previous 1.86 (colored)

Remove cargo cult dlinfo entry point.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Jan 15 07:07:12 2010 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.85: +9 -1 lines
Diff to previous 1.85 (colored)

Put the dlopen,and friends entry points back.

They're needed by pre-2.0 binaries. Backward compatibiliity for these
was broken by another commit recently which I'll fix shortly.

Revision 1.85 / (download) - annotate - [select for diffs], Thu Jan 14 21:52:07 2010 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.84: +1 -9 lines
Diff to previous 1.84 (colored)

Remove the entry points for dlopen() and friends. They haven't been used
since Aug 2003.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Jan 13 20:17:21 2010 UTC (3 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.83: +4 -1 lines
Diff to previous 1.83 (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.83 / (download) - annotate - [select for diffs], Sun Jan 10 07:29:47 2010 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.82: +4 -1 lines
Diff to previous 1.82 (colored)

Reset the COMBRELOC cache Obj_Entry if it was freed.

Fixes PR 41482. Done slightly differently to the patch in the PR.

Revision 1.82 / (download) - annotate - [select for diffs], Tue Nov 17 18:44:33 2009 UTC (3 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.81: +2 -2 lines
Diff to previous 1.81 (colored)

Make _rtld_pagesz of type size_t.

Fixes round_down for alpha which made ldd(1) break.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Sep 24 21:21:34 2009 UTC (3 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.80: +3 -1 lines
Diff to previous 1.80 (colored)

Add Solarisa-like dlinfo() interface to the ELF dynamic linker.
Implement RTLD_DI_LINKMAP which returns a pointer to the linkmap
chain at the given object.  Other Solaris queries are currently
unimplemented.

Revision 1.80 / (download) - annotate - [select for diffs], Tue May 19 20:44:52 2009 UTC (4 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored)

warns=4

Revision 1.79 / (download) - annotate - [select for diffs], Sat Oct 4 09:37:12 2008 UTC (4 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-1-RELEASE, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend
Branch point for: netbsd-5-0, netbsd-5, matt-nb5-mips64
Changes since 1.78: +3 -1 lines
Diff to previous 1.78 (colored)

lib/39649: dlsym(3) does not follow dependencies

Pull across code from FreeBSD to do a search of the passed object and it's
NEEDED objects (dependencies).

Reviewed by gimpy.

Revision 1.78 / (download) - annotate - [select for diffs], Tue Jun 3 19:32:32 2008 UTC (5 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Changes since 1.77: +2 -1 lines
Diff to previous 1.77 (colored)

Don't bother unmapping the ELF header unless it overlaps the first load
section.

Revision 1.77 / (download) - annotate - [select for diffs], Mon Jan 14 08:52:16 2008 UTC (5 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, matt-armv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Branch point for: yamt-pf42, wrstuden-revivesa
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored)

tabify

Revision 1.76 / (download) - annotate - [select for diffs], Fri Dec 7 20:34:05 2007 UTC (5 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, cube-autoconf-base, cube-autoconf
Changes since 1.75: +11 -3 lines
Diff to previous 1.75 (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.75 / (download) - annotate - [select for diffs], Sun Sep 2 09:57:16 2007 UTC (5 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.74: +2 -6 lines
Diff to previous 1.74 (colored)

Don't define bool, false and true. Use stdbool.h.

Revision 1.74 / (download) - annotate - [select for diffs], Fri May 18 21:44:09 2007 UTC (6 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.73: +9 -4 lines
Diff to previous 1.73 (colored)

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

Revision 1.73 / (download) - annotate - [select for diffs], Mon May 22 19:49:09 2006 UTC (7 years ago) by drochner
Branch: MAIN
CVS Tags: netbsd-4-base, netbsd-4-0-RC1, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (colored)

sprinkle some __noreturn__ attributes, saves gcc4 warnings elsewhere

Revision 1.72 / (download) - annotate - [select for diffs], Tue Mar 21 17:48:10 2006 UTC (7 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

Coverity CID 2749: Fix another double free. Instead of removing that last
free() call, change the allocation policy to leave the responsibility for
allocation/freeing the pathname to _rtld_map_object(), instead of having
the caller allocate it and _rtld_map_object() free it. This simplifies the
code a lot and it is more efficient.

Revision 1.71 / (download) - annotate - [select for diffs], Mon Jul 5 11:50:07 2004 UTC (8 years, 11 months ago) by cube
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
Branch point for: netbsd-3
Changes since 1.70: +3 -4 lines
Diff to previous 1.70 (colored)

Make ld.elf_so use the new sysctl API.  That allows the user to give any
sysctl variable name in /etc/ld.so.conf.  It also makes the ld.elf_so
binary slightly smaller (at least on i386), and has no impact on
performance.

Fixes PR 26100.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Aug 12 09:18:49 2003 UTC (9 years, 10 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.69: +11 -6 lines
Diff to previous 1.69 (colored)

Resolve dlsym(3) and friends directly so that dlsym(RTLD_NEXT,...) works.

Previously dlsym resolved to the version in crt0.o or libc which would
mean that the caller's shared object couldn't be determined correctly
using __builtin_return_address(0).

Mainly from FreeBSD, but adapted by me. Benefits of this solutions are:

	- backward comptibility maintained
	- existing broken binaries are fixed with a new ld.elf_so
	- __mainprog_obj can be removed from crt0.o
	- we do the same thing as FreeBSD

Fixes PR 22067.

OKed by Jason and Christos.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Jul 24 10:12:26 2003 UTC (9 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.68: +44 -46 lines
Diff to previous 1.68 (colored)

ANSIfy and de-__P().

Revision 1.68 / (download) - annotate - [select for diffs], Fri May 30 15:43:33 2003 UTC (10 years ago) by christos
Branch: MAIN
Changes since 1.67: +3 -1 lines
Diff to previous 1.67 (colored)

Add RTLD_FIRST, RTLD_NEXT, RTLD_DEFAULT, from FreeBSD

Revision 1.67 / (download) - annotate - [select for diffs], Thu Apr 24 16:55:30 2003 UTC (10 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.66: +2 -3 lines
Diff to previous 1.66 (colored)

Back out previous change for now -- it needs more work.

Revision 1.66 / (download) - annotate - [select for diffs], Wed Apr 23 17:40:25 2003 UTC (10 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.65: +4 -3 lines
Diff to previous 1.65 (colored)

Attempt to give dlsym() the same symbol-searching semantics as _rtld_bind().
Tested in a handful of cases.
Reviewed by: a dead silence

Revision 1.65 / (download) - annotate - [select for diffs], Thu Dec 5 04:56:57 2002 UTC (10 years, 6 months ago) by junyoung
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

A bit speedup: in _rtld_load_object(), save the number of calls to
strcmp() by performing path name length comparison first. In the test
with Mozilla, the number was reduced to 1068 from 7182 (yes, we saved
6114 strcmp()!).

Revision 1.64 / (download) - annotate - [select for diffs], Thu Nov 14 20:11:48 2002 UTC (10 years, 7 months ago) by nathanw
Branch: MAIN
Changes since 1.63: +1 -2 lines
Diff to previous 1.63 (colored)

Remove "extern const chat *_rtld_error_message;". There is no such
variable, and never has been.

Revision 1.63 / (download) - annotate - [select for diffs], Fri Oct 4 18:50:44 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (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.62 / (download) - annotate - [select for diffs], Thu Oct 3 20:35:20 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.61: +5 -3 lines
Diff to previous 1.61 (colored)

As seen on tech-userlevel...

There are several optimizations here:

1) Objects on _rtld_list_main do not participate in the DAG structures
   at all.  This is okay because all symbols must be resolvable at
   link/load time, and _rtld_list_main is always searched first, so
   any references from those objects must necessarily be resolved to
   other objects on _rtld_list_main.

   (Making this work completely required setting obj->main a bit
   earlier; hence the RTLD_MAIN hack.)

2) Objects on _rtld_list_main are not put on _rtld_list_global,
   preventing an extra search.

3) A bit is used to keep track of whether an object is on
   _rtld_list_global, so we don't have to do a silly linear search.

4) A small attempt is made to prevent objects being put on the DAG
   lists multiple times (using a silly linear search).

The sum of this appears to be a ~10% (.3s) reduction in Mozilla's
startup time on my 800MHz box.

Also, make sure _rtld_objmain->path is always set, just to make the
debug output nicer.

Revision 1.61 / (download) - annotate - [select for diffs], Thu Oct 3 01:09:21 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.60: +3 -2 lines
Diff to previous 1.60 (colored)

Do not put objects on _rtld_list_main on any DAG member list -- any symbol we
will have already been found during the _rtld_list_main walk, so there's no
point in doing it again.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Sep 26 20:42:10 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

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

Revision 1.59 / (download) - annotate - [select for diffs], Wed Sep 25 07:27:50 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.58: +1 -4 lines
Diff to previous 1.58 (colored)

Push the _rtld_bind() interface into MD code -- it's just a trivial wrapper
anyway.

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

#if defined -> #ifdef

Revision 1.57 / (download) - annotate - [select for diffs], Tue Sep 24 20:23:12 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

Put back the `in_plt' nonsense for now.
It turns out there is some deep-seated wackiness WRT function pointer
comparisons...

Revision 1.56 / (download) - annotate - [select for diffs], Tue Sep 24 12:52:20 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.55: +1 -8 lines
Diff to previous 1.55 (colored)

Remove the SVR4_LIBDIR madness.

Revision 1.55 / (download) - annotate - [select for diffs], Tue Sep 24 09:45:59 2002 UTC (10 years, 8 months ago) by junyoung
Branch: MAIN
Changes since 1.54: +3 -14 lines
Diff to previous 1.54 (colored)

Nuke PAGESIZE.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Sep 24 01:24:44 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

Use/require AT_PAGESZ on all platforms.  (The kernel has exported it for ~3
years now.)  Use _rtld_pagesz instead of getpagesize() to determine the page
size in our local malloc().  Saves a system call.

Also, since we're now relocated early, we don't need to be careful to avoid
globals, so most of the VARPSZ hacks are eliminated.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Sep 23 23:56:49 2002 UTC (10 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.52: +5 -5 lines
Diff to previous 1.52 (colored)

Several small changes that shave 7-8% off the simple-exec-loop test:

* Rename _rtld_find_library() to _rtld_load_library().  It now calls
  _rtld_load_object() if necessary to actually load the object, rather
  than having the caller do it.  To do this, it also takes the `mode'
  argument that gets passed to _rtld_load_object().

* On a related note, remove _rtld_check_library(), and instead call
  _rtld_load_object() to instead try actually loading the object.  We
  save two extra namei's and a bunch of redundant work (almost
  literally the same code) this way.

* In _rtld_map_object(), mmap(2) the first page read-only, rather than
  read(2)ing it.

* In _rtld_symlook_obj(), compare the *second* character of the symbol
  name before calling strcmp().  (This first character is too
  frequently `_', and turns out to not be helpful, in libc.)

* Also in _rtld_symlook_obj(), remove the bogus STT_FUNC special case
  -- this also allows removing the `in_plt' argument to
  _rtld_symlook_list() and _rtld_symlook_obj().

Also:

* In _rtld_obj_from_addr(), rather than trying to look up `_end' in
  the each object, instead use obj->mapsize as the upper bound.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Sep 19 14:05:37 2002 UTC (10 years, 9 months ago) by junyoung
Branch: MAIN
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored)

Cosmetic changes.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Sep 18 07:35:40 2002 UTC (10 years, 9 months ago) by junyoung
Branch: MAIN
Changes since 1.50: +2 -3 lines
Diff to previous 1.50 (colored)

_rtld_setup_pltgot() belongs to reloc.c.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Sep 17 07:29:47 2002 UTC (10 years, 9 months ago) by junyoung
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (colored)

Make immediate binding work again by actually implementing
_rtld_relocate_plt_objects(). Note that this is for i386 only;
any efforts to make it work on other platforms are left to
those who are using them...

Revision 1.49 / (download) - annotate - [select for diffs], Fri Sep 13 03:22:08 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.48: +2 -6 lines
Diff to previous 1.48 (colored)

Remove a dumb #ifdef -- if VARPSZ is not defined on sparc, the build will
bomb anyway.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Sep 12 22:56:29 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.47: +11 -12 lines
Diff to previous 1.47 (colored)

Nuke -DRTLD_RELOCATE_SELF and `dodebug' from orbit.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Sep 12 20:27:34 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.46: +1 -6 lines
Diff to previous 1.46 (colored)

Move another declaration that doesn't belong in MI source.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Sep 12 20:20:58 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.45: +1 -9 lines
Diff to previous 1.45 (colored)

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

Revision 1.45 / (download) - annotate - [select for diffs], Fri Sep 6 15:17:54 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (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.44 / (download) - annotate - [select for diffs], Fri Sep 6 13:20:30 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.43: +3 -2 lines
Diff to previous 1.43 (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.43 / (download) - annotate - [select for diffs], Fri Sep 6 12:00:40 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

More const poisoning.  Now the entire _rtld_bind() path useds a const Obj_Entry.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Sep 6 03:12:04 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.41: +6 -6 lines
Diff to previous 1.41 (colored)

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

Revision 1.41 / (download) - annotate - [select for diffs], Fri Sep 6 03:05:35 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.40: +4 -3 lines
Diff to previous 1.40 (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.40 / (download) - annotate - [select for diffs], Thu Sep 5 21:57:09 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.39: +1 -4 lines
Diff to previous 1.39 (colored)

Remove all of the `mark' code.  This is responsible for the `undefined PLT
symbol' errors, probably because the increment gets interrupted occasionally by
a signal.  In general, _rtld_bind() should not modify ANY internal state.

Revision 1.39 / (download) - annotate - [select for diffs], Thu Sep 5 21:21:07 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (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.38 / (download) - annotate - [select for diffs], Thu Sep 5 20:08:15 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.37: +2 -3 lines
Diff to previous 1.37 (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.37 / (download) - annotate - [select for diffs], Thu Sep 5 16:33:57 2002 UTC (10 years, 9 months ago) by junyoung
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored)

Remove unused arguments of _rtld_find_symdef().

Revision 1.36 / (download) - annotate - [select for diffs], Thu Sep 5 15:45:54 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.35: +1 -10 lines
Diff to previous 1.35 (colored)

Remove unused prototypes (including one for a non-existant function!).

Revision 1.35 / (download) - annotate - [select for diffs], Thu Sep 5 15:38:22 2002 UTC (10 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.34: +3 -12 lines
Diff to previous 1.34 (colored)

Make _rtld_setup_pltgot() a consistent interface on all platforms.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Jul 10 15:12:36 2002 UTC (10 years, 11 months ago) by fredette
Branch: MAIN
Changes since 1.33: +17 -1 lines
Diff to previous 1.33 (colored)

Add support for dynamic linking on HP PA-RISC.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Dec 28 05:44:22 2001 UTC (11 years, 5 months ago) by lukem
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-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.32: +3 -1 lines
Diff to previous 1.32 (colored)

- Allow RTLD_DEFAULT_LIBRARY_PATH to be overridden.
- If ${SHLIBDIR} != ${LIBDIR}, then set RTLD_DEFAULT_LIBRARY_PATH to
  ${SHLIBDIR}:${LIBDIR}

Revision 1.32 / (download) - annotate - [select for diffs], Fri Dec 14 00:53:07 2001 UTC (11 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

Add code to peek into the PLT and determine which PLT entry format
is being used.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Dec 13 22:34:52 2001 UTC (11 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.30: +9 -1 lines
Diff to previous 1.30 (colored)

Supply two lazy binding routines for Alpha: one that works with the
old PLT format, and one that works with the new.

XXX We currently always use _rtld_bind_start_old() in
_rtld_setup_alpha_pltgot().  We need to add code to peek
into one of the PLT entries to see which format it's in
and pick the correct binding routine.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Apr 25 12:24:50 2001 UTC (12 years, 1 month ago) by kleink
Branch: MAIN
Changes since 1.29: +8 -8 lines
Diff to previous 1.29 (colored)

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

Revision 1.29 / (download) - annotate - [select for diffs], Fri Nov 10 21:31:30 2000 UTC (12 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.28: +5 -3 lines
Diff to previous 1.28 (colored)

When dlopen()ing with RTLD_GLOBAL, also make dependent libraries RTLD_GLOBAL.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Oct 10 19:54:38 2000 UTC (12 years, 8 months ago) by is
Branch: MAIN
Changes since 1.27: +3 -2 lines
Diff to previous 1.27 (colored)

Format string cleanups by sommerfeld.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jul 26 02:07:35 2000 UTC (12 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (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.26 / (download) - annotate - [select for diffs], Thu Jul 6 03:16:51 2000 UTC (12 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.25: +6 -6 lines
Diff to previous 1.25 (colored)

fix non-portable bit-fields

Revision 1.25 / (download) - annotate - [select for diffs], Sat Apr 15 05:41:46 2000 UTC (13 years, 2 months ago) by erh
Branch: MAIN
CVS Tags: netbsd-1-5-base, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.24: +2 -1 lines
Diff to previous 1.24 (colored)

Cause ld.elf_so to find the symbols for __progname and environ and set them.  If we wait until crt0 gets around to doing it it's too late for any library init functions.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Feb 8 16:23:00 2000 UTC (13 years, 4 months ago) by scottb
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

change first argument of dladdr to const.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Feb 7 21:40:42 2000 UTC (13 years, 4 months ago) by scottb
Branch: MAIN
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)

add hooks to support the dladdr function.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Dec 15 05:22:37 1999 UTC (13 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.21: +5 -3 lines
Diff to previous 1.21 (colored)

Do what the people want. Support full sysctl names.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Dec 13 09:09:35 1999 UTC (13 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.20: +19 -3 lines
Diff to previous 1.20 (colored)

Enable parsing and mapping of hardware dependent libraries in ld.so.conf
To be documented in the man page.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Dec 5 18:36:25 1999 UTC (13 years, 6 months ago) by fredb
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

More CL* fallout.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Nov 10 18:48:19 1999 UTC (13 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.18: +4 -3 lines
Diff to previous 1.18 (colored)

Name consistencty nit: curmark -> _rtld_curmark

Revision 1.18 / (download) - annotate - [select for diffs], Sun Nov 7 06:48:22 1999 UTC (13 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

More fallout.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Nov 7 00:21:14 1999 UTC (13 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.16: +33 -6 lines
Diff to previous 1.16 (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.16 / (download) - annotate - [select for diffs], Thu Aug 19 23:42:15 1999 UTC (13 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored)

enable /etc/ld.so.conf processing
[reviewed by thorpej]

Revision 1.15 / (download) - annotate - [select for diffs], Sun Aug 1 19:47:07 1999 UTC (13 years, 10 months ago) by kleink
Branch: MAIN
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

Rearrange the shared library search path precedences to LD_LIBRARY_PATH >
runpath > built-in default; this is the behaviour of the SVR4 shared loader,
and gives users the opportunity to override the runpath.  (Addresses a report
on current-users by John Kohl.)

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jul 5 17:55:34 1999 UTC (13 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.13: +10 -2 lines
Diff to previous 1.13 (colored)

Protect certain definitions from view by crt0, by wrapping them in
#ifdef _RTLD_SOURCE.

Should fix the "variable page size" build error of crt0 on the SPARC.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 22 16:28:22 1999 UTC (14 years ago) by christos
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

We need to compile with -DVARPSZ, because the sparc has a variable page
size depending on arch. Make it an error to compile without it. This
caused -lposix linked programs to fail.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jun 16 15:41:24 1999 UTC (14 years ago) by kleink
Branch: MAIN
Changes since 1.11: +5 -4 lines
Diff to previous 1.11 (colored)

Turn bool, true and false into an enumeration and enumeration constants to
avoid integer promotion warnings.

Revision 1.11 / (download) - annotate - [select for diffs], Mon May 31 14:48:16 1999 UTC (14 years ago) by kleink
Branch: MAIN
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

Implement LD_PRELOAD support.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Apr 18 19:40:06 1999 UTC (14 years, 2 months ago) by ws
Branch: MAIN
Changes since 1.9: +13 -4 lines
Diff to previous 1.9 (colored)

Add code to use the kernel provided page size.
Enable this on the powerpc only for now.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 19 18:25:57 1999 UTC (14 years, 3 months ago) by kleink
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE
Branch point for: netbsd-1-4
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

Remove /usr/local/lib from RTLD_DEFAULT_LIBRARY_PATH; c.f. PR bin/7146.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Mar 1 16:40:07 1999 UTC (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.7: +110 -113 lines
Diff to previous 1.7 (colored)

KNF

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 24 18:31:00 1999 UTC (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.6: +14 -6 lines
Diff to previous 1.6 (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.6 / (download) - annotate - [select for diffs], Tue Nov 24 11:34:30 1998 UTC (14 years, 6 months ago) by tsubai
Branch: MAIN
Changes since 1.5: +8 -1 lines
Diff to previous 1.5 (colored)

Add powerpc support.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jul 1 20:42:47 1998 UTC (14 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

Allow PAGESIZE to be set via a -D option to cc (CLBYTES not a constant on
sparc; it is defined in terms of the kernel variable "nbpg")

Revision 1.4 / (download) - annotate - [select for diffs], Wed Mar 25 04:13:02 1998 UTC (15 years, 2 months ago) by mhitch
Branch: MAIN
Changes since 1.3: +12 -1 lines
Diff to previous 1.3 (colored)

Add support for mips.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Feb 14 22:30:25 1997 UTC (16 years, 4 months 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
Changes since 1.2: +1 -5 lines
Diff to previous 1.2 (colored)

don't include members of Struct_Obj_Entry conditionally.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Dec 17 05:04:10 1996 UTC (16 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.1: +2 -3 lines
Diff to previous 1.1 (colored)

remove /usr/localelf/lib from default library path

Revision 1.1 / (download) - annotate - [select for diffs], Mon Dec 16 20:38:04 1996 UTC (16 years, 6 months ago) by cgd
Branch: MAIN

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>