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