pk
d6193ea4d4
Create v.2 hint files.
...
Note: don't bother to understand v.1 files..
1996-01-09 00:04:35 +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
9c21bb769d
Kill spaces.
1995-10-15 13:12:18 +00:00
pk
d04fcadcc2
Fix typo.
1995-10-09 09:24:59 +00:00
pk
ce77d757fd
And initialize those local variables...
1995-10-09 00:14:41 +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
3aa94e17f0
Add -f option for customized output.
1995-10-08 23:39:58 +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
c94617858b
Just use umask(0);
...
Use mktemp() for temporary file creation.
1995-08-25 11:35:35 +00:00
pk
4edc2f666b
Ensure the hints file is readable.
1995-08-25 10:10:15 +00:00
pk
f6797ed4f1
Install the manual page.
1995-08-25 10:08:45 +00:00
pk
8920da128d
Parse library names better; takes care of PR#1291
1995-08-05 00:16:36 +00:00
pk
d579c1b1db
Handle object code with the "large" model PIC (eg. gcc's `-fPIC' option).
1995-08-04 21:49:00 +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
7787772880
Add `-R' to record internal library search paths.
...
Usage note: `cc -Xlinker -R<path>'.
1995-06-30 12:33:56 +00:00
pk
f42537952b
man page for the run-time linker
1995-06-30 12:23:10 +00:00
pk
d8f640e15a
Add a `merge' option.
...
Use err() & warn().
1995-06-20 23:12:33 +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
4b7629e4ba
Honour current umask when turning `x' bits on (from Joerg Wunsch).
1995-06-15 09:02:57 +00:00
pk
05a6a13e75
Be sure to calculate correct offsets in dispatch table.
1995-06-05 01:01:51 +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
pk
3441f631d9
Cut some convoluted code that caused library members to get pulled
...
in unnecessarily. Also, the size of common is of no interest if the
symbol already is in a shared object.
1995-06-04 21:33:14 +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
cgd
81584a34e6
NetBSD RCS Id format
1995-04-23 07:58:27 +00:00
pk
28dba22b40
Fix bogosities in cascade stuff.
1995-04-01 20:56:55 +00:00
pk
b05d1d15b6
Mention one more macro that was added some time ago.
1995-03-06 23:58:04 +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
cgd
671d2abce5
complete remove special search dirs, use NetBSD Id tag.
1995-03-06 04:24:41 +00:00
pk
9e92d48d1a
Fix confusion over a.out header flags.
1995-01-29 14:47:06 +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
3e21f75b0e
Don't whine about undefined symbols.
1994-12-28 10:37:38 +00:00
pk
8e0a22a5fb
"weak symbol" support (fudged into `a.out' by means of the n_other field).
...
Weak symbols are to replace indirect (type N_INDR) symbols and will help
to clean up name spaces in libraries.
Also, some misc. bug fixes, including PR 586, and use stdio for the output
file entirely.
1994-12-23 20:32:51 +00:00
pk
da34da6096
Put a reserved field into use (weak symbol support).
1994-12-23 20:16:59 +00:00
cgd
c4c01d75b2
specify man pages the new way.
1994-12-22 09:31:26 +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
80a2d73dcc
Don't let N_INDR entries override already defined symbols.
1994-12-17 16:22:57 +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
pk
e04b1df8e3
A short description of the machine dependent parts of ld/rtld.
1994-11-28 10:37:10 +00:00
pk
1f746cfba1
Prevent infinite loop on dubious input.
1994-10-30 14:18: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
pk
c13cbefe95
Recognise more symbol types when complaining.
1994-10-19 20:16:38 +00:00
pk
633e8b717d
Workaround a problem with alias symbols.
...
Add some more symbol trace points.
1994-10-19 20:15:35 +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
c76144bbf8
Postpone allocation of linkage table offsets until pass 2.
...
Check for Global Offset Table overflows and, if needed, adjust the
offset range we'll use (offset 0 must always be in it).
1994-08-21 15:22:43 +00:00
pk
74920774ee
init_rrs() no longer needed.
...
Adapt to changed flags.
1994-08-21 15:18:44 +00:00
pk
66c04ea8cb
Rename some flags.
1994-08-21 15:17:00 +00:00
pk
41671de8e6
Define Global Offset Table range.
1994-08-21 15:15:43 +00:00
cgd
45afd5bdba
check for NOPIC after bsd.prog.mk, so that sys.mk is included. from phil.
1994-08-19 04:24:01 +00:00
phil
7297407d7b
fix from Matthias Pfaller.
1994-08-16 23:18:20 +00:00
pk
864ea66ef9
Use new a.out flags.
1994-08-13 08:42:33 +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
pk
f5ca392cc8
Propagate warning symbols into shared libraries too.
...
Fix RRS relocation counters.
1994-07-23 08:40:45 +00:00
pk
2b43180d6d
Propagate N_WARNING symbols to `-r' output.
1994-07-21 14:59:01 +00:00
cgd
775b690718
fix typo; from phil
1994-07-04 19:46:37 +00:00
pk
1d1aa8ff38
Some refinement in resolving symbols from shared objects.
1994-06-29 11:18:45 +00:00
pk
1cf6a27eef
error => warnx
1994-06-29 11:15:34 +00:00
pk
6f591a0e01
copyright notice.
1994-06-24 13:34:04 +00:00
pk
278342f622
N_WARNING symbols handling.
1994-06-24 13:33:50 +00:00
pk
af393037b0
N_WARNING symbols handling.
1994-06-24 13:33:40 +00:00
pk
009be1653a
strdup() doesn't grok NULL pointers
1994-06-24 13:31:34 +00:00
pk
3f8aad55bf
Fix false assumption about external (N_EXT) symbols always being
...
in the global symbol table (reported by Geoff Rehmet).
Some misc. reformatting.
1994-06-16 13:41:52 +00:00
pk
d64d286b35
Update man page.
...
Use `__progname'.
1994-06-16 13:38:27 +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
6082493356
-A' implies
-Bstatic'
...
`-d' implies `-dc'
1994-05-25 16:09:40 +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
72b85788e5
function parse() has moved to ld.c, thus avoiding scanf() code to be
...
included in ld.so.
1994-04-22 07:57:54 +00:00
pk
b1392e7c17
Properly round the allocated set vector space; reduces by one the number
...
of ways in which C++ programs will dump core.
1994-04-22 07:55:19 +00:00
pk
c83756b171
Careful when claiming jump slots in the "force alias" case.
...
Taking the address of a function must not cause it to be relocated to
a possibly already allocated jump slot. C++ virtual function tables are
an example of this.
1994-04-15 10:05:39 +00:00
pk
b6d3849691
Don't core dump on shared objects. We need an a.out flag really.
...
Some misc cleanup.
1994-04-10 08:54:30 +00:00
mycroft
31cfe023f3
Remove extra `\n' in message.
1994-04-10 01:52:02 +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
pk
12f28a9ba6
PC relative segment relocations don't need to be looked at at run-time (such
...
relocations occur on the ns32k).
Dump <strings.h> from header files.
1994-04-07 19:41:17 +00:00
pk
158618112b
Terminate comment at a reasonable place.
1994-04-03 18:38:02 +00:00
pk
b120bb4e37
Suck in lseek() prototype.
1994-03-31 14:17:29 +00:00
cgd
95d6a185be
no more MAP_FILE
1994-03-28 02:07:04 +00:00
cgd
abe52e6608
fix section typo; from Luke Mewburn <lm@rmit.edu.au>
1994-03-19 08:02:14 +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
pk
637c349300
Update relocation addend correctly (affects Sparc only).
1994-02-10 20:58:50 +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
mycroft
89583c18ac
Clean up deleted files.
1994-01-28 21:01:29 +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
64075b6a06
Remove reference to `mywrite()'.
1994-01-28 20:53:25 +00:00
pk
ad127b0a0a
Redone from scratch, but maintain SunOS compatibility.
1994-01-28 20:26:52 +00:00
cgd
2f6038ba19
switch a define to move things down a page. seems to work fine.
1994-01-21 18:59:19 +00:00
pk
14c0d3cb5e
Don't barf if builtin directories happen to be non-existent.
1994-01-13 19:35:38 +00:00
pk
954ef13a90
Fill in gdb hook.
1994-01-12 19:19:09 +00:00
pk
1d9da4ac9e
Must look at relocation before classifying local symbols (affects `ld -r -x').
1994-01-06 00:20:47 +00:00
pk
ebba6fe548
Fix bug with `-A' symbol-file handling.
1994-01-05 16:24:53 +00:00
pk
a71feb52bb
Remove some debris, causing "multiple defined" messages to be missed.
1993-12-23 09:37:43 +00:00
pk
0cc050772f
Hooks for for shared C++ objects with static contructors/destructors.
1993-12-20 22:44:35 +00:00
pk
a6aa50489e
Add fflush(stdout) to get output in a intuitive order.
1993-12-16 08:33:36 +00:00
pk
e6ec7ca3da
Whoops, a couple of lines at the wrong place.
1993-12-15 13:26:46 +00:00
pk
37bd8761bb
Fix bug causing spurious "duplicate symbol" error messages (which then
...
weren't printed)
1993-12-10 20:24:48 +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
36a801eebd
Isolate the tricky bits..
1993-12-08 10:33:45 +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
efa4a5a7aa
*** empty log message ***
1993-12-08 10:16:08 +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
mycroft
e977e5242b
Prototype concat() more strongly, and remove bogus definitions of variables
...
in system .h files.
1993-12-07 01:44:23 +00:00
cgd
1bd5116d82
MACHINE_ARCH support
1993-12-05 00:55:26 +00:00
cgd
1d330d5df9
MACHINE_ARCH support
1993-12-05 00:49:23 +00:00
mycroft
a284fbc30e
Remove ${DESTDIR} from BINDIR.
1993-12-02 07:21:19 +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
ee0245d52d
"ld -X -r": debug symbols starting with 'L' didn't make it to the symbol table.
...
Precursor to more massive changes in local symbol handling.
1993-11-14 19:01:40 +00:00
pk
4a64975120
Make `-Z' actually do something different again (old style ZMAGICs).
1993-11-14 16:51:17 +00:00