summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>2002-09-23 23:56:46 +0000
committermycroft <mycroft@NetBSD.org>2002-09-23 23:56:46 +0000
commit86103e2f0e5a78e147746c5e783109a6cbc49482 (patch)
tree42b6f449b4db2e3afd4ad43ad302f70cc267e333 /sys/dev/raidframe
parentf0efca630ab198c29a1b32717803b01cfc7d13a3 (diff)
Several small changes that shave 7-8% off the simple-exec-loop test:
* Rename _rtld_find_library() to _rtld_load_library(). It now calls _rtld_load_object() if necessary to actually load the object, rather than having the caller do it. To do this, it also takes the `mode' argument that gets passed to _rtld_load_object(). * On a related note, remove _rtld_check_library(), and instead call _rtld_load_object() to instead try actually loading the object. We save two extra namei's and a bunch of redundant work (almost literally the same code) this way. * In _rtld_map_object(), mmap(2) the first page read-only, rather than read(2)ing it. * In _rtld_symlook_obj(), compare the *second* character of the symbol name before calling strcmp(). (This first character is too frequently `_', and turns out to not be helpful, in libc.) * Also in _rtld_symlook_obj(), remove the bogus STT_FUNC special case -- this also allows removing the `in_plt' argument to _rtld_symlook_list() and _rtld_symlook_obj(). Also: * In _rtld_obj_from_addr(), rather than trying to look up `_end' in the each object, instead use obj->mapsize as the upper bound.
Diffstat (limited to 'sys/dev/raidframe')
0 files changed, 0 insertions, 0 deletions