sod
struct sod *som_sod; /* Sod responsible for this map */
fmt = object->sod.sod_library ? fmt1 : fmt2;
_dl_dprintf(fd, "%d", object->sod.sod_major);
_dl_dprintf(fd, "%d", object->sod.sod_minor);
_dl_dprintf(fd, "%s", object->sod.sod_name);
_dl_build_sod(const char *name, struct sod *sodp)
_dl_set_sod(object->load_name, &object->sod);
_dl_set_sod(object->load_name, &object->sod);
_dl_cmp_sod(struct sod *sodp, const struct sod *lsod)
_dl_find_shlib(struct sod *sodp, char **searchpath, int nohints)
struct sod tsod, bsod; /* transient and best sod */
_dl_lookup_object(const char *req_name, struct sod *req_sod)
if (_dl_cmp_sod(req_sod, &object->sod) == 0)
_dl_find_loaded_shlib(const char *req_name, struct sod req_sod, int flags)
struct sod sod, req_sod;
_dl_build_sod(lname, &sod);
req_sod = sod;
_dl_build_sod(libname, &sod);
req_sod = sod;
_dl_free((char *)sod.sod_name);
if (req_sod.sod_minor < sod.sod_minor)
sod.sod_name, sod.sod_major,
req_sod.sod_minor, sod.sod_minor);
_dl_free((char *)sod.sod_name);
_dl_match_file(struct sod *sodp, const char *name, int namelen)
struct sod lsod;
_dl_set_sod(exe_obj->load_name, &exe_obj->sod);
_dl_set_sod(dyn_obj->load_name, &dyn_obj->sod);
_dl_free((char *)head->sod.sod_name);
struct sod sod;
int _dl_match_file(struct sod *sodp, const char *name, int namelen);
char *_dl_find_shlib(struct sod *sodp, char **searchpath, int nohints);
_dl_set_sod(const char *path, struct sod *sod)
_dl_build_sod(++fname, sod);
_dl_build_sod(path, sod);
_dl_build_sod(const char *name, struct sod *sodp)
void _dl_build_sod(const char *name, struct sod *sodp);
void _dl_set_sod(const char *, struct sod *);