Commit Graph

151 Commits

Author SHA1 Message Date
jdolecek
06d16ede1e slighly move the assert() added in last commit, so that it's
actually useful
2000-06-03 06:51:57 +00:00
jdolecek
2a05365bbb _rtld_unref_dag(): needed->obj might be null if the unreffed object has
some unsatisfied references (most often when compiled without necessary
	-Wl,-R), so check for that instead of causing null-dereference;
	this way the code has a chance to cleanup after itself and report
	the error to caller

Thanks to Jason Thorpe for helping fix this!
2000-06-02 22:52:28 +00:00
matt
0189702cee minor fix now that i've defined the plt0 entry. 2000-05-22 19:17:04 +00:00
bjh21
6c97e2bd78 Initial commit of arm26 port 2000-05-09 21:55:44 +00:00
kleink
e425e0a706 PowerPC: support ADDR16_LO, ADDR16_HI and ADDR16_HA relocations. 2000-05-01 11:41:08 +00:00
erh
a497b0d8ab Cause ld.elf_so to find the symbols for __progname and environ and set them. If we wait until crt0 gets around to doing it it's too late for any library init functions. 2000-04-15 05:41:46 +00:00
christos
46d52e1ec5 re-indent sanely _rtld_dlsym() [no functional change] 2000-04-15 05:27:49 +00:00
soren
0b24ff5b31 Also print a newline after the error in the xwarnx case. 2000-04-02 23:04:32 +00:00
mycroft
3d5dc334de Don't try to get libc_pic from the libc compile directory. If we're doing a
build, libc has already been installed.
2000-03-26 21:55:55 +00:00
chs
871e0c1533 switch back to using a file mapping for the initial mapping of a new object.
this allows the kernel to use PMAP_PREFER() to give us better alignment on
platforms that care.
2000-02-13 04:28:09 +00:00
scottb
076e309d3e change first argument of dladdr to const. 2000-02-08 16:22:59 +00:00
scottb
c0cf420b69 add hooks to support the dladdr function. 2000-02-07 21:40:40 +00:00
kleink
65b8f3b2eb Change _rtld_dlclose() to unload the object via _rtld_unload_object() rather
than by itself.  Besides being duplicated code the open-coded version
also did not take care of cleaning up after the object's DAG(!).
Fixes PR bin/8905.
2000-02-07 19:02:49 +00:00
christos
3bc3e6f774 use xwarnx instead of warnx 2000-01-15 01:03:45 +00:00
christos
3856850e36 don't stutter when printing error messages. 1999-12-27 15:36:36 +00:00
christos
b360d70cb7 PR/9031: Scott Ellis: Ignore empty sysctl directive lines. 1999-12-20 02:43:58 +00:00
christos
4374b52ab0 make a debugging formatting statement work portably 1999-12-15 20:13:31 +00:00
christos
f0e72d450d Do what the people want. Support full sysctl names. 1999-12-15 05:22:37 +00:00
christos
75bdf8c379 indent properly a debugging statement and fix grammar. 1999-12-13 10:47:38 +00:00
christos
aa594cf123 For the benefit of ldd and debuggers, append more Needed_Entry elements
if the library transformation attached more than one element.
1999-12-13 09:22:52 +00:00
christos
ea816c78b2 Enable parsing and mapping of hardware dependent libraries in ld.so.conf
To be documented in the man page.
1999-12-13 09:09:34 +00:00
itohy
69c745c3d5 Use "addend" for R_68K_GOT32, R_68K_PC32, and R_68K_32 relocations.
I'm not sure whether R_68K_GOT32 relocations appear in shared
objects, though....

Example:
	lea	%pc@(got+0x1234@GOTPC),%a0	| R_68K_GOT32
	bsrl	foo+0x5678			| R_68K_PC32
	lea	bar+0x9abc,%a1			| R_68K_32
