aymeric
336e1d4aa6
Add hack bits to be able to compile a cross-linker for 8K-pages m68k targets
2001-07-25 12:21:33 +00:00
christos
97184638db
make sure we remove all the global references refering to a shared object
...
when we remove it. Similar to the fix I applied a while ago to ld.elf_so
2001-06-21 21:19:25 +00:00
he
9c2e1d2339
Newly built binaries from netbsd-1-4 sources, including fix for
...
PR#10940.
2001-05-06 20:38:52 +00:00
wiz
7351fa07a1
Rename rtld.1 to ld.aout_so.1, since it only describes ld.so for a.out.
2001-05-06 13:54:04 +00:00
wiz
404935d15a
This man page only documents behaviour on a.out. ld.aout_so uses
...
a colon separated LD_PRELOAD (in contrast to ld.elf_so), so undo last
commit.
2001-05-06 13:49:03 +00:00
wiz
aca9dfff7c
LD_PRELOAD wants a space (not colon) separated list of libraries.
...
misc/11961 by Masao Uebayashi.
2001-05-06 12:41:19 +00:00
tsutsui
0f85b9ab99
Add a uuencoded binary of a.out m68k ld.so.
...
Created using following revisions in 1.5.1_BETA source tree:
ld.h,v 1.2 1998/12/17 23:36:38 pk
malloc.c,v 1.6.8.1 2001/04/06 09:39:23 he
rtld.c,v 1.76.4.2 2001/04/06 09:39:43 he
shlib.c,v 1.18 2000/05/27 06:53:30 matt
shlib.h,v 1.1 1998/12/15 23:16:14 pk
m68k specific files:
md-static-funcs.c,v 1.4 1998/01/05 22:00:38 cgd
md.c,v 1.16 1999/04/12 00:52:44 gwr
md.h,v 1.9 2000/05/28 01:53:09 matt
mdprologue.S,v 1.8 1998/01/05 22:00:40 cgd
2001-04-18 11:48:21 +00:00
itohy
71a78d90a9
Common symbol is not a member of particular shlib have particular shlib,
...
so avoid adding the base address of a shlib to the common symbol.
Fix PR #10940 , hopefully.
2001-03-19 03:54:22 +00:00
pk
872b464997
Deal with an empty hints file.
2000-12-17 21:41:15 +00:00
mycroft
e496c5f86f
Add another debugging message.
2000-11-28 06:01:46 +00:00
mycroft
6025f99517
Make this compile with -DDEBUG.
2000-11-28 06:01:34 +00:00
mycroft
9ee3432bb9
In dlopen(), use the main program's library search path, to match semantics of
...
other systems (and our ELF).
2000-10-29 13:11:38 +00:00
tron
23bf98f535
- Add "dependall" target so that "make build" will really uudecode the
...
"ld.so" binaries for i386 and sparc.
- Remove bogus "${DESTDIR}/" from "FILESDIR".
2000-09-12 16:39:51 +00:00
fvdl
3b36dc8408
Add uuencoded binaries for a.out dynamic loaders on i386 and sparc,
...
who are ELF now. Needed because cross-building them is still a
problem. These loaders will try /emul/aout first, but do not
have the baggage that COMPAT_AOUT has.
2000-09-11 23:23:21 +00:00
matt
d7e8330189
Remove RELOC_SYMBOLICS_THROUGH_JMPSLOT as it's always the case
2000-05-28 01:53:05 +00:00
matt
03e56c691e
Changes to put the COMPAT_AOUT code into ld.aout_so. Search <dir> for <lib>
...
then search /emul/aout/<dir> for <lib>. To make sure we don't get false
postives on ELF libraries we make the .so is a ZMAGIC dynamic library.
2000-05-27 06:53:29 +00:00
kleink
6138ff83d9
Document LD_PRELOAD, fixing PR lib/9663, and note that (and why) neither
...
this nor LD_LIBRARY_PATH are honored when executing set[ug]id.
2000-03-24 20:10:28 +00:00
thorpej
f8b76eb0fd
Const poison dladdr().
2000-02-11 00:07:36 +00:00
itohy
aae2a80e54
Use <link_aout.h> instead of <link.h>
...
for the benefit of building a.out (cross) ld on ELF platforms.
Suggested by Minoura Makoto.
1999-11-29 08:27:07 +00:00
kristerw
b224e66b3a
Spelling
1999-11-18 19:07:48 +00:00
ragge
f4d411a4a4
Make longjmp work with dynamic linking. From Matt Thomas.
...
Fixes PR#7671.
1999-06-28 17:28:56 +00:00
thorpej
3787c5c3d8
MAP_COPY -> MAP_PRIVATE
1999-06-17 21:09:47 +00:00
tv
eb66267d81
Allow rpaths in setuid binaries, noticed by tron. This is already done
...
for ELF systems; make it uniform for a.out.
1999-04-23 19:29:30 +00:00
gwr
f9a07c51b8
Allow reading SunOS/4.1.1 object files. Fixes pr/7363
1999-04-12 00:52:44 +00:00
garbled
f124765044
More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
...
so we shouldn't override it with versions in the manpages. Many more to
come.
1999-03-22 18:25:43 +00:00
thorpej
e278587d62
Move the link.h files for the different shlib formats via repository copy,
...
and rename them to match the executable format. Introduce a new link.h
file which automatically picks the correct header based on the target of
the toolchain.
1999-03-19 22:06:36 +00:00
ragge
f285208477
Need a small prototype. (Where did it go?)
1999-03-13 22:15:25 +00:00
ragge
6831afc23a
unbalanced `#endif', pointed out by Ken Wellsch.
1999-03-13 17:09:51 +00:00
tv
ff6c8ce557
Add ld.so hacks for arm32, and reenable ld.aout_so on arm32. As is well
...
known, XXX this needs a real fix.
1999-02-27 03:34:05 +00:00
christos
e8ae49d4af
Build depending on OBJECT_FMT not a list of MACHINE_ARCH's
1999-02-09 20:27:04 +00:00
fvdl
0810c73a0e
Move the ldentry initialization up so that dl*() from init sections
...
works.
1999-01-28 23:58:49 +00:00
matthias
655a41ea73
Fix from Phil Budne (add missing prototypes) to make ld.so compile again
...
on the pc532.
1999-01-15 07:48:07 +00:00
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
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
pk
f58457ccca
Expand on shared object's `.init' functions a bit, and mention
...
`/usr/lib/c++rt.o'.
1997-11-13 22:25:23 +00:00
lukem
da49bfcda7
use CPPFLAGS instead of CFLAGS
1997-10-25 10:10:19 +00:00
mark
919c9148f3
Add support for PIC code.
...
Add support for ld.so
1997-10-17 21:25:42 +00:00
christos
776130f509
Handle relocation of misaligned symbols. Handle all three cases by the same
...
macro for clarity.
1997-10-14 17:17:52 +00:00
christos
df79fb912d
Add the necessary -I flag to pick up the libc/include/extern.h
1997-07-14 02:56:54 +00:00
matthias
a57d8745e7
* Truncate the cinv table. It was twice as long as necessary as a result
...
of an earlier version of th code.
* Really align the cinv table modulo 0x200. Thank's to Ian for telling me
where I goofed up.
1997-07-11 23:39:56 +00:00
matthias
df05f3a8b1
* Flush the icache from user mode. The original code and the idea came from
...
Ian Dall. I just did some slight optimizations.
1997-07-09 19:32:51 +00:00
pk
72023de51f
Do not free dlopen'ed map structures twice.
...
Plug memory leak when opening the same object mor than once.
1997-06-30 22:10:06 +00:00
pk
7a27a9dd43
Fix typo in free_link_map(); noticed by Mike Grupenhoff.
1997-06-30 20:49:40 +00:00
pk
c682966345
Patch from Chris Demetriou to unmap an object on last dlclose(), which
...
had not be implemented. It would cause an "adress space leak" and, if
the same object would opened multiple time, unwanted relocations.
Re: Comment from Chris:
"The a.out ld.so has some problems with dlclose. It doesn't properly
unmap objects which are dlclosed. That's a known problem (though a
serious one for programs which dlopen then dlclose lots of objects,
because it causes address space exhaustion), but it has a
previously-unknown side-effect.
If a single object is dlopened, then dlclosed, then dlopened _again_,
the relocations will be processed again. That causes obvious
problems."
1997-06-26 20:52:06 +00:00
mrg
586ed80911
install all man pages.
1997-06-23 13:25:41 +00:00
pk
4dd59ab4df
Fix typos (PR#3761).
1997-06-20 20:38:08 +00:00
mikel
0bf17c4d39
fix typo; from Saitoh Masanobu in PR misc/3696.
...
also comma-separate and reorder xrefs.
1997-06-03 04:24:25 +00:00