rtld: fix processing of preloaded z_initfirst objects
After we found some preloaded z_initfirst object, we must process till
the end of the preload list still, not stopping on the first found
object.
Reported by: des
Reviewed by: des, markj, siderop1@netapp.com
Fixes: 78aaab9f1c
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56466
This commit is contained in:
@@ -2654,6 +2654,11 @@ initlist_add_objects(Obj_Entry *obj, Obj_Entry *tail, Objlist *list,
|
||||
initlist_add_neededs(obj->needed_aux_filtees,
|
||||
NULL, iflist);
|
||||
objlist_push_tail(iflist, obj);
|
||||
|
||||
/* Recursively process the successor objects. */
|
||||
nobj = globallist_next(obj);
|
||||
if (nobj != NULL && obj != tail)
|
||||
initlist_add_objects(nobj, tail, list, iflist);
|
||||
} else {
|
||||
if (obj->init_scanned)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user