christos
fc18ea2931
avoid nested extern
2001-02-04 22:11:12 +00:00
pk
38fd9b8f99
Avoid the use of a `switch(){}' statement before _rtld_init() is called.
...
`switch()' code may be translated using a jump table approach which causes
it to reference the equivalent of a global variable, something that must
be avoided before _rtld_init() has run.
2001-02-03 13:25:00 +00:00
christos
5d6793c06c
back out previous commit; I found a better way of handling the missing
...
dependencies.
2001-01-14 09:39:26 +00:00
christos
61944ce838
Don't use ${OBJS} in the dependency line, cause it is not defined yet.
...
Also add a .NOTMAIN for good measure.
2001-01-14 09:16:47 +00:00
scw
b37a02f8c1
Define VARPSZ so dynamic binaries work on both 4K and 8K page size machines.
2000-12-21 09:12:54 +00:00
mycroft
48b362e14c
More cruft.
2000-12-15 06:49:19 +00:00
mycroft
a19119777a
Clean up cruft in here.
2000-12-15 06:46:22 +00:00
mycroft
6ec13b9d73
Return an error when there are too many segments rather than abort()ing.
...
This way `ldd /usr/libexec/ld.elf_so' doesn't core dump.
2000-11-26 05:22:15 +00:00
mycroft
0581ae5bad
Make ldd(1) build again.
2000-11-10 23:53:04 +00:00
mycroft
2d376bed2b
When dlopen()ing with RTLD_GLOBAL, also make dependent libraries RTLD_GLOBAL.
2000-11-10 21:31:30 +00:00
simonb
ae2c9c22f1
Fix linked-list botch with sysctl-based library selection that meant
...
only the last line was used. Allow more than one white space character
between fields.
Reviewed by Christos Zoulas.
2000-11-10 18:19:06 +00:00
simonb
6e63b39fc6
Only need to include <sys/sysctl.h> once.
2000-11-09 23:14:21 +00:00
dan
d173359000
format warning fixes from he, after testing on 64-bit elf (alpha)
2000-10-11 20:46:07 +00:00
is
48052d04a3
Format string cleanups by sommerfeld.
2000-10-10 19:54:37 +00:00
eeh
45de780533
Wrong register in machine code description.
2000-09-16 14:04:30 +00:00
scottb
b5de616825
copy the real object filename to the rtld object path so that the
...
Dl_info structure can be properly filled by dladdr().
2000-08-28 04:15:54 +00:00
matt
1ed7963458
Simplify some stuff.
2000-08-07 01:47:04 +00:00
kleink
fb21fd7a91
Adjust a comment after the Great Renaming.
2000-07-27 10:44:39 +00:00
mycroft
94581370f5
The ELF ABI declares that argc must fill an `argument slot'. Make it so.
...
For __sparc_v9__ only, do a hack to make executables work temporarily before
and after the kernel is switched.
2000-07-26 15:40:07 +00:00
mycroft
43cfeb27a9
Catch up with type changes. Also:
...
* Apply DT_PLTRELSZ to (one of) pltrel or pltrela *after* we've finished
parsing the headers, so we know which one.
* Fix sparc64 bogons. (It works now!)
2000-07-26 02:07:34 +00:00
thorpej
a8248dcc27
Make it build on non-VARPSZ again.
2000-07-19 15:01:16 +00:00
eeh
55c1b7fb0d
Fix some issues with SPARC V9 ELF binaries.
2000-07-18 22:33:55 +00:00
matt
824a084272
More VAX ELF changes.
2000-07-17 02:55:52 +00:00
matt
63465d3193
No need for RELOCATE_SELF since the VAX does real PIC. Rewrite the bind
...
routine to deal with JMP .vs. CALLx differences.
2000-07-14 22:03:02 +00:00
matt
9118b9fe90
Split DEBUG into two lines to make it easier to enable each separately.
2000-07-14 22:01:09 +00:00
matt
72ed915502
Update to reflect VAX ELF reality.
2000-07-14 22:00:33 +00:00
matt
cc5d6b2a4d
Initialize ld.elf_so's textsize.
2000-07-14 21:59:58 +00:00
eeh
3cf5c2adbf
Added support for the SPARC v9 ABI.
2000-07-13 23:14:17 +00:00
christos
910cd9b309
fix non-portable bit-fields
2000-07-06 03:16:51 +00:00
matt
23bca583f4
shut gcc up about a bogus possibly used before initialized.
2000-07-03 03:33:52 +00:00
matt
c72bbb2c51
Treat short and byte print formats as and cast to the right size.
2000-07-03 03:32:57 +00:00
matt
86d15d820b
Update to current <machine/asm.h>
2000-07-03 03:31:47 +00:00
matt
5aa9ca0144
If OBJECT_FMT is ELF and MACHINE_ARCH = vax, build ld.elf_so
2000-07-03 03:30:52 +00:00
mrg
ad91bba6a6
we now need <uvm/uvm_param.h>
2000-06-26 15:37:26 +00:00
christos
baeb94e0b1
Also set __mainprog_obj so .ini sections can call dlopen()
2000-06-16 19:51:05 +00:00
cgd
db755e7c76
sweep of my licenses (userland files w/o only my copyright) for
...
consistency. (no functional changes)
2000-06-14 17:24:02 +00:00
cgd
d220ca5ba3
fix up NetBSD RCS Ids to match the standard, and the leading comment as
...
to match as well. No functional changes.
2000-06-14 06:48:47 +00:00
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