thorpej
7d468e4a0c
Iff __m68k__, use a `slight hack' to determine the magic of the executable
...
we're doing a dynamic link for, and change the page size used for offset
and size calculations if necessary. Allows the same ld.so to be used with
mixed m68k4k and m68k8k executables and libraries.
Thanks a million to Gordon Ross for the help in making this work!
1996-09-10 22:17:51 +00:00
mark
48d30b1294
Fixed NetBSD tag.
1996-08-21 18:43:29 +00:00
phil
cc13fe98cb
Fix for dynamically linked functions returning structs. PR#2586/Pfaller
1996-07-31 06:22:41 +00:00
thorpej
648aed921f
RCS id police.
1996-07-03 03:28:09 +00:00
pk
721a11bff8
Use DESTDIR to point at libraries like bsd.prog.mk does (PR#2524).
1996-06-08 22:22:26 +00:00
mark
060e1bc8f1
Initial commit of arm32 machine dependant code for ld.
...
Currently only supports static linking.
1996-05-17 21:51:07 +00:00
pk
05105a9150
Define RELOC_INIT_SEGMENT_RELOC for the ns32k (Matthias Pfaller; PR#2103).
1996-02-22 00:19:57 +00:00
pk
55d51fbb95
Relax checking of minor version number in `findhint()'. Also use the
...
directories from the hints (v.2) file for directory traversing.
This should take care of PR#1146.
1996-01-14 00:35:17 +00:00
pk
ccc1c895ef
Deal with v.2 hint files (hint srch dirs not yet used).
1996-01-09 00:02:28 +00:00
pk
d98240030c
Define LD_HINTS_VERSION_2:
...
- no longer hash on minor version number in hints file.
- add list of ldconfig(8) search directories.
1996-01-09 00:00:11 +00:00
thorpej
2e1dc487c5
Add -fno-function-cse to PICFLAGS. Without it, Very Bad Things happen
...
when ld.so is compiled with gcc 2.7.2 on the m68k. From
Niklas Hallqvist <niklas@appli.se> in PR #1557 . (Thanks, Nik, for reminding
me about this PR...)
1996-01-02 08:54:28 +00:00
pk
4162cf6459
Simplify update of r_addend field in relocation record if `-r' is on.
...
The old quirky code did strange things.
1995-12-28 18:04:59 +00:00
pk
2bb60e32ec
Make dlopen() search for libraries if given a name of the form
...
`lib<name>.so[.xx[.yy]]' (per Erik M. Theisen; PR#1763; patch from PR
used in simplified form).
1995-12-28 17:57:32 +00:00
pk
35c8aad7b3
Flush after diddling text, so we get predictable results on machines
...
with separate I & D caches.
1995-11-28 19:29:45 +00:00
ragge
6ac54c7a78
Vax support for ld, so we (at least) can link static binaries.
1995-10-19 13:10:17 +00:00
pk
d04fcadcc2
Fix typo.
1995-10-09 09:24:59 +00:00
pk
9d43c41208
New style RCS IDs.
1995-10-09 00:09:39 +00:00
pk
b74b1d6456
Allow customized trace output, so ldd(1) can be more conveniently used
...
as a filter.
Rearrange cascading stuff: remove two-level limit.
1995-10-08 23:43:28 +00:00
pk
b19a7d87e2
Pass on return value.
1995-09-23 22:48:18 +00:00
pk
d4fe561742
Interface version 4:
...
implement dlexit() (per Doug Rabson)
get actual rtld path from crt0
pass ld_entry back to crt0 in a better place
1995-09-23 22:46:24 +00:00
pk
fa6e06725c
Define `dlexit()' in crt<=>rtld interface (active in v4).
1995-09-23 22:26:15 +00:00
pk
1a9159c7ba
Check for zero sized BSS to avoid a big no-op syscall (per Mike Hibler).
1995-08-31 22:07:25 +00:00
pk
f6797ed4f1
Install the manual page.
1995-08-25 10:08:45 +00:00
pk
72acb4fe30
Handle object code with the "large" model PIC (eg. gcc's `-fPIC' option).
1995-08-04 21:32:15 +00:00
pk
f42537952b
man page for the run-time linker
1995-06-30 12:23:10 +00:00
pk
45359beaf4
Initialise after malloc (fixes PR#1149).
...
Also, correct comparison when looking in `prefered' paths.
1995-06-20 23:07:03 +00:00
pk
d680ed6b95
#include <dlfcn.h>
1995-06-05 00:08:38 +00:00
pk
878392000d
Put dlopen() et.al. declarations in separate header file for compatibility.
1995-06-05 00:08:07 +00:00
pk
fdd7092874
Cache two more environment variable values.
1995-06-04 23:21:35 +00:00
pk
fe9497fd8c
Revive library search paths.
1995-06-04 21:57:18 +00:00
pk
ad760ce3d6
Implement compiled-in library search paths: any `-L' argument encountered
...
while `dynamic link-mode' is on, is recorded in the executable. The
run-time linker will search these paths after $LD_LIBRARY_PATH but
before the default set and those currently in the hints file.
The feature is disabled whenever for set[ug]id programs.
1995-06-04 21:56:22 +00:00
phil
46466fb2d7
Correct copyright.
1995-05-29 18:11:35 +00:00
briggs
ad2b81e4f0
jbsr takes one argument, not two. Apparently the assembler quietly
...
ignores the second...
Pointed out by uhenric@mcl.ucsb.edu (Henric Jungheim).
1995-05-07 13:22:12 +00:00
pk
28dba22b40
Fix bogosities in cascade stuff.
1995-04-01 20:56:55 +00:00
pk
b6340cabe2
Burn LD_RUN_PATH; I didn't read the SVR5 man-pages carefully enough.
1995-03-06 22:59:10 +00:00
pk
64edf8f86f
Code from Matthew Green to do DL cascading "in the first degree".
...
Two `fprintf(stderr, ..)' => `warnx(..)'.
1995-03-06 20:51:24 +00:00
mycroft
ae92c26c4c
Several consistency nits, and fix a byte order problem in md_swapout_reloc().
1995-01-17 06:44:38 +00:00
mycroft
2c64d3be89
Several consistency nits, and don't define the get_*() macros twice.
1995-01-17 06:41:43 +00:00
pk
da34da6096
Put a reserved field into use (weak symbol support).
1994-12-23 20:16:59 +00:00
pk
e46ed32748
Bummer! Undo mmap() changes in rev. 1.26; they royally screw up the
...
kernel's pmap address preference mechanism.
1994-12-19 12:21:21 +00:00
pk
e2025017e0
Handle "/dev/zero" stuff more globally.
1994-12-18 16:05:49 +00:00
pk
b8937d605d
Re-arrange mmap() calls, per Charles' suggestion.
1994-12-18 15:38:55 +00:00
pk
524e00b29b
Ensure contiguous chunks for all of an object's address space (text+data+bss).
1994-12-07 20:30:53 +00:00
mycroft
9ea7c211d9
Fix some other broken comments.
1994-12-04 08:26:22 +00:00
mycroft
ffadc8821a
Remove silly comment that was causing `make depend' to barf.
1994-12-04 07:42:44 +00:00
pk
7df5d3ecf2
Another md macro to initialize a home-made struct reloc needed
...
for N_SET* type relocations in shared objects.
1994-11-30 18:24:56 +00:00
phil
0a13ae3ba2
patches from Matthias
...
new RCS id format
1994-11-30 06:20:42 +00:00
mycroft
15cea8b764
Don't close the hints file while it's mapped, but unmap and close it after
...
loading.
1994-10-26 20:21:42 +00:00
mycroft
e23e2b1219
Remove two unused functions.
1994-10-26 20:03:31 +00:00
mycroft
c1a45e7763
Clean this up a bit, and use the trap gate to enter the kernel.
1994-10-26 19:41:13 +00:00
cgd
4d2cbfce0a
new RCS ID format.
1994-10-26 00:55:40 +00:00
deraadt
43965575ed
NBPG --> getpagesize()
1994-09-19 16:58:18 +00:00
mycroft
72e34bc0d4
Shrink ld.so by 12k.
1994-09-19 04:49:02 +00:00
pk
41671de8e6
Define Global Offset Table range.
1994-08-21 15:15:43 +00:00
phil
7297407d7b
fix from Matthias Pfaller.
1994-08-16 23:18:20 +00:00
pk
233cc208f0
Re-add `LD_WARN_NON_PURE_CODE' that went missing.
1994-08-12 08:11:16 +00:00
pk
867591e7cb
Relax minor version number checking somewhat; issue warning if minor
...
version is less than expected.
1994-08-07 10:34:40 +00:00
pk
9e0ddbbe6f
Remove some unnecessary code.
1994-08-03 15:57:58 +00:00
chopps
b6d669a07c
binder_entry() must save all scratch registers to make the process
...
of binding functions completely transparent.
1994-08-03 15:57:54 +00:00
cgd
775b690718
fix typo; from phil
1994-07-04 19:46:37 +00:00
pk
1cf6a27eef
error => warnx
1994-06-29 11:15:34 +00:00
pk
009be1653a
strdup() doesn't grok NULL pointers
1994-06-24 13:31:34 +00:00
chopps
6a0e2061ce
some changes for new style cachectl. remains compat for <= 030
1994-06-13 05:28:39 +00:00
pk
a43fd7b3a2
Conversion to err()/warn() for error reports.
1994-06-10 15:16:32 +00:00
pk
a6bf4f8176
Conversion to err()/warn() for error reports.
...
Minor bug fixes:
a case of free()ing in the wrong order. (from Rick Murphey).
processing alias symbol twice (sometimes).
Some miscellaneous cleanup.
1994-06-10 15:16:04 +00:00
pk
ca0065ab75
Another move to .data to please gdb.
1994-05-25 10:14:37 +00:00
pk
4369371ef0
Enable dl*() prototypes.
1994-05-24 10:47:48 +00:00
pk
f28b14e8b3
Force some string constants into the data segment (for core-dump reading).
...
Rename internal dl_*() functions.
Do run-time symbol alias processing.
1994-05-24 10:44:06 +00:00
pk
f8af116033
dlopen() should make a copy of argument (Thomas Eberhardt).
1994-04-07 19:46:30 +00:00
pk
a426b2b937
ns32k support by Matthias Pfaller.
1994-04-07 19:44:46 +00:00
pk
afc89926d8
Use machine architecture when examining object files for compatibility.
1994-04-07 19:43:37 +00:00
cgd
95d6a185be
no more MAP_FILE
1994-03-28 02:07:04 +00:00
chopps
8e6af40327
oops
1994-03-08 23:50:14 +00:00
chopps
3fcebc3096
flush instruction cache.
1994-03-08 06:52:33 +00:00
pk
1bb4f06e2a
Libraries which are in the hints file but not in one's LD_LIBRARY_PATH (if
...
set) were not found.
1994-02-15 22:51:23 +00:00
pk
9b345fd6e5
Define an adjustment for {TEXT,DAT}_ADDRs.
...
Hide some things from rtld with #ifdef RTLD.
1994-02-10 21:21:27 +00:00
jtc
fc1d8f3bac
Fix spelling error in Copyright notice
1994-01-29 01:54:01 +00:00
pk
bc9bb1a343
Like others, allow for SunOS .o files.
1994-01-28 21:02:21 +00:00
pk
d27581fb4b
Use somewhat customized version of malloc, in stead of relying on a
...
crummy sbrk() backend; proper aligment must be guaranteed on all archs.
Drafting dlopen, dlsym, et.al.
1994-01-28 21:01:20 +00:00
pk
90cfba21cb
Use `.type' directives generated by gcc.
...
Numerous internal changes & bug fixes.
NOTE: must re-compile & re-link shared libraries before used to link programs.
1994-01-28 20:56:09 +00:00
pk
ad127b0a0a
Redone from scratch, but maintain SunOS compatibility.
1994-01-28 20:26:52 +00:00
pk
954ef13a90
Fill in gdb hook.
1994-01-12 19:19:09 +00:00
pk
0cc050772f
Hooks for for shared C++ objects with static contructors/destructors.
1993-12-20 22:44:35 +00:00
mycroft
a09abb4d2b
Minor cleanup.
1993-12-10 05:10:22 +00:00
mycroft
8363f8736d
Use MACHINE_ARCH.
1993-12-08 11:47:17 +00:00
pk
fb781361ed
Small nits.
1993-12-08 10:28:56 +00:00
pk
a711901191
Parcelled out the heap allocator into separate file.
...
Changes prototype for findshlib() (corrected library search order for ld).
1993-12-08 10:28:05 +00:00
pk
fa099af1f6
Many internal changes, most notably in the symbol counting stuff.
...
`ld -r -x' now supported on all object files.
Support for long archive member names (AR_EFMT1 format),
thanks to Bill Sommerfeld/Mark Eichin
Do the right(?) thing with symbol aliases (N_INDR) for POSIX lover, especially
when equiping shared libraries with these (this was *not* fun).
Handle silly archives (.sa) for people who needs them; turn on by `-Bsilly'.
1993-12-08 10:13:47 +00:00
mycroft
e331ce34d0
#include ctype.h, since we use isdigit().
1993-12-07 03:04:28 +00:00
cgd
1bd5116d82
MACHINE_ARCH support
1993-12-05 00:55:26 +00:00
paulus
5b59119fbb
Machine-dependent part of ld for the m68k architecture,
...
allowing ld to support shared libraries on m68k-based machines.
1993-11-25 00:57:35 +00:00
mycroft
e9e6f64ef6
Add /usr/X386/lib to the standard list of library paths.
1993-11-21 21:01:08 +00:00
pk
4a64975120
Make `-Z' actually do something different again (old style ZMAGICs).
1993-11-14 16:51:17 +00:00
pk
c6cb826f23
Call breakpoint `BPT' in stead of `TRAP'.
1993-11-13 11:20:17 +00:00
pk
a2d3040ffb
Added function `md_set_breakpoint()'.
...
Define for TRAP. NOTE: THIS IS DEFINED AS `ta 1'!. This may need to be
changed for NetBSD.
1993-11-10 21:46:03 +00:00
pk
47aca600bd
Added function `md_set_breakpoint()'.
1993-11-10 21:40:50 +00:00
pk
2d6241585d
Do the debugger hooks.
...
Revised algorithm for finding symbols using `nz_other' (auxialiary type info).
1993-11-10 21:37:39 +00:00
pk
168c91b813
Use strsep() in stead of strtok() and restore colons in eg. env. vars.
1993-11-08 13:20:39 +00:00
pk
9446d24503
md_init_header: our exec header differs from SunOS's.
1993-11-06 19:15:31 +00:00
pk
6e2bed1cac
Print symbol name in "undefined" error msg.
1993-11-03 21:35:54 +00:00
mycroft
25d572fb12
This warning is fucking annoying, and ld already told us about it when we
...
linked the executable. Make it #ifdef DEBUG.
1993-11-03 04:58:57 +00:00
pk
abbf20b6e1
use SHAREABLE in init_header() in stead of `entry_symbol'.
1993-10-27 00:56:17 +00:00
pk
b817714018
-Bshareable added to CFLAGS.
1993-10-27 00:55:24 +00:00
pk
762354917d
use SHAREABLE in init_header() in stead of `entry_symbol'.
1993-10-27 00:54:58 +00:00
pk
8ea3d67031
Search for top-of-stack blew up if program had no environment strings.
1993-10-26 19:30:13 +00:00
pk
ecd08c7591
Make that #ifdef NetBSD, not __NetBSD__
1993-10-24 00:52:40 +00:00
pk
f385d97564
Use MID_MACHINE.
...
#ifdef NetBSD in stead of #ifdef sun
1993-10-24 00:48:20 +00:00
pk
0d1097aaf9
Use MID_MACHINE in stead of MID_I386
1993-10-24 00:47:05 +00:00
pk
a0aae738e7
Changed prototype and internals of std_search_dir().
1993-10-23 00:34:22 +00:00
pk
843df2403a
Support for `ld.so.hints'.
...
Handle set[ug]id programs.
No longer use the `lm_lob' field to access parent objects, add private
link map `parent' field in stead (SUN_COMPAT weirdness).
1993-10-22 21:18:58 +00:00
pk
8846fa47e1
Some definitions for the `ld.so.hints' file.
1993-10-22 21:04:19 +00:00
pk
69af39d0a8
No rounding of bss size to page boundary in ZMAGIC a.out's, the kernel
...
chokes on it.
Some other minor changes.
1993-10-21 00:52:52 +00:00
pk
7f6cef25a6
Renamed confusingly named macro.
...
Fixed bug that was the result of said confusion.
1993-10-21 00:00:09 +00:00
pk
01f65b81e3
Make better distinction between SunOS and BSD.
1993-10-19 21:42:38 +00:00
pk
1dff6d7850
Define our copy of `errno', as it is no longer defined in libc.
1993-10-17 15:40:11 +00:00
pk
2dfde2bc39
Moved <link.h> here from usr.bin/ld as it is needed by other modules
...
and utilities (eg. crt0, libc, nm).
1993-10-17 00:51:30 +00:00
pk
0aebf1d941
A linker supporting shared libraries (sparc dependent code).
1993-10-16 21:54:33 +00:00
pk
3d68d0acae
A linker supporting shared libraries (run-time part).
1993-10-16 21:54:08 +00:00
pk
34f24bf837
A linker supporting shared libraries (x86 dependent code).
1993-10-16 21:53:13 +00:00
pk
97ca10e374
A linker supporting shared libraries.
1993-10-16 21:52:27 +00:00