Lines Matching defs:sinfo
144 struct sec_merge_info *sinfo;
145 /* The section associated with sinfo (i.e. the representative section).
146 Same as sinfo->chain->sec, but faster to access in the hot function. */
598 struct sec_merge_info *sinfo;
662 for (sinfo = (struct sec_merge_info *) *psinfo; sinfo; sinfo = sinfo->next)
663 if (sinfo->chain
664 && (repr = sinfo->chain->sec)
671 if (sinfo == NULL)
674 sinfo = (struct sec_merge_info *)
676 if (sinfo == NULL)
678 sinfo->next = (struct sec_merge_info *) *psinfo;
679 sinfo->chain = NULL;
680 sinfo->last = &sinfo->chain;
681 *psinfo = sinfo;
682 sinfo->htab = sec_merge_init (sec->entsize, (sec->flags & SEC_STRINGS));
683 if (sinfo->htab == NULL)
687 *sinfo->last = secinfo;
688 sinfo->last = &secinfo->next;
690 secinfo->sinfo = sinfo;
691 secinfo->reprsec = sinfo->chain->sec;
701 SINFO. */
704 record_section (struct sec_merge_info *sinfo,
738 if (!sec_merge_maybe_resize (sinfo->htab, 1 + sec->size / 2))
753 uint32_t hash = hashit (sinfo->htab, (char*) p, &len);
759 entry = sec_merge_hash_lookup (sinfo->htab, (char *) p, len, hash,
796 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
871 merge_strings (struct sec_merge_info *sinfo)
879 amt = sinfo->htab->size * sizeof (struct sec_merge_hash_entry *);
884 for (e = sinfo->htab->first, a = array; e; e = e->next)
889 e->len -= sinfo->htab->entsize;
899 sinfo->htab->size = a - array;
900 if (sinfo->htab->size != 0)
902 qsort (array, (size_t) sinfo->htab->size,
904 (alignment != (unsigned) -1 && alignment > sinfo->htab->entsize
909 e->len += sinfo->htab->entsize;
914 cmp->len += sinfo->htab->entsize;
931 secinfo = sinfo->chain;
932 for (e = sinfo->htab->first; e; e = e->next)
945 for (a = &sinfo->htab->first, e = *a; e; e = e->next)
959 secinfo->first_str = sinfo->htab->first;
973 struct sec_merge_info *sinfo;
975 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
980 if (! sinfo->chain)
985 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
994 if (!record_section (sinfo, secinfo))
1006 if (sinfo->htab->first == NULL)
1009 if (sinfo->htab->strings)
1011 secinfo = merge_strings (sinfo);
1017 struct sec_merge_hash_entry *e = sinfo->htab->first;
1022 secinfo = sinfo->chain;
1025 for (e = sinfo->htab->first; e; e = e->next)
1045 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1090 BFD_ASSERT (secinfo == secinfo->sinfo->chain);
1151 struct sec_merge_info *sinfo;
1153 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
1156 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1162 bfd_hash_table_free (&sinfo->htab->table);
1163 free (sinfo->htab);