1999-12-08 08:47:10 +00:00
fredb
d37aed91fb More CL* fallout. 1999-12-05 18:36:25 +00:00
thorpej
3bf43967ff Name consistencty nit: curmark -> _rtld_curmark 1999-11-10 18:48:19 +00:00
thorpej
70e2953dac Some slight cosmetic cleanup. 1999-11-10 18:34:49 +00:00
mycroft
bbe4b07983 Make this more likely to compile with ld.elf_so changes. (But this is
untested.)
1999-11-07 08:08:15 +00:00
mycroft
4bbb8dc9fb Make this more likely to compile with ld.elf_so changes. (But this is
untested.)
1999-11-07 08:01:51 +00:00
mycroft
7ea23adf34 More fallout. 1999-11-07 06:48:21 +00:00
mycroft
4b9f2ff9e0 Fix fallout from MD ld.elf_so changes. 1999-11-07 06:41:49 +00:00
mycroft
305c949781 Changes from msaitoh to fix local/global symbol confusion, and to fix weak
symbol support -- updated by me for elf.h changes.
1999-11-07 00:21:12 +00:00
erh
6752f572d8 Remove ELFNAME defines since they are defined in sys/exec_elf.h 1999-11-04 02:00:17 +00:00
simonb
d10f49f606 More SVR4-style ELF cleanups. 1999-10-28 23:58:21 +00:00
tsubai
64ac9d7bdb Revert to rev. 1.4. This file didn't need to change. 1999-10-28 09:50:07 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
hannken
222397ee58 Undo last change. While these macros are defined in exec_elf.h, they are
enclosed by `#ifdef _KERNEL'.
1999-10-22 10:39:16 +00:00
hannken
db05621dec Undo last change. While these macros are defined in exec_elf.h, they are
enclosed by `#ifdef _KERNEL'.
1999-10-22 10:30:08 +00:00
erh
b11baa5513 Remove ELFNAME macros which are already defines in exec_elf.h 1999-10-21 21:15:04 +00:00
itohy
6fa7d72ce5 Make __SVR4_ABI__ optional. 1999-10-18 03:26:53 +00:00
kleink
83265a56f2 Bump text alignments to 4 bytes. 1999-08-23 09:13:25 +00:00
matt
741f18b695 Initial VAX ELF32 support (mostly untested). It's checked primarily for
testing and archival for now.  I don't expect anyone to work with it
since the binutils and gas changes are still pending.  But you got to
crawl before you walk.
1999-08-21 19:26:18 +00:00
christos
46cd6f2aad reflect reality 1999-08-20 21:12:47 +00:00
christos
2f37f42366 fix typo 1999-08-20 21:10:27 +00:00
christos
fb292d7f02 enable /etc/ld.so.conf processing
[reviewed by thorpej]
1999-08-19 23:42:15 +00:00
thorpej
5c5817ee4a When allocating the entire address space of an object, map an anonymous
region first (using the data/bss protection) covering it, then overlay
the text and data regions at the appropriate offsets within the region,
and then unmap any gap between the text and data.

The previous method of maping the entire address space with the actual
file object itself is incorrect, as it may extend past the end of the
file if the section alignment is large enough.

This bug was the source of the libposix failure on the SPARC and another
similar failure (with libc!) on the Alpha (failure was accompanied by
a "uvn_io: size check fired" message on the console).
1999-08-06 22:33:49 +00:00
kleink
1cc052ce00 Rearrange the shared library search path precedences to LD_LIBRARY_PATH >
runpath > built-in default; this is the behaviour of the SVR4 shared loader,
and gives users the opportunity to override the runpath.  (Addresses a report
on current-users by John Kohl.)
1999-08-01 19:47:07 +00:00
thorpej
4d256c199f When dlopen()'ing a shared object without an absolute pathname, search
for it in the rpath of the main program as well as the path specified
in LD_LIBRARY_PATH.
1999-07-22 00:18:19 +00:00
thorpej
206408b533 Protect certain definitions from view by crt0, by wrapping them in
#ifdef _RTLD_SOURCE.

Should fix the "variable page size" build error of crt0 on the SPARC.
1999-07-05 17:55:34 +00:00
christos
00e5621847 We need to compile with -DVARPSZ, because the sparc has a variable page
size depending on arch. Make it an error to compile without it. This
caused -lposix linked programs to fail.
1999-06-22 16:28:22 +00:00
thorpej
3787c5c3d8 MAP_COPY -> MAP_PRIVATE 1999-06-17 21:09:47 +00:00
kleink
8788923e6a Turn bool, true and false into an enumeration and enumeration constants to
avoid integer promotion warnings.
1999-06-16 15:41:24 +00:00