Lines Matching refs:elf
64 set_address (Elf *elf, size_t offset) in set_address() argument
66 if (elf->kind == ELF_K_AR) in set_address()
68 Elf *child = elf->state.ar.children; in set_address()
74 child->map_address = elf->map_address; in set_address()
89 __libelf_readall (elf) in __libelf_readall() argument
90 Elf *elf; in __libelf_readall()
93 rwlock_wrlock (elf->lock);
95 if (elf->map_address == NULL && unlikely (elf->fildes == -1))
98 rwlock_unlock (elf->lock);
103 if (elf->map_address == NULL)
109 libelf_acquire_all (elf);
112 mem = (char *) malloc (elf->maximum_size);
116 if (unlikely ((size_t) pread_retry (elf->fildes, mem,
117 elf->maximum_size,
118 elf->start_offset)
119 != elf->maximum_size))
128 elf->map_address = mem;
131 elf->flags |= ELF_F_MALLOCED;
135 set_address (elf, elf->start_offset);
138 if (elf->kind == ELF_K_AR)
139 elf->state.ar.offset -= elf->start_offset;
140 elf->start_offset = 0;
147 libelf_release_all (elf);
150 rwlock_unlock (elf->lock);
152 return (char *) elf->map_address;