Home | History | Annotate | Download | only in src

Lines Matching defs:oldp

517 			   struct usedfiles *fileinfo, struct symbol *oldp)
520 || (oldp->scndx >= SHN_LORESERVE && oldp->scndx <= SHN_HIRESERVE))
525 size_t oldgrpid = oldp->file->scninfo[oldp->scndx].grpid;
531 assert (SCNINFO_SHDR (oldp->file->scninfo[oldgrpid].shdr).sh_type
535 || ! oldp->file->scninfo[oldgrpid].comdat_group)
539 oldp
549 struct symbol *oldp)
557 if (XELF_ST_TYPE (sym->st_info) != STT_NOTYPE && oldp->type != STT_NOTYPE
558 && unlikely (oldp->type != XELF_ST_TYPE (sym->st_info)))
565 oldp->name,
566 ebl_symbol_type_name (ld_state.ebl, oldp->type,
568 oldp->file->rfname,
574 && oldp->size != 0
575 && unlikely (oldp->size != sym->st_size))
578 oldp->name, (uint64_t) oldp->size, oldp->file->rfname,
585 struct usedfiles *fileinfo, struct symbol *oldp)
588 bool old_in_dso = FILEINFO_EHDR (oldp->file->ehdr).e_type == ET_DYN;
593 && (! oldp->defined
594 || (shndx != SHN_COMMON && oldp->common && ! new_in_dso)
603 check_type_and_size (sym, fileinfo, oldp);
609 if (! oldp->defined)
613 if (! oldp->weak)
615 CDBL_LIST_DEL (ld_state.unresolved, oldp);
617 else if (oldp->common)
619 CDBL_LIST_DEL (ld_state.common_syms, oldp);
625 && oldp->defined
626 && matching_group_comdat_scn (sym, shndx, fileinfo, oldp))
632 && unlikely (! oldp->common)
633 && oldp->defined
672 oldp->name);
674 oldfile = oldp->file;
675 xelf_getsymshndx (oldfile->symtabdata, oldfile->xndxdata, oldp->symidx,
680 if (oldp->scndx < SHN_LORESERVE || oldp->scndx > SHN_HIRESERVE)
685 scnname = ebl_section_name (ld_state.ebl, oldp->scndx, oldp->scndx,
702 else if (old_in_dso && !new_in_dso && oldp->defined && !oldp->on_dsolist)
704 CDBL_LIST_ADD_REAR (ld_state.from_dso, oldp);
709 if (oldp->type == STT_FUNC)
714 oldp->on_dsolist = 1;
716 else if (oldp->common && shndx == SHN_COMMON)
719 oldp->size = MAX (oldp->size, sym->st_size);
721 oldp->merge.value = MAX (oldp->merge.value, sym->st_value);
730 CDBL_LIST_DEL (ld_state.from_dso, oldp);
733 if (likely (oldp->type == STT_FUNC))
738 oldp->on_dsolist = 0;
742 oldp->size = sym->st_size;
743 oldp->type = XELF_ST_TYPE (sym->st_info);
744 oldp->symidx = symidx;
745 oldp->scndx = shndx;
746 //oldp->symscndx = THESYMSCNDX must be passed;
747 oldp->file = fileinfo;
748 oldp->defined = 1;
749 oldp->in_dso = new_in_dso;
750 oldp->common = shndx == SHN_COMMON;
755 oldp->weak = XELF_ST_BIND (sym->st_info) == STB_WEAK;
768 CDBL_LIST_ADD_REAR (ld_state.from_dso, oldp);
773 if (oldp->type == STT_FUNC)
778 oldp->on_dsolist = 1;
783 oldp->merge.value = sym->st_value;
785 CDBL_LIST_ADD_REAR (ld_state.common_syms, oldp);
1529 struct symbol *oldp = ld_symbol_tab_find (&ld_state.symbol_tab,
1532 if (likely (oldp == NULL))
1594 else if (unlikely (check_definition (sym, shndx, cnt, fileinfo, oldp)
1602 newp = fileinfo->symref[cnt] = oldp;
1790 struct filename_list *oldp;
1793 oldp = fnames;
1795 oldp->next = NULL;
6200 struct scngroup *oldp = groups;
6202 free (oldp);