Lines Matching defs:sinfo
138 struct sec_merge_info *sinfo;
139 /* The section associated with sinfo (i.e. the representative section).
140 Same as sinfo->chain->sec, but faster to access in the hot function. */
617 struct sec_merge_info *sinfo;
682 for (sinfo = (struct sec_merge_info *) *psinfo; sinfo; sinfo = sinfo->next)
683 if (sinfo->chain
684 && (repr = sinfo->chain->sec)
691 if (sinfo == NULL)
694 sinfo = (struct sec_merge_info *)
696 if (sinfo == NULL)
698 sinfo->next = (struct sec_merge_info *) *psinfo;
699 sinfo->chain = NULL;
700 sinfo->last = &sinfo->chain;
701 *psinfo = sinfo;
702 sinfo->htab = sec_merge_init (sec->entsize, (sec->flags & SEC_STRINGS));
703 if (sinfo->htab == NULL)
707 *sinfo->last = secinfo;
708 sinfo->last = &secinfo->next;
710 secinfo->sinfo = sinfo;
711 secinfo->reprsec = sinfo->chain->sec;
721 SINFO. Returns true when section is completely recorded, and false when
726 record_section (struct sec_merge_info *sinfo,
766 uint32_t hash = hashit (sinfo->htab, (char*) p, &len);
772 entry = sec_merge_hash_lookup (sinfo->htab, (char *) p, len, hash,
882 merge_strings (struct sec_merge_info *sinfo)
890 amt = sinfo->htab->table.count * sizeof (struct sec_merge_hash_entry *);
895 for (e = sinfo->htab->first, a = array; e; e = e->next)
900 e->len -= sinfo->htab->entsize;
915 (alignment != (unsigned) -1 && alignment > sinfo->htab->entsize
920 e->len += sinfo->htab->entsize;
925 cmp->len += sinfo->htab->entsize;
942 secinfo = sinfo->chain;
943 for (e = sinfo->htab->first; e; e = e->next)
956 for (a = &sinfo->htab->first, e = *a; e; e = e->next)
970 secinfo->first_str = sinfo->htab->first;
984 struct sec_merge_info *sinfo;
986 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
991 if (! sinfo->chain)
996 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
998 || !record_section (sinfo, secinfo))
1013 if (sinfo->htab->first == NULL)
1016 if (sinfo->htab->strings)
1018 secinfo = merge_strings (sinfo);
1024 struct sec_merge_hash_entry *e = sinfo->htab->first;
1029 secinfo = sinfo->chain;
1032 for (e = sinfo->htab->first; e; e = e->next)
1052 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1098 BFD_ASSERT (secinfo == secinfo->sinfo->chain);
1159 struct sec_merge_info *sinfo;
1161 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
1164 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1170 bfd_hash_table_free (&sinfo->htab->table);
1171 free (sinfo->htab);