I accidentally added a crash. Namely exactly here: > +static void load_deps_runtime(struct dso *p) > +{ > + size_t i, ndeps=0, j=0; > + struct dso ***deps = &p->deps, **tmp, *dep; > + for (; p; p=(*deps)[j++]) { *deps might be null pointer, which this expression is dereferencing. Patch is attached. Ciao, Markus