Lines Matching refs:deps
835 struct dso **deps = use_deps ? dso->deps : 0;
836 for (; dso; dso=use_deps ? *deps++ : dso->syms_next) {
873 struct dso **deps = dso->deps;
874 for (; dso; dso=*deps++) {
2190 if (p->deps) return;
2197 /* Use builtin buffer for apps with no external deps, to
2199 p->deps = (p==head && cnt<2) ? builtin_deps :
2200 calloc(cnt+1, sizeof *p->deps);
2201 if (!p->deps) {
2207 p->deps[cnt++] = q;
2218 p->deps[cnt++] = dep;
2220 p->deps[cnt] = 0;
2223 add_dso_parent(p->deps[i], p);
2229 if (p->deps) return;
2240 /* Can't use realloc if the original p->deps was allocated at
2242 * the builtin non-allocated trivial main program deps array. */
2244 || p->deps == builtin_deps;
2249 /* Mark existing (direct) deps so they won't be duplicated. */
2250 for (i=0; p->deps[i]; i++)
2251 p->deps[i]->mark = 1;
2257 for (i=0; p->deps[i]; i++) {
2258 struct dso *dep = p->deps[i];
2260 if (!dep->deps[j]->mark) cnt++;
2263 realloc(p->deps, sizeof(*tmp) * (ndeps_all+cnt+1));
2270 memcpy(tmp, p->deps, sizeof(*tmp) * (ndeps_all+1));
2273 p->deps = tmp;
2275 if (dep->deps[j]->mark) continue;
2276 dep->deps[j]->mark = 1;
2277 p->deps[ndeps_all++] = dep->deps[j];
2279 p->deps[ndeps_all] = 0;
2588 /* Bound on queue size is the total number of indirect deps.
2589 * If a bfs deps list was built, we can use it. Otherwise,
2593 for (cnt=0; dso->deps[cnt]; cnt++)
2594 dso->deps[cnt]->mark = 0;
2595 cnt++; /* self, not included in deps */
2622 /* Then perform pseudo-DFS sort, but ignoring circular deps. */
2626 if (p->deps[p->next_dep]->mark) {
2630 p = p->deps[p->next_dep];
3040 ldso.deps = (struct dso **)no_deps;
3099 vdso.deps = (struct dso **)no_deps;
3237 for (int i = 0; p->deps[i]; i++) {
3238 p->deps[i]->nr_dlopen++;
3241 p->deps[i]->name, p->name, p->deps[i]->nr_dlopen);
3244 p->deps[i]->flags |= DSO_FLAGS_NODELETE;
3391 if (p->deps) {
3393 remove_dso_parent(p->deps[i], p);
3396 free(p->deps);
3499 for (i=0; p->deps[i]; i++)
3500 if (!p->deps[i]->relocated)
3501 prepare_lazy(p->deps[i]);
3509 for (i=0; p->deps[i]; i++) {
3510 p->deps[i]->is_reloc_head_so_dep = true;
3511 add_syms(p->deps[i]);
3521 for (size_t i=0; reloc_head_so->deps[i]; i++) {
3522 reloc_head_so->deps[i]->is_reloc_head_so_dep = false;
3978 if (p->deps != no_deps)
3979 free(p->deps);
4008 for (int i = 0; p->deps[i]; i++) {
4009 if (p->deps[i]->nr_dlopen > 0) {
4010 p->deps[i]->nr_dlopen--;
4013 p->deps[i]->name, p->name);
4044 remove_dso_parent(cur->deps[i], cur);
4045 if ((cur->deps[i]->parents_count == 0) && (so_can_unload(cur->deps[i], UNLOAD_ALL_CHECK) == 1)) {
4048 if (ef->dso == cur->deps[i]) {
4058 edeps->dso = cur->deps[i];
4068 for (size_t deps_num = 0; p->deps[deps_num]; deps_num++) {
4071 if (ef->dso == p->deps[deps_num]) {
4079 p->deps[deps_num]->name, p->name, p->deps[deps_num]->nr_dlopen,
4080 p->deps[deps_num]->by_dlopen, p->deps[deps_num]->parents_count);
5443 if (p->deps) {
5458 /* Use builtin buffer for apps with no external deps, to
5460 p->deps = (p == head && cnt < MIN_DEPS_COUNT) ? builtin_deps :
5461 calloc(cnt + 1, sizeof *p->deps);
5462 if (!p->deps) {
5472 p->deps[cnt++] = q;
5504 p->deps[cnt++] = task->p;
5512 p->deps[cnt] = 0;
5515 add_dso_parent(p->deps[i], p);
5548 if (p->deps) {