Commit Graph

200 Commits

Author SHA1 Message Date
itohy 85da239ef8 Fix byte order swapping for cross linker. 1999-01-05 10:02:20 +00:00
is 7871bc1564 Add a prototype for the _cachectl() trap call stup in mdprologue.S. 1998-12-21 12:16:16 +00:00
veego 4bf0cd6592 Include err.h to fix compile warnings. 1998-12-20 17:43:37 +00:00
pk e35b4d9b30 Duh! Hang on to SUN_COMPAT.. something is bust. 1998-12-17 23:36:38 +00:00
pk 259f05dc84 Re-arrange to hide unneeded functions when building the run-time linker.
Pick up ld(1) implementation definitions.
1998-12-17 20:14:44 +00:00
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