Lines Matching refs:shndx
107 static void mark_section_used (struct scninfo *scninfo, Elf32_Word shndx,
524 matching_group_comdat_scn (const XElf_Sym *sym, size_t shndx, in matching_group_comdat_scn() argument
527 if ((shndx >= SHN_LORESERVE && shndx <= SHN_HIRESERVE) in matching_group_comdat_scn()
532 size_t newgrpid = fileinfo->scninfo[shndx].grpid; in matching_group_comdat_scn()
592 check_definition (const XElf_Sym *sym, size_t shndx, size_t symidx, in check_definition() argument
600 if (shndx != SHN_UNDEF in check_definition()
602 || (shndx != SHN_COMMON && oldp->common && ! new_in_dso) in check_definition()
632 else if (shndx != SHN_UNDEF in check_definition()
634 && matching_group_comdat_scn (sym, shndx, fileinfo, oldp)) in check_definition()
639 else if (shndx != SHN_UNDEF in check_definition()
642 && shndx != SHN_COMMON in check_definition()
663 if (shndx < SHN_LORESERVE || (shndx > SHN_HIRESERVE && shndx < shnum)) in check_definition()
666 SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_name); in check_definition()
669 scnname = ebl_section_name (ld_state.ebl, shndx, 0, buf, sizeof (buf), in check_definition()
691 SCNINFO_SHDR (oldfile->scninfo[shndx].shdr).sh_name); in check_definition()
705 && shndx != SHN_UNDEF) in check_definition()
724 else if (oldp->common && shndx == SHN_COMMON) in check_definition()
753 oldp->scndx = shndx; in check_definition()
758 oldp->common = shndx == SHN_COMMON; in check_definition()
766 if (shndx != SHN_COMMON && shndx != SHN_ABS) in check_definition()
769 mark_section_used (&fileinfo->scninfo[shndx], shndx, &ignore); in check_definition()
788 else if (shndx == SHN_COMMON) in check_definition()
802 find_section_group (struct usedfiles *fileinfo, Elf32_Word shndx, in find_section_group() argument
828 if (grpref[--cnt] == shndx) in find_section_group()
842 SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_name)); in find_section_group()
850 mark_section_group (struct usedfiles *fileinfo, Elf32_Word shndx, in mark_section_group() argument
858 struct scninfo *grpscn = find_section_group (fileinfo, shndx, &data); in mark_section_group()
909 mark_section_used (struct scninfo *scninfo, Elf32_Word shndx, in mark_section_used() argument
956 mark_section_group (scninfo->fileinfo, shndx, grpscnp); in mark_section_used()
1404 Elf32_Word shndx; in add_relocatable_file() local
1407 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx); in add_relocatable_file()
1416 if (likely (shndx != SHN_XINDEX)) in add_relocatable_file()
1417 shndx = sym->st_shndx; in add_relocatable_file()
1418 else if (unlikely (shndx == 0)) in add_relocatable_file()
1426 && (shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE) in add_relocatable_file()
1427 && ((SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_flags in add_relocatable_file()
1439 newp->scndx = shndx; in add_relocatable_file()
1444 if (fileinfo->scninfo[shndx].symbols == NULL) in add_relocatable_file()
1445 fileinfo->scninfo[shndx].symbols = newp->next_in_scn in add_relocatable_file()
1450 = fileinfo->scninfo[shndx].symbols->next_in_scn; in add_relocatable_file()
1451 fileinfo->scninfo[shndx].symbols in add_relocatable_file()
1452 = fileinfo->scninfo[shndx].symbols->next_in_scn = newp; in add_relocatable_file()
1473 Elf32_Word shndx; in add_relocatable_file() local
1474 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx); in add_relocatable_file()
1484 if (likely (shndx != SHN_XINDEX)) in add_relocatable_file()
1485 shndx = sym->st_shndx; in add_relocatable_file()
1486 else if (unlikely (shndx == 0)) in add_relocatable_file()
1495 if (unlikely (shndx == SHN_ABS) && secttype == SHT_DYNSYM) in add_relocatable_file()
1498 if ((shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE) in add_relocatable_file()
1499 && fileinfo->scninfo[shndx].unused_comdat) in add_relocatable_file()
1551 newp->scndx = shndx; in add_relocatable_file()
1602 else if (unlikely (check_definition (sym, shndx, cnt, fileinfo, oldp) in add_relocatable_file()
1613 if (shndx != SHN_UNDEF in add_relocatable_file()
1614 && (shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE)) in add_relocatable_file()
1621 assert (shndx < shnum); in add_relocatable_file()
1625 mark_section_used (&fileinfo->scninfo[shndx], shndx, &ignore); in add_relocatable_file()
1629 if (SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_flags in add_relocatable_file()
1632 if (fileinfo->scninfo[shndx].symbols == NULL) in add_relocatable_file()
1633 fileinfo->scninfo[shndx].symbols = newp->next_in_scn in add_relocatable_file()
1638 = fileinfo->scninfo[shndx].symbols->next_in_scn; in add_relocatable_file()
1639 fileinfo->scninfo[shndx].symbols in add_relocatable_file()
1640 = fileinfo->scninfo[shndx].symbols->next_in_scn = newp; in add_relocatable_file()
6513 Elf32_Word shndx; in ld_generic_create_outfile() local
6515 xelf_getsymshndx (symdata, xndxdata, cnt, sym, shndx); in ld_generic_create_outfile()
6519 shndx = sym->st_shndx; in ld_generic_create_outfile()
6521 if ((shndx > SHN_UNDEF && shndx < SHN_LORESERVE) in ld_generic_create_outfile()
6522 || shndx > SHN_HIRESERVE) in ld_generic_create_outfile()
6526 sym->st_value += ld_state.allsections[shndx - 1]->addr; in ld_generic_create_outfile()