Lines Matching refs:sinfo
346 struct sec_merge_info *sinfo;
383 for (sinfo = (struct sec_merge_info *) *psinfo; sinfo; sinfo = sinfo->next)
384 if ((secinfo = sinfo->chain)
391 if (sinfo == NULL)
394 sinfo = (struct sec_merge_info *)
396 if (sinfo == NULL)
398 sinfo->next = (struct sec_merge_info *) *psinfo;
399 sinfo->chain = NULL;
400 *psinfo = sinfo;
401 sinfo->htab = sec_merge_init (sec->entsize, (sec->flags & SEC_STRINGS));
402 if (sinfo->htab == NULL)
419 if (sinfo->chain)
421 secinfo->next = sinfo->chain->next;
422 sinfo->chain->next = secinfo;
426 sinfo->chain = secinfo;
429 secinfo->htab = sinfo->htab;
448 record_section (struct sec_merge_info *sinfo,
470 entry = sec_merge_add (sinfo->htab, (char *) p, (unsigned) eltalign,
482 entry = sec_merge_add (sinfo->htab, "",
502 entry = sec_merge_add (sinfo->htab, (char *) p,
516 entry = sec_merge_add (sinfo->htab, (char *) p, 1, secinfo);
525 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
597 merge_strings (struct sec_merge_info *sinfo)
605 amt = sinfo->htab->size * sizeof (struct sec_merge_hash_entry *);
610 for (e = sinfo->htab->first, a = array; e; e = e->next)
615 e->len -= sinfo->htab->entsize;
625 sinfo->htab->size = a - array;
626 if (sinfo->htab->size != 0)
628 qsort (array, (size_t) sinfo->htab->size,
630 (alignment != (unsigned) -1 && alignment > sinfo->htab->entsize
635 e->len += sinfo->htab->entsize;
640 cmp->len += sinfo->htab->entsize;
659 secinfo = sinfo->htab->first->secinfo;
660 for (e = sinfo->htab->first; e; e = e->next)
688 for (a = &sinfo->htab->first, e = *a; e; e = e->next)
712 struct sec_merge_info *sinfo;
714 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
718 if (! sinfo->chain)
721 /* Move sinfo->chain to head of the chain, terminate it. */
722 secinfo = sinfo->chain;
723 sinfo->chain = secinfo->next;
727 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
734 else if (! record_section (sinfo, secinfo))
740 if (sinfo->htab->first == NULL)
743 if (sinfo->htab->strings)
744 merge_strings (sinfo);
753 for (e = sinfo->htab->first; e; e = e->next)
773 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next)
893 struct sec_merge_info *sinfo;
895 for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next)
897 bfd_hash_table_free (&sinfo->htab->table);
898 free (sinfo->htab);