Lines Matching refs:offset

104 static int ef_obj_read(elf_file_t ef, Elf_Off offset, size_t len, void* dest);
105 static int ef_obj_read_entry(elf_file_t ef, Elf_Off offset, size_t len,
107 static int ef_obj_seg_read(elf_file_t ef, Elf_Off offset, size_t len,
109 static int ef_obj_seg_read_rel(elf_file_t ef, Elf_Off offset, size_t len,
111 static int ef_obj_seg_read_string(elf_file_t ef, Elf_Off offset, size_t len,
113 static int ef_obj_seg_read_entry(elf_file_t ef, Elf_Off offset, size_t len,
115 static int ef_obj_seg_read_entry_rel(elf_file_t ef, Elf_Off offset, size_t len,
195 ef_obj_read(elf_file_t ef, Elf_Off offset, size_t len, void *dest)
199 if (offset != (Elf_Off)-1) {
200 if (lseek(ef->ef_fd, offset, SEEK_SET) == -1)
212 ef_obj_read_entry(elf_file_t ef, Elf_Off offset, size_t len, void **ptr)
219 error = ef_obj_read(ef, offset, len, *ptr);
226 ef_obj_seg_read(elf_file_t ef, Elf_Off offset, size_t len, void *dest)
229 if (offset + len > ef->size) {
231 warnx("ef_obj_seg_read(%s): bad offset/len (%lx:%ld)",
232 ef->ef_name, (long)offset, (long)len);
235 bcopy(ef->address + offset, dest, len);
240 ef_obj_seg_read_rel(elf_file_t ef, Elf_Off offset, size_t len, void *dest)
248 if (offset + len > ef->size) {
250 warnx("ef_obj_seg_read_rel(%s): bad offset/len (%lx:%ld)",
251 ef->ef_name, (long)offset, (long)len);
254 bcopy(ef->address + offset, dest, len);
257 memaddr = ef->address + offset;
303 ef_obj_seg_read_string(elf_file_t ef, Elf_Off offset, size_t len, char *dest)
306 if (offset >= ef->size) {
308 warnx("ef_obj_seg_read_string(%s): bad offset (%lx)",
309 ef->ef_name, (long)offset);
313 if (ef->size - offset < len)
314 len = ef->size - offset;
316 if (strnlen(ef->address + offset, len) == len)
319 memcpy(dest, ef->address + offset, len);
324 ef_obj_seg_read_entry(elf_file_t ef, Elf_Off offset, size_t len, void **ptr)
331 error = ef_obj_seg_read(ef, offset, len, *ptr);
338 ef_obj_seg_read_entry_rel(elf_file_t ef, Elf_Off offset, size_t len,
346 error = ef_obj_seg_read_rel(ef, offset, len, *ptr);
551 /* Update all symbol values with the offset. */