Lines Matching defs:runp
807 struct scninfo *runp;
809 for (runp = fileinfo->groups; runp != NULL; runp = runp->next)
810 if (!runp->used)
816 data = elf_getdata (runp->scn, NULL);
823 assert (elf_getdata (runp->scn, data) == NULL);
833 return runp;
1038 struct scninfo *runp = queued->last;
1041 if (SCNINFO_SHDR (runp->shdr).sh_flags & SHF_GROUP)
1044 = find_section_group (runp->fileinfo,
1045 elf_ndxscn (runp->scn),
1056 runp = runp->next;
1058 while (runp != queued->last);
1685 struct filename_list *runp;
1688 for (runp = fnames; runp != NULL; runp = runp->next)
1693 curp = runp->real = ld_new_inputfile (runp->name, relocatable_file_type);
1696 curp->group_start = runp->group_start;
1697 curp->group_end = runp->group_end;
1700 curp->as_needed = runp->as_needed;
1712 runp = fnames;
1714 free (runp);
2264 struct usedfiles *runp = ld_state.archives;
2271 elf_end (runp->elf);
2272 runp->elf = NULL;
2274 runp = runp->next;
2276 while (runp != fileinfo->next);
2753 struct symbol *runp = ld_state.from_dso;
2754 assert (runp != NULL);
2760 if (runp->need_copy)
2770 XElf_Off symalign = MAX (SCNINFO_SHDR (runp->file->scninfo[runp->scndx].shdr).sh_addralign, 1);
2777 runp->merge.value = offset;
2779 offset += runp->size;
2781 while ((runp = runp->next) != ld_state.from_dso);
2792 struct symbol *runp = ld_state.common_syms;
2793 assert (runp != NULL);
2801 XElf_Off symalign = runp->merge.value;
2809 runp->merge.value = offset;
2811 offset += runp->size;
2813 while ((runp = runp->next) != ld_state.common_syms);
2834 struct scninfo *runp;
2860 runp = (*scnhead)->last->next;
2867 const char *brfname = basename (runp->fileinfo->rfname);
2872 if (!runp->used
2880 notused = runp;
2882 prevp = runp;
2883 runp = runp->next;
2884 if (runp == notused)
2885 runp = NULL;
2891 struct scninfo *found = runp;
2894 if (prevp != runp)
2895 runp = prevp->next = runp->next;
2900 runp = NULL;
2960 while (runp != NULL);
3199 struct scninfo *runp;
3206 runp = head->last;
3209 assert (runp->grpid != 0);
3211 here_groupidx = runp->fileinfo->scninfo[runp->grpid].outscnndx;
3215 while ((runp = runp->next) != head->last);
3240 elf_strptr (runp->fileinfo->elf,
3241 runp->fileinfo->shstrndx,
3242 SCNINFO_SHDR (runp->shdr).sh_name),
3246 = runp->fileinfo->scninfo[runp->grpid].symbols;
3268 runp = head->last;
3271 assert (runp->grpid != 0);
3273 if (runp->fileinfo->scninfo[runp->grpid].outscnndx == 0)
3274 runp->fileinfo->scninfo[runp->grpid].outscnndx = here_groupidx;
3276 assert (runp->fileinfo->scninfo[runp->grpid].outscnndx
3279 while ((runp = runp->next) != head->last);
3322 struct member *runp;
3345 runp = groups->member->next;
3349 grpdata[cnt++] = runp->scn->scnidx;
3350 while ((runp = runp->next) != groups->member->next);
3763 allocate_version_names (struct usedfiles *runp, struct Ebl_Strtab *dynstrtab)
3766 if (runp->status != opened || runp->verdefdata == NULL)
3777 xelf_getverdef (runp->verdefdata, offset, def);
3779 xelf_getverdaux (runp->verdefdata, offset + def->vd_aux, aux);
3782 assert (def->vd_ndx <= runp->nverdef);
3783 if (def->vd_ndx == 1 || runp->verdefused[def->vd_ndx] != 0)
3785 runp->verdefent[def->vd_ndx]
3786 = ebl_strtabadd (dynstrtab, elf_strptr (runp->elf,
3787 runp->dynsymstridx,
3791 runp->verdefused[def->vd_ndx] = ld_state.nextveridx++;
3805 struct usedfiles *runp, int *ntotal)
3817 if (runp->nverdefused == 0)
3824 for (cnt = 2; cnt <= runp->nverdef; ++cnt)
3825 if (runp->verdefused[cnt] != 0)
3827 assert (runp->verdefent[cnt] != NULL);
3836 vernaux.vna_hash = elf_hash (ebl_string (runp->verdefent[cnt]));
3838 vernaux.vna_other = runp->verdefused[cnt];
3839 vernaux.vna_name = ebl_strtaboffset (runp->verdefent[cnt]);
3851 verneed.vn_file = ebl_strtaboffset (runp->verdefent[1]);
4441 struct scninfo *runp;
4800 runp = head->last->next;
4801 if (runp->symbols == NULL)
4806 head->symbols = runp->symbols;
4808 while ((runp = runp->next) != head->last->next)
4810 if (runp->symbols == NULL)
4819 head->symbols->next_in_scn = runp
4820 runp->symbols->next_in_scn = oldhead;
4821 head->symbols = runp->symbols;
4894 symrunp = runp->symbols;
4901 while ((symrunp = symrunp->next_in_scn) != runp->symbols);
4918 symrunp = runp->symbols;
4962 while ((symrunp = symrunp->next_in_scn) != runp->symbols);
4968 symrunp = runp->symbols;
4975 while ((symrunp = symrunp->next_in_scn) != runp->symbols);
4997 symrunp = runp->symbols;
5041 while ((symrunp = symrunp->next_in_scn) != runp->symbols);
5047 symrunp = runp->symbols;
5054 while ((symrunp = symrunp->next_in_scn) != runp->symbols);
5068 runp = head->last->next;
5082 if (likely (runp->scn != NULL))
5084 data = elf_getdata (runp->scn, NULL);
5092 assert (elf_getdata (runp->scn, data) == NULL);
5097 assert (SCNINFO_SHDR (runp->shdr).sh_type == SHT_NOBITS);
5102 outdata->d_size = SCNINFO_SHDR (runp->shdr).sh_size;
5103 outdata->d_align = SCNINFO_SHDR (runp->shdr).sh_addralign;
5110 runp->offset = offset;
5111 runp->outscnndx = head->scnidx;
5112 runp->allsectionsidx = cnt;
5118 while ((runp = runp->next) != head->last->next);
5438 struct usedfiles *runp;
5440 runp = ld_state.dsofiles->next;
5442 allocate_version_names (runp, dynstrtab);
5443 while ((runp = runp->next) != ld_state.dsofiles->next);
5447 runp = ld_state.needed->next;
5449 allocate_version_names (runp, dynstrtab);
5450 while ((runp = runp->next) != ld_state.needed->next);
5513 struct symbol *runp;
5519 runp = ld_state.from_dso;
5525 if (runp->type == STT_FUNC)
5528 runp->merge.value = plt_idx + 1;
5538 sym->st_size = runp->size;
5539 sym->st_info = XELF_ST_INFO (runp->weak ? STB_WEAK : STB_GLOBAL,
5540 runp->type);
5547 const char *name = runp->name;
5550 if (runp->file->verdefdata != NULL)
5555 (void) xelf_getversym_copy (runp->file->versymdata, runp->symidx,
5562 = ebl_string (runp->file->verdefent[versym]);
5575 runp->outsymidx = idx;
5578 ndxtosym[idx] = runp;
5580 while ((runp = runp->next) != ld_state.from_dso);
5983 struct usedfiles *runp;
6006 runp = ld_state.dsofiles->next;
6009 offset = create_verneed_data (offset, verneeddata, runp,
6011 runp = runp->next;
6013 while (ntotal > 0 && runp != ld_state.dsofiles->next);
6017 runp = ld_state.needed->next;
6020 offset = create_verneed_data (offset, verneeddata, runp,
6022 runp = runp->next;
6024 while (ntotal > 0 && runp != ld_state.needed->next);
6677 struct usedfiles *runp = ld_state.dsofiles->next;
6680 if (runp->used || !runp->as_needed)
6683 if (runp->lazyload)
6689 ebl_strtaboffset (runp->sonameent));
6691 while ((runp = runp->next) != ld_state.dsofiles->next);