Lines Matching defs:elf
39 elf_end(Elf * elf)
46 if (elf == 0)
49 ELFWLOCK(elf)
50 if (--elf->ed_activ != 0) {
51 rc = elf->ed_activ;
52 ELFUNLOCK(elf)
57 while (elf->ed_activ == 0) {
58 for (s = elf->ed_hdscn; s != 0; s = s->s_next) {
93 for (l = elf->ed_memlist; l; l = (Memlist *)trail) {
101 if (elf->ed_myflags & EDF_EHALLOC)
102 free(elf->ed_ehdr);
103 if (elf->ed_myflags & EDF_PHALLOC)
104 free(elf->ed_phdr);
105 if (elf->ed_myflags & EDF_SHALLOC)
106 free(elf->ed_shdr);
107 if (elf->ed_myflags & EDF_RAWALLOC)
108 free(elf->ed_raw);
109 if (elf->ed_myflags & EDF_ASALLOC)
110 free(elf->ed_arsym);
111 if (elf->ed_myflags & EDF_ASTRALLOC)
112 free(elf->ed_arstr);
120 if (elf->ed_parent == 0) {
121 if (elf->ed_vm != 0)
122 free(elf->ed_vm);
123 else if ((elf->ed_myflags & EDF_MEMORY) == 0)
124 _elf_unmap(elf->ed_image, elf->ed_imagesz);
126 trail = (Elf_Void *)elf;
127 elf = elf->ed_parent;
130 if (elf == 0)
136 ELFWLOCK(elf)
137 --elf->ed_activ;
140 if (elf) {
141 ELFUNLOCK(elf)
151 _elf_unmap(elf->ed_image, elf->ed_imagesz);
152 ELFUNLOCK(elf)