Home | History | Annotate | Download | only in src

Lines Matching full:shndx

107 static void mark_section_used (struct scninfo *scninfo, Elf32_Word shndx,
526 matching_group_comdat_scn (const XElf_Sym *sym, size_t shndx,
529 if ((shndx >= SHN_LORESERVE && shndx <= SHN_HIRESERVE)
534 size_t newgrpid = fileinfo->scninfo[shndx].grpid;
594 check_definition (const XElf_Sym *sym, size_t shndx, size_t symidx,
602 if (shndx != SHN_UNDEF
604 || (shndx != SHN_COMMON && oldp->common && ! new_in_dso)
634 else if (shndx != SHN_UNDEF
636 && matching_group_comdat_scn (sym, shndx, fileinfo, oldp))
641 else if (shndx != SHN_UNDEF
644 && shndx != SHN_COMMON
665 if (shndx < SHN_LORESERVE || (shndx > SHN_HIRESERVE && shndx < shnum))
668 SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_name);
671 scnname = ebl_section_name (ld_state.ebl, shndx, 0, buf, sizeof (buf),
693 SCNINFO_SHDR (oldfile->scninfo[shndx].shdr).sh_name);
707 && shndx != SHN_UNDEF)
726 else if (oldp->common && shndx == SHN_COMMON)
755 oldp->scndx = shndx;
760 oldp->common = shndx == SHN_COMMON;
768 if (shndx != SHN_COMMON && shndx != SHN_ABS)
771 mark_section_used (&fileinfo->scninfo[shndx], shndx, &ignore);
790 else if (shndx == SHN_COMMON)
804 find_section_group (struct usedfiles *fileinfo, Elf32_Word shndx,
830 if (grpref[--cnt] == shndx)
844 SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_name));
849 /* Mark all sections which belong to the same group as section SHNDX
852 mark_section_group (struct usedfiles *fileinfo, Elf32_Word shndx,
860 struct scninfo *grpscn = find_section_group (fileinfo, shndx, &data);
911 mark_section_used (struct scninfo *scninfo, Elf32_Word shndx,
958 mark_section_group (scninfo->fileinfo, shndx, grpscnp);
1406 Elf32_Word shndx;
1409 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx);
1418 if (likely (shndx != SHN_XINDEX))
1419 shndx = sym->st_shndx;
1420 else if (unlikely (shndx == 0))
1428 && (shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE)
1429 && ((SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_flags
1441 newp->scndx = shndx;
1446 if (fileinfo->scninfo[shndx].symbols == NULL)
1447 fileinfo->scninfo[shndx].symbols = newp->next_in_scn
1452 = fileinfo->scninfo[shndx].symbols->next_in_scn;
1453 fileinfo->scninfo[shndx].symbols
1454 = fileinfo->scninfo[shndx].symbols->next_in_scn = newp;
1475 Elf32_Word shndx;
1476 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx);
1486 if (likely (shndx != SHN_XINDEX))
1487 shndx = sym->st_shndx;
1488 else if (unlikely (shndx == 0))
1497 if (unlikely (shndx == SHN_ABS) && secttype == SHT_DYNSYM)
1500 if ((shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE)
1501 && fileinfo->scninfo[shndx].unused_comdat)
1553 newp->scndx = shndx;
1604 else if (unlikely (check_definition (sym, shndx, cnt, fileinfo, oldp)
1615 if (shndx != SHN_UNDEF
1616 && (shndx < SHN_LORESERVE || shndx > SHN_HIRESERVE))
1623 assert (shndx < shnum);
1627 mark_section_used (&fileinfo->scninfo[shndx], shndx, &ignore);
1631 if (SCNINFO_SHDR (fileinfo->scninfo[shndx].shdr).sh_flags
1634 if (fileinfo->scninfo[shndx].symbols == NULL)
1635 fileinfo->scninfo[shndx].symbols = newp->next_in_scn
1640 = fileinfo->scninfo[shndx].symbols->next_in_scn;
1641 fileinfo->scninfo[shndx].symbols
1642 = fileinfo->scninfo[shndx].symbols->next_in_scn = newp;
6516 Elf32_Word shndx;
6518 xelf_getsymshndx (symdata, xndxdata, cnt, sym, shndx);
6522 shndx = sym->st_shndx;
6524 if ((shndx > SHN_UNDEF && shndx < SHN_LORESERVE)
6525 || shndx > SHN_HIRESERVE)
6529 sym->st_value += ld_state.allsections[shndx - 1]->addr;