Lines Matching defs:shdr
243 fail_elf ("couldn't get shdr", fname);
311 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
312 if (shdr == NULL)
313 fail_elf_idx ("couldn't get shdr", fname, scnnum);
315 if (shdr->sh_name != 0 && scnnum != shdrstrndx)
317 const char *sname = elf_strptr (elf, shdrstrndx, shdr->sh_name);
325 if ((shdr->sh_flags & SHF_ALLOC) != 0)
327 GElf_Off off = shdr->sh_offset + (shdr->sh_type != SHT_NOBITS
328 ? shdr->sh_size : 0);
461 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
462 if (shdr == NULL)
463 fail_elf_idx ("Couldn't get shdr", fname, ndx);
474 newshdr.sh_name = (shdr->sh_name != 0
476 newshdr.sh_type = shdr->sh_type;
477 newshdr.sh_flags = shdr->sh_flags;
478 newshdr.sh_addr = shdr->sh_addr;
479 newshdr.sh_size = shdr->sh_size;
480 if (shdr->sh_link != 0)
481 newshdr.sh_link = newsecndx (shdr->sh_link, shdrstrndx, shdrnum,
482 fname, "shdr", ndx, "sh_link", 0);
485 if (SH_INFO_LINK_P (shdr) && shdr->sh_info != 0)
486 newshdr.sh_info = newsecndx (shdr->sh_info, shdrstrndx, shdrnum,
487 fname, "shdr", ndx, "sh_info", 0);
490 newshdr.sh_info = shdr->sh_info;
491 newshdr.sh_entsize = shdr->sh_entsize;
512 switch (shdr->sh_type)
520 const bool update_name = shdr->sh_link == strtabndx;
613 if ((shdr->sh_flags & SHF_ALLOC) != 0)
614 newshdr.sh_offset = shdr->sh_offset;