Lines Matching refs:sinfo
136 struct sec_merge_info *sinfo;
137 /* The section associated with sinfo (i.e. the representative section).
138 Same as sinfo->chain->sec, but faster to access in the hot function. */
614 struct sec_merge_info *sinfo;
678 for (sinfo = (struct sec_merge_info *) *psinfo; sinfo; sinfo = sinfo->next)
679 if (sinfo->chain
680 && (repr = sinfo->chain->sec)
687 if (sinfo == NULL)
690 sinfo = (struct sec_merge_info *)
692 if (sinfo == NULL)
694 sinfo->next = (struct sec_merge_info *) *psinfo;
695 sinfo->chain = NULL;
696 sinfo->last = &sinfo->chain;
697 *psinfo = sinfo;
698 sinfo->htab = sec_merge_init (sec->entsize, (sec->flags & SEC_STRINGS));
699 if (sinfo->htab == NULL)
703 *sinfo->last = secinfo;
704 sinfo->last = &secinfo->next;
706 secinfo->sinfo = sinfo;
707 secinfo->reprsec = sinfo->chain->sec;
719 SINFO. Returns true when section is completely recorded, and false when
724 record_section (struct sec_merge_info *sinfo,
764 uint32_t hash = hashit (sinfo->htab, (char*) p, &len);
770 entry = sec_merge_hash_lookup (sinfo->htab, (char *) p, len, hash,
880 merge_strings (struct sec_merge_info *sinfo)
888 amt = sinfo->htab->table.count * sizeof (struct sec_merge_hash_entry *);
893 for (e = sinfo->htab->first, a = array; e; e = e->next)
898 e->len -= sinfo->htab->entsize;
913 (alignment != (unsigned) -1 && alignment > sinfo->htab->entsize
918 e->len += sinfo->htab->entsize;
923 cmp->len += sinfo->htab->entsize;
940 secinfo = sinfo->chain;
941 for (e = sinfo->htab->first; e; e = e->next)
954 for (a = &sinfo->htab->first, e = *a; e; e = e->next)
968 secinfo->first_str = sinfo->htab->first;
981 struct sec_merge_info *sinfo;
983 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
988 if (! sinfo->chain)
993 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
995 || !record_section (sinfo, secinfo))
1010 if (sinfo->htab->first == NULL)
1013 if (sinfo->htab->strings)
1015 secinfo = merge_strings (sinfo);
1021 struct sec_merge_hash_entry *e = sinfo->htab->first;
1026 secinfo = sinfo->chain;
1029 for (e = sinfo->htab->first; e; e = e->next)
1049 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1121 BFD_ASSERT (secinfo == secinfo->sinfo->chain);
1181 struct sec_merge_info *sinfo;
1183 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
1186 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
1192 bfd_hash_table_free (&sinfo->htab->table);
1193 free (sinfo->htab);