Commit Graph

195 Commits

Author SHA1 Message Date
pk
76ae27e1f8 Pick up ld(1) implementation definitions. 1998-12-17 14:29:50 +00:00
pk
d2db1ca59a * Add header file containing definitions shared among all a.out
linker related utilities.
* Adjust makefile to new location in `src/libexec'
* Have rtld.c use the new shlib.h and ld.h headers.
1998-12-17 11:34:10 +00:00
pk
5f5db2f16f Re-arrange to hide unneeded functions when building the run-time linker. 1998-12-17 10:54:34 +00:00
pk
4f32152ede Export the common shared library search functions in its own header file. 1998-12-15 23:16:14 +00:00
pk
b53366509b Deal with compiler warnings: format strings, prototypes, variable initialization. 1998-12-15 21:35:17 +00:00
pk
c03c29c0e4 Prototypes. 1998-12-15 21:33:00 +00:00
pk
f6f34d9c9f Pull in <a.out.h>. 1998-12-15 21:28:28 +00:00
pk
631ebffde3 Layout & compiler warnings. 1998-12-15 21:23:57 +00:00
pk
ad3e459220 NetBSD -> __NetBSD__ 1998-12-15 21:22:52 +00:00
mycroft
dedf21f286 Put back code to use pc-relative branches in the PLT, and avoid doing cache
flushes.
1998-12-03 15:56:51 +00:00
mycroft
26fce3548b Use the `first' argument to md_fix_jmpslot(). 1998-12-03 15:46:28 +00:00
matt
ce394ac326 Add hook to convert some DISP32 relocs to BASREL through a GOT entry.
[XXX not perfect since gotslot are allocated on a per-symbol basis but
not a per-symbol & addend tuple.  This makes impossible to have separate
GOT entries to ___sF (stdin), ___sF+88 (stdout), and ___sF+176 (stderr)]
1998-10-31 09:04:29 +00:00
matt
931b784473 Remove reference to unused include file. 1998-10-31 08:59:58 +00:00
matt
8f7b610683 More fixes and optimizations for VAX shared library support. Including
one that makes vfork work.
1998-10-23 00:51:36 +00:00
matt
42ba16dee7 Make the BINDER debug messages a bit more useful (print index and jmpslot
address too).
1998-10-23 00:44:44 +00:00
matt
4f1a79cfbd Back out change to md_make_gotreloc which added 4 arguement of got_t *.
Add argument to md_fix_jmpslot indicating whether this the first (i.e
tranfer) jmpslot or not.  Add better support for VAX (the VAX can support
pure text code; let ld that advantage of it).  Checking in verified and
working versions of rtld VAX support routines.
1998-10-19 03:09:31 +00:00
matt
f94bc8f4df Add AUX_LABEL (need for VAX JSB/JMP "jmp" slots). 1998-10-19 00:30:57 +00:00
itohy
9d79a50f6a Correct return value of md_midcompat(). 1998-10-17 17:08:21 +00:00
matt
bb27fa210f Get shared libraries a lot closer to working. 1998-10-12 01:33:35 +00:00
matthias
78f9c9bd25 remove some vm_offset_t fallout. 1998-10-03 20:04:01 +00:00
pk
4d98b5ce9c Prevent spurious matches matches against unwanted major versions.
Patch based on PR#6139.
1998-09-15 12:38:55 +00:00
pk
e6b129450c Exit early from alloc_link_map() if we have no object; only relevant
when tracing. (PR#6140)
1998-09-12 15:03:19 +00:00
pk
0a97faa040 Assign my copyrights to TNF. 1998-09-05 13:08:38 +00:00
matt
60f624ddb7 Fix some obvious bugs. 1998-08-26 15:32:02 +00:00
matt
4da3f7cfd8 Add external symbol for __PROCEDURE_LINKAGE_TABLE_. Modify arguments
to md_make_gotreloc for VAX'es sake.
1998-08-26 14:37:40 +00:00
matt
fb6da63fa6 More changes for shareable libraries and PIC code 1998-08-21 01:03:48 +00:00
matt
0111660e53 Get md.c to compile again. Get mdprologue.S to assemble. [Now at least
ld and rtld compile and link.]
1998-08-20 15:12:02 +00:00
matt
74018d8df6 Untested(!!) beginning of VAX a.out shared library support. This is a work
in progress.
1998-08-18 18:46:16 +00:00
mycroft
93f8d753f8 Small changes to make debugging a little easier. 1998-08-13 07:34:05 +00:00
mycroft
41a070136b When DEBUG, log init and fini calls. 1998-08-06 00:03:28 +00:00
mycroft
9ae60c44af More cruft. 1998-08-05 04:25:03 +00:00
mycroft
7625579cb3 GC some cruft. 1998-08-05 04:21:51 +00:00
mycroft
5d231ae38e Don't reset the reloc_index when we patch a jmpslot. We don't need to, and
this kluges around some cache issues.
1998-07-27 07:48:21 +00:00
mycroft
cfaad53a4e Remove bogus change to use -O0. 1998-07-25 12:37:27 +00:00
tv
77a275d732 Change ld.so default behavior to RTLD_LOCAL, and make RTLD_LOCAL into a
new flag bit.  Keep RTLD_GLOBAL as an actual flag bit so it won't be
re-used, or may be used for something later.  Mask the dlopen() mode bits
in ld.elf_so so a comparison against RTLD_NOW works.  (RTLD_{LOCAL,GLOBAL}
needs to be implemented for ld.elf_so.)
1998-07-14 22:18:36 +00:00
kleink
76bc8071eb Clear the error indicator after retrieval (xref. dlerror(3)). 1998-05-30 18:28:31 +00:00
tv
b05a04267a In case NOPICINSTALL is set, get -lc_pic from src/lib/libc/(objdirname). 1998-05-21 00:31:05 +00:00
pk
294ed94908 Optimize symbol/string table access slightly by precomputing their
locations at load time. These values don't change once the object is loaded.
1998-05-19 12:15:38 +00:00
thorpej
dd26162d11 Need <dlfcn.h> for Dl_info. 1998-05-14 01:55:28 +00:00
pk
d123bc84d4 Implement `dladdr()': find nearest symbol given an address. 1998-05-12 21:22:28 +00:00
pk
79bd77e1cc Add `dladdr()' rtld entry point. 1998-05-12 21:21:21 +00:00
fvdl
98712f00f0 If a good matching shared library is found, don't look in the next
directories. This is compatible with the SunOS behaviour. Also,
it fixes a problem where it was not possible for some 3rd party
package to have a library with the same name as a library already
in the system, and a lower version number. The highest version
would always be picked. This particular problem shows up with Mozilla,
which has a libutil.so.1.0
1998-04-04 01:00:29 +00:00
mycroft
ab8a4c5234 Allow a non-RTLD_GLOBAL object to refer to symbols in itself. 1998-03-26 23:33:12 +00:00
pk
d47d43b956 Use file size from fstat(2) to map the hints file, instead of fiddling
with incremental mmap()'s.  Squashes a bug which caused only the first
page of the hints file to unmapped.
1998-03-18 23:21:46 +00:00
pk
5ea8bb6d05 Implement RTLD_GLOBAL dlopen(3) flag.
Rename internal flags to avoid <dlfcn.h> name space collisions.
1998-03-15 23:10:21 +00:00
pk
b5f4c3ad5e Check for short hints file (noticed by Chuck Silvers). 1998-03-15 21:24:27 +00:00
mycroft
28ad88290d Remove spurious extra newline. 1998-03-03 00:36:24 +00:00
mycroft
4462053ab3 Fill in missing (default) mmap(2) flags. 1998-02-20 09:27:18 +00:00
pk
9084f293a7 Print a warning message if we detect that a "copy symbol" has changed
size in a shared library.  Also, always use our expected size to copy
the item in, on the assumption that doing so generally minimizes the
damage (maybe it's better to just bail out?).
1998-02-17 23:07:33 +00:00
cgd
10cc9f3b70 RCS Id police 1998-01-05 22:00:34 +00:00