Lines Matching full:head
2753 /* Make a copy of the section head pointer array. */
2956 struct scnhead *head = ld_state.allsections[cnt];
2961 if (!head->used)
2970 && unlikely (head->flags & SHF_GROUP))
2988 runp = head->last;
2997 while ((runp = runp->next) != head->last);
3042 newp->scn = head;
3050 runp = head->last;
3061 while ((runp = runp->next) != head->last);
3066 if (head->kind == scn_normal)
3067 head->nameent = ebl_strtabadd (ld_state.shstrtab, head->name, 0);
3072 head->scnidx = elf_ndxscn (scn);
3079 assert (head->type != SHT_NULL);
3080 assert (head->type != SHT_SYMTAB);
3081 assert (head->type != SHT_DYNSYM || head->kind != scn_normal);
3082 assert (head->type != SHT_STRTAB || head->kind != scn_normal);
3083 assert (head->type != SHT_GROUP);
3084 shdr->sh_type = head->type;
3085 shdr->sh_flags = head->flags;
3086 shdr->sh_addralign = head->align;
3087 shdr->sh_entsize = head->entsize;
3093 if (head->kind == scn_dot_dynsym)
3781 struct scnhead *head = ld_state.allsections[cnt];
3788 if (!head->used)
3792 scn = elf_getscn (ld_state.outelf, head->scnidx);
3794 if (unlikely (head->kind == scn_dot_interp))
3814 ld_state.interpscnidx = head->scnidx;
3819 if (unlikely (head->kind == scn_dot_got))
3830 if (unlikely (head->kind == scn_dot_dynrel))
3853 if (unlikely (head->kind == scn_dot_dynamic))
3886 if (unlikely (head->kind == scn_dot_dynsym))
3894 if (unlikely (head->kind == scn_dot_dynstr))
3964 if (unlikely (head->kind == scn_dot_hash))
3972 if (unlikely (head->kind == scn_dot_plt))
3983 if (unlikely (head->kind == scn_dot_pltrel))
3994 if (unlikely (head->kind == scn_dot_version))
4002 if (unlikely (head->kind == scn_dot_version_r))
4011 assert (head->kind == scn_normal);
4037 if (likely (head->scnidx < SHN_LORESERVE))
4039 sym->st_shndx = head->scnidx;
4045 xndx = head->scnidx;
4055 head->scnsymidx = nsym++;
4058 if (head->type == SHT_REL || head->type == SHT_RELA)
4067 newp->scnidx = head->scnidx;
4068 newp->scninfo = head->last->next;
4081 int type = head->type == SHT_REL ? ELF_T_REL : ELF_T_RELA;
4089 data->d_size = xelf_fsize (ld_state.outelf, type, head->relsize);
4100 if (head->flags & SHF_MERGE)
4113 runp = head->last->next;
4116 head->flags &= ~SHF_MERGE;
4119 head->symbols = runp->symbols;
4121 while ((runp = runp->next) != head->last->next)
4125 head->flags &= ~SHF_MERGE;
4126 head->symbols = NULL;
4130 struct symbol *oldhead = head->symbols->next_in_scn;
4132 head->symbols->next_in_scn = runp->symbols->next_in_scn;
4134 head->symbols = runp->symbols;
4149 if (SCNINFO_SHDR (head->last->shdr).sh_entsize == 1
4150 && (head->flags & SHF_STRINGS))
4160 symrunp = head->symbols->next_in_scn;
4183 file->scninfo[symrunp->scndx].outscnndx = head->scnidx;
4201 != head->symbols->next_in_scn);
4219 else if (likely (SCNINFO_SHDR (head->last->shdr).sh_entsize
4221 && likely (head->flags & SHF_STRINGS))
4255 file->scninfo[symrunp->scndx].outscnndx = head->scnidx;
4302 unsigned int len = (head->flags & SHF_STRINGS) ? 0 : 1;
4307 = ebl_gstrtabinit (SCNINFO_SHDR (head->last->shdr).sh_entsize,
4334 file->scninfo[symrunp->scndx].outscnndx = head->scnidx;
4376 assert (head->scnidx == elf_ndxscn (scn));
4381 runp = head->last->next;
4424 runp->outscnndx = head->scnidx;
4431 while ((runp = runp->next) != head->last->next);
4435 && head->flags == 0
4436 && head->type == SHT_PROGBITS
4437 && strcmp (head->name, ".comment") == 0
4438 && head->entsize == 0)