Do not try to adjust stacks if dlopen_object is called too early.

This is a follow-up to r233231, which fixed similar issue with
object initialization code.

Reviewed by:	kib
MFC after:	1 week (with 233231)
This commit is contained in:
kan 2012-04-02 11:50:14 +00:00
parent 74a66a0c1f
commit abab6bc303

View File

@ -2585,7 +2585,10 @@ dlopen_object(const char *name, int fd, Obj_Entry *refobj, int lo_flags,
name);
GDB_STATE(RT_CONSISTENT,obj ? &obj->linkmap : NULL);
map_stacks_exec(&lockstate);
if (!(lo_flags & RTLD_LO_EARLY)) {
map_stacks_exec(&lockstate);
}
if (initlist_objects_ifunc(&initlist, (mode & RTLD_MODEMASK) == RTLD_NOW,
(lo_flags & RTLD_LO_EARLY) ? SYMLOOK_EARLY : 0,