Commit Graph

1627 Commits

Author SHA1 Message Date
mycroft a95d62a38e In _rtld_bind_mips(), if the symbol is undefined, die. 2002-09-13 20:32:24 +00:00
mycroft 712b838f43 Kill the extra newline in assert messages. 2002-09-13 19:50:00 +00:00
mycroft cc2b1e9844 Add an explanatory comment. 2002-09-13 19:27:19 +00:00
mycroft e3db70741f Turn DEBUG back on by default. It doesn't take much space. 2002-09-13 18:28:58 +00:00
mycroft 60330f4a69 The sense of the SHN_ABS test has always been reversed. Fortunately nobody
ever tried to reference stuff like _DYNAMIC_LINK and _gp_disp in C code...
2002-09-13 17:36:00 +00:00
mycroft 8f7fa0cfde Put back the lazy binding. For some bizarre reason, the linker occasionally
does not create a PLT entry for a symbol, so we test st_value!=0 to see
whether we can do a PLT fixup.
2002-09-13 17:07:12 +00:00
mycroft a8dd8878cf Er, turn off lazy binding for the moment. It doesn't seem to be fully working. 2002-09-13 16:54:14 +00:00
mycroft c1cf8538ec Simplify the GOT relocation code somewhat. 2002-09-13 16:31:28 +00:00
mycroft e8b2fe1d2a Actually do lazy binding on this platform. 2002-09-13 16:03:20 +00:00
thorpej 7c96dd1581 Rename man/config.{c,h} to man/manconf.{c,h}, so we don't have to
worry about problems including "config.h" when building as a host
tool.
2002-09-13 15:56:37 +00:00
mycroft 89a39bb54e The textrel special case is only needed for MIPS (due to a bug in BFD). 2002-09-13 15:27:30 +00:00
mycroft 7a962f974a Kill the sparc64 argc conversion hack. 2002-09-13 14:23:07 +00:00
mycroft a18c524897 Figure out obj->pltrel(a) after the dynamic section is parsed, so the relative
order of DT_PLTREL and DT_JMPREL is irrelevant.  Removes the need for yet
another weird #ifdef.
Also, be slightly more careful with the rel(a)lim trimming.
2002-09-13 13:28:43 +00:00
mycroft c74fdd7069 Use the addend on GLOB_DAT relocs (same as ABS32). 2002-09-13 05:45:46 +00:00
mycroft c65330320a Do not use the implicit addend on REFQUAD relocs (same as GLOB_DAT). 2002-09-13 05:45:13 +00:00
mycroft daf8118731 Remove an old comment. 2002-09-13 04:09:49 +00:00
mycroft 2f59687514 Almost all of the items in here are done. 2002-09-13 04:05:00 +00:00
mycroft 777a2b8bb0 If we match a symbol name, but it's undefined, do not continue searching the
hash chain.
2002-09-13 03:40:40 +00:00
mycroft bbe45a0623 Remove a dumb #ifdef -- if VARPSZ is not defined on sparc, the build will
bomb anyway.
2002-09-13 03:22:08 +00:00
mycroft 4de09f873b Nuke an unneeded hack for the Alpha. 2002-09-13 03:17:21 +00:00
mycroft 807a6ace45 Nuke two frivolous assert()s. 2002-09-13 03:12:40 +00:00
mycroft 4b55da479c _rtld_bind() is not used on MIPS. Should probably move it to MD code. 2002-09-13 03:09:38 +00:00
itojun a05a73b5b6 revert previous. wtmp{,x} entries need not be \0-terminated, so
strncpy is more proper.
2002-09-13 02:58:54 +00:00
mycroft f64e457cee Remove one more `dodebug' argument. 2002-09-12 23:11:37 +00:00
mycroft a3b892d178 Nuke -DRTLD_RELOCATE_SELF and `dodebug' from orbit. 2002-09-12 22:56:28 +00:00
mycroft f13bdd9850 Add some consts. 2002-09-12 21:06:38 +00:00
mycroft 5ad776fbd2 Move another declaration that doesn't belong in MI source. 2002-09-12 20:27:34 +00:00
mycroft de4565ee93 Prototype different functions. 2002-09-12 20:24:03 +00:00
mycroft 547bc13b97 _rtld_bind_start() is not used in MI code, so declare it in the MD code. 2002-09-12 20:20:58 +00:00
mycroft bf04efbfda ld.elf_so has no textrels on arm, i386 or vax -- and shouldn't on any platform,
but that's beside the point.
2002-09-12 19:43:03 +00:00
mycroft 6530c89689 Slight tweak. 2002-09-12 18:43:17 +00:00
mycroft 326f270bfb The GOT is Elf_Addr[], not Elf_Word[]... 2002-09-12 18:36:43 +00:00
mycroft 6f0bda739f This ld script is now unnecessary. 2002-09-12 18:33:39 +00:00
mycroft 1165ce6f38 Clean up a little. 2002-09-12 18:28:53 +00:00
mycroft 2346aaad04 Move GOT relocation code from _rtld_setup_pltgot() to
_rtld_relocate_nonplt_objects().  Add GOT self-relocation in
_rtld_relocate_nonplt_self().
MIPS ld.elf_so can now relocate itself.
2002-09-12 18:21:18 +00:00
mycroft 2b2534febf Add a `relocbase' argument to _rtld() and _rtld_init(), which is passed in
from the glue code in _rtld_start().  This is used to set objself.relocbase,
rather than assuming that it's the same as objself.mapbase (or 0 on MIPS).
Now -- with a bug fix to the kernel -- ld.elf_so can be linked at any VMA.
2002-09-12 17:45:41 +00:00
mycroft d04429c6a7 Figure out the relocation offset and pass it to _rtld(). 2002-09-12 17:43:30 +00:00
mycroft ebf50cdfbc Update comments. 2002-09-12 17:18:37 +00:00
mycroft ac81e3266b Snapshot of work to make MIPS ld.elf_so relocatable. 2002-09-12 17:08:32 +00:00
mycroft 5ee0e5e1c4 Pass the calculated relocation offset down to _rtld(). 2002-09-12 17:07:25 +00:00
wiz c4de963fb8 Bump date for -8. 2002-09-12 10:06:51 +00:00
wiz d5d10ab7d3 Sort options. 2002-09-12 09:34:24 +00:00
itojun 57afbee27d use strl*, not strn*. 2002-09-12 08:55:31 +00:00
lukem 38a05c7450 Use LOGIN_NAME_MAX instead of `10' for the size of the curname[] buffer.
Allows /etc/ftpchroot to work correctly for usernames > 9 characters.

Noted by Max Khon in the freebsd-stable mailing list, via Thomas Vogt in
private email.
2002-09-12 06:40:43 +00:00
kim 968e6be5e6 Replace -i with -8, which enables new 8-bit pass-through on the client. 2002-09-12 01:40:54 +00:00
bjh21 3cc5ae01bc Correct somewhere where, in rev 1.3, two new sentences had been dropped
into the middle of an existing sentence, and put them after it instead.
2002-09-11 23:11:41 +00:00
mycroft 1da1ca49f2 Do the _rtld_relocate_nonplt_self() thing here, and nuke the ld script. 2002-09-11 22:28:32 +00:00
mycroft fb69b8bec4 Implement _rtld_relocate_nonplt_self() here. 2002-09-11 21:14:08 +00:00
mycroft a57ae642a3 We don't use _GLOBAL_OFFSET_TABLE_ any more, so don't .global it. 2002-09-11 20:56:09 +00:00
mycroft fa0b5c37b2 This is a gratuitous null commit to force rtld.o to be rebuilt. 2002-09-11 20:48:21 +00:00