Lines Matching refs:sym

179   struct symbol *sym = file->symref[symidx];
181 return sym->defined && sym->in_dso;
524 matching_group_comdat_scn (const XElf_Sym *sym, size_t shndx,
556 check_type_and_size (const XElf_Sym *sym, struct usedfiles *fileinfo,
565 if (XELF_ST_TYPE (sym->st_info) != STT_NOTYPE && oldp->type != STT_NOTYPE
566 && unlikely (oldp->type != XELF_ST_TYPE (sym->st_info)))
577 ebl_symbol_type_name (ld_state.ebl, XELF_ST_TYPE (sym->st_info),
581 else if (XELF_ST_TYPE (sym->st_info) == STT_OBJECT
583 && unlikely (oldp->size != sym->st_size))
587 (uint64_t) sym->st_size, fileinfo->rfname);
592 check_definition (const XElf_Sym *sym, size_t shndx, size_t symidx,
611 check_type_and_size (sym, fileinfo, oldp);
634 && matching_group_comdat_scn (sym, shndx, fileinfo, oldp))
677 (uint64_t) sym->st_value,
678 ebl_symbol_type_name (ld_state.ebl, XELF_ST_TYPE (sym->st_info),
727 oldp->size = MAX (oldp->size, sym->st_size);
729 oldp->merge.value = MAX (oldp->merge.value, sym->st_value);
750 oldp->size = sym->st_size;
751 oldp->type = XELF_ST_TYPE (sym->st_info);
763 oldp->weak = XELF_ST_BIND (sym->st_info) == STB_WEAK;
791 oldp->merge.value = sym->st_value;
1267 XElf_Sym_vardef (sym);
1271 xelf_getsym (symdata, shdr->sh_info, sym);
1272 if (sym != NULL)
1277 if (XELF_ST_TYPE (sym->st_info) == STT_SECTION)
1280 xelf_getshdr (elf_getscn (fileinfo->elf, sym->st_shndx),
1293 sym->st_name);
1405 XElf_Sym_vardef (sym);
1407 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx);
1408 if (sym == NULL)
1417 shndx = sym->st_shndx;
1425 if (XELF_ST_TYPE (sym->st_info) != STT_SECTION
1429 || XELF_ST_TYPE (sym->st_info) == STT_TLS))
1472 XElf_Sym_vardef (sym);
1474 xelf_getsymshndx (symtabdata, xndxdata, cnt, sym, shndx);
1476 if (sym == NULL)
1485 shndx = sym->st_shndx;
1520 search.name = elf_strptr (fileinfo->elf, symstridx, sym->st_name);
1531 && sym->st_shndx != SHN_UNDEF
1546 newp->size = sym->st_size;
1547 newp->type = XELF_ST_TYPE (sym->st_info);
1555 newp->weak = XELF_ST_BIND (sym->st_info) == STB_WEAK;
1579 newp->merge.value = sym->st_value;
1602 else if (unlikely (check_definition (sym, shndx, cnt, fileinfo, oldp)
1919 struct symbol *sym = ld_symbol_tab_find (&ld_state.symbol_tab,
1921 if (sym != NULL && ! sym->defined)
3356 reduce_symbol_p (XElf_Sym *sym, struct Ebl_Strent *strent)
3364 if (XELF_ST_BIND (sym->st_info) == STB_LOCAL || sym->st_shndx == SHN_UNDEF)
3371 assert (XELF_ST_BIND (sym->st_info) == STB_GLOBAL
3372 || XELF_ST_BIND (sym->st_info) == STB_WEAK);
3642 XElf_Sym_vardef (sym);
3644 sym = NULL;
3646 xelf_getsym (data, ld_state.dblindirect[syment->outsymidx], sym);
3648 if (sym == NULL && ld_state.need_dynsym && syment->outdynsymidx != 0)
3654 sym = NULL;
3656 xelf_getsym (data, syment->outdynsymidx, sym);
3659 if (sym != NULL)
3660 return sym->st_value;
3704 XElf_Sym_vardef (sym);
3705 xelf_getsym_ptr (symdata, nsym, sym);
3708 sym->st_name = 0;
3710 sym->st_info = XELF_ST_INFO (symst->local ? STB_LOCAL : STB_GLOBAL,
3712 sym->st_other = symst->hidden ? STV_HIDDEN : STV_DEFAULT;
3718 sym->st_shndx = scnidx;
3720 sym->st_value = 0;
3722 sym->st_size = 0;
3730 sym->st_size = data->d_size;
3738 (void) xelf_update_sym (symdata, nsym, sym);
4703 XElf_Sym_vardef (sym);
4709 xelf_getsym_ptr (symdata, nsym, sym);
4714 sym->st_name = 0;
4715 sym->st_info = XELF_ST_INFO (STB_LOCAL, STT_SECTION);
4716 sym->st_other = 0;
4717 sym->st_value = 0;
4718 sym->st_size = 0;
4724 sym->st_shndx = head->scnidx;
4729 sym->st_shndx = SHN_XINDEX;
4737 xelf_update_symshndx (symdata, xndxdata, nsym, sym, xndx, 0);
4873 XElf_Sym_vardef (sym);
4874 xelf_getsym (locsymdata, symrunp->symidx, sym);
4875 assert (sym != NULL);
4882 (char *) locdata->d_buf + sym->st_value,
4945 XElf_Sym_vardef (sym);
4946 xelf_getsym (locsymdata, symrunp->symidx, sym);
4947 assert (sym != NULL);
4958 + sym->st_value), 0);
5024 XElf_Sym_vardef (sym);
5025 xelf_getsym (locsymdata, symrunp->symidx, sym);
5026 assert (sym != NULL);
5036 (char *) locdata->d_buf + sym->st_value,
5224 XElf_Sym_vardef (sym);
5228 xelf_getsymshndx (insymdata, inxndxdata, cnt, sym, xndx);
5229 assert (sym != NULL);
5231 if (unlikely (XELF_ST_TYPE (sym->st_info) == STT_SECTION))
5239 if (sym->st_shndx != SHN_XINDEX)
5240 xndx = sym->st_shndx;
5254 && XELF_ST_TYPE (sym->st_info) == STT_FILE)
5261 sym_mem = *sym;
5262 sym = &sym_mem;
5265 if (sym->st_shndx != SHN_UNDEF
5266 && (sym->st_shndx < SHN_LORESERVE
5267 || sym->st_shndx == SHN_XINDEX))
5286 if (sym->st_shndx != SHN_XINDEX)
5287 xndx = sym->st_shndx;
5289 sym->st_value += file->scninfo[xndx].offset;
5302 sym->st_shndx = SHN_XINDEX;
5310 sym->st_shndx = file->scninfo[xndx].outscnndx;
5314 else if (sym->st_shndx == SHN_COMMON || sym->st_shndx == SHN_UNDEF)
5323 assert (sym->st_shndx != SHN_COMMON || defp->defined);
5325 if ((sym->st_shndx == SHN_COMMON && !defp->common)
5326 || (sym->st_shndx == SHN_UNDEF && defp->defined)
5336 if (sym->st_shndx == SHN_COMMON)
5338 sym->st_value = (ld_state.common_section->offset
5341 sym->st_shndx = ld_state.common_section->outscnndx;
5345 else if (unlikely (sym->st_shndx != SHN_ABS))
5347 if (SPECIAL_SECTION_NUMBER_P (&ld_state, sym->st_shndx))
5356 if (sym->st_name != 0
5358 || XELF_ST_BIND (sym->st_info) != STB_LOCAL))
5362 sym->st_name), 0);
5367 GElf_Word st_name = sym->st_name;
5368 sym->st_name = 0;
5374 sym->st_value = file->symref[cnt]->merge.value;
5378 xelf_update_symshndx (symdata, xndxdata, nsym, sym, xndx, 1);
5462 XElf_Sym_vardef (sym);
5466 xelf_getsym (symdata, cnt, sym);
5467 assert (sym != NULL);
5469 if (reduce_symbol_p (sym, symstrent[cnt]))
5475 sym->st_info = XELF_ST_INFO (STB_LOCAL,
5476 XELF_ST_TYPE (sym->st_info));
5477 (void) xelf_update_sym (symdata, cnt, sym);
5532 XElf_Sym_vardef (sym);
5533 xelf_getsym_ptr (symdata, idx, sym);
5535 sym->st_value = 0;
5536 sym->st_size = runp->size;
5537 sym->st_info = XELF_ST_INFO (runp->weak ? STB_WEAK : STB_GLOBAL,
5539 sym->st_other = STV_DEFAULT;
5540 sym->st_shndx = SHN_UNDEF;
5543 xelf_update_symshndx (symdata, xndxdata, idx, sym, 0, 0);
5617 XElf_Sym_vardef (sym);
5621 xelf_getsym (symdata, cnt, sym);
5623 assert (sym != NULL);
5624 sym->st_name = ebl_strtaboffset (symstrent[cnt]);
5625 (void) xelf_update_sym (symdata, cnt, sym);
5844 XElf_Sym_vardef (sym);
5846 xelf_getsym (symdata, cnt, sym);
5847 assert (sym != NULL);
5849 if (sym->st_shndx == SHN_XINDEX)
5861 if (XELF_ST_TYPE (sym->st_info) == STT_FILE
5862 || XELF_ST_VISIBILITY (sym->st_other) == STV_INTERNAL
5863 || XELF_ST_VISIBILITY (sym->st_other) == STV_HIDDEN
5955 XElf_Sym_vardef (sym);
5960 memcpy (xelf_getsym (dynsymdata, dynidx, sym),
5964 xelf_getsym (symdata, cnt, sym);
5965 assert (sym != NULL);
5968 sym->st_name = ebl_strtaboffset (symstrent[cnt]);
5970 (void) xelf_update_sym (dynsymdata, dynidx, sym);
6420 else if (orule->val.assignment->sym != NULL)
6424 XElf_Sym_vardef (sym);
6431 idx = dblindirect[orule->val.assignment->sym->outsymidx];
6432 xelf_getsym (symdata, idx, sym);
6433 sym->st_value = addr;
6434 (void) xelf_update_sym (symdata, idx, sym);
6436 idx = orule->val.assignment->sym->outdynsymidx;
6440 xelf_getsym (dynsymdata, idx, sym);
6441 sym->st_value = addr;
6442 (void) xelf_update_sym (dynsymdata, idx, sym);
6512 XElf_Sym_vardef (sym);
6515 xelf_getsymshndx (symdata, xndxdata, cnt, sym, shndx);
6516 assert (sym != NULL);
6518 if (sym->st_shndx != SHN_XINDEX)
6519 shndx = sym->st_shndx;
6526 sym->st_value += ld_state.allsections[shndx - 1]->addr;
6530 (void) xelf_update_sym (symdata, cnt, sym);
6537 XElf_Sym_vardef (sym);
6539 xelf_getsym (dynsymdata, cnt, sym);
6540 assert (sym != NULL);
6542 if (sym->st_shndx > SHN_UNDEF && sym->st_shndx < SHN_LORESERVE)
6546 sym->st_value += ld_state.allsections[sym->st_shndx - 1]->addr;
6550 (void) xelf_update_sym (dynsymdata, cnt, sym);
6563 XElf_Sym_vardef (sym);
6569 xelf_getsym (dynsymdata, se->outdynsymidx, sym);
6570 assert (sym != NULL);
6571 addr = sym->st_value;
6576 xelf_getsym (symdata, dblindirect[se->outsymidx], sym);
6577 assert (sym != NULL);
6578 addr = sym->st_value;
6701 XElf_Sym_vardef (sym);
6706 sym);
6709 sym);
6710 assert (sym != NULL);
6713 DT_INIT, sym->st_value);
6717 XElf_Sym_vardef (sym);
6722 sym);
6725 sym);
6726 assert (sym != NULL);
6729 DT_FINI, sym->st_value);