Lines Matching refs:scn

66 __libelf_compress (Elf_Scn *scn, size_t hsize, int ei_data,
76 Elf_Data *data = elf_getdata (scn, NULL);
84 Elf_Data *next_data = elf_getdata (scn, data);
138 if (gelf_xlatetof (scn->elf, &cdata, data, ei_data) == NULL)
151 next_data = elf_getdata (scn, data);
265 __libelf_decompress_elf (Elf_Scn *scn, size_t *size_out, size_t *addralign)
268 if (gelf_getchdr (scn, &chdr) == NULL)
289 Elf_Data *data = elf_getdata (scn, NULL);
293 int elfclass = scn->elf->class;
307 __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, size_t align,
311 scn->rawdata.d.d_off = 0;
312 scn->rawdata.d.d_version = EV_CURRENT;
313 scn->rawdata.d.d_buf = buf;
314 scn->rawdata.d.d_size = size;
315 scn->rawdata.d.d_align = align;
316 scn->rawdata.d.d_type = type;
319 scn->data_list_rear = NULL;
320 if (scn->data_base != scn->rawdata_base)
321 free (scn->data_base);
322 scn->data_base = NULL;
323 if (scn->elf->map_address == NULL
324 || scn->rawdata_base == scn->zdata_base
325 || (scn->flags & ELF_F_MALLOCED) != 0)
326 free (scn->rawdata_base);
328 scn->rawdata_base = buf;
329 scn->flags |= ELF_F_MALLOCED;
333 scn->data_read = 1;
334 scn->flags |= ELF_F_FILEDATA;
335 __libelf_set_data_list_rdlock (scn, 1);
339 elf_compress (Elf_Scn *scn, int type, unsigned int flags)
341 if (scn == NULL)
352 Elf *elf = scn->elf;
365 Elf32_Shdr *shdr = elf32_getshdr (scn);
375 Elf64_Shdr *shdr = elf64_getshdr (scn);
409 void *out_buf = __libelf_compress (scn, hsize, elfdata,
457 Elf32_Shdr *shdr = elf32_getshdr (scn);
464 Elf64_Shdr *shdr = elf64_getshdr (scn);
470 __libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_CHDR);
476 scn->zdata_base = NULL;
492 if (scn->zdata_base == NULL)
495 void *buf_out = __libelf_decompress_elf (scn, &size_out, &addralign);
499 scn->zdata_base = buf_out;
500 scn->zdata_size = size_out;
501 scn->zdata_align = addralign;
508 Elf32_Shdr *shdr = elf32_getshdr (scn);
509 shdr->sh_size = scn->zdata_size;
510 shdr->sh_addralign = scn->zdata_align;
515 Elf64_Shdr *shdr = elf64_getshdr (scn);
516 shdr->sh_size = scn->zdata_size;
517 shdr->sh_addralign = scn->zdata_align;
521 __libelf_reset_rawdata (scn, scn->zdata_base,
522 scn->zdata_size, scn->zdata_align,
524 scn->zdata_align));