Lines Matching refs:secinfo

50   struct sec_merge_sec_info *secinfo;  member
124 ret->secinfo = NULL; in sec_merge_hash_newfunc()
268 unsigned int alignment, struct sec_merge_sec_info *secinfo) in sec_merge_add() argument
276 if (entry->secinfo == NULL) in sec_merge_add()
279 entry->secinfo = secinfo; in sec_merge_add()
293 struct sec_merge_sec_info *secinfo = entry->secinfo; in sec_merge_emit() local
294 asection *sec = secinfo->sec; in sec_merge_emit()
302 for (; entry != NULL && entry->secinfo == secinfo; entry = entry->next) in sec_merge_emit()
328 return entry == NULL || entry->secinfo != secinfo; in sec_merge_emit()
338 struct sec_merge_sec_info *secinfo; in _bfd_merge_section() local
371 if ((secinfo = sinfo->chain) in _bfd_merge_section()
372 && ! ((secinfo->sec->flags ^ sec->flags) & (SEC_MERGE | SEC_STRINGS)) in _bfd_merge_section()
373 && secinfo->sec->entsize == sec->entsize in _bfd_merge_section()
374 && ! strcmp (secinfo->sec->name, sec->name)) in _bfd_merge_section()
399 secinfo = (struct sec_merge_sec_info *)*psecinfo; in _bfd_merge_section()
402 secinfo->next = sinfo->chain->next; in _bfd_merge_section()
403 sinfo->chain->next = secinfo; in _bfd_merge_section()
406 secinfo->next = secinfo; in _bfd_merge_section()
407 sinfo->chain = secinfo; in _bfd_merge_section()
408 secinfo->sec = sec; in _bfd_merge_section()
409 secinfo->psecinfo = psecinfo; in _bfd_merge_section()
410 secinfo->htab = sinfo->htab; in _bfd_merge_section()
411 secinfo->first = NULL; in _bfd_merge_section()
413 if (! bfd_get_section_contents (sec->owner, sec, secinfo->contents, in _bfd_merge_section()
427 struct sec_merge_sec_info *secinfo) in record_section() argument
429 asection *sec = secinfo->sec; in record_section()
437 end = secinfo->contents + sec->_raw_size; in record_section()
442 for (p = secinfo->contents; p < end; ) in record_section()
444 eltalign = p - secinfo->contents; in record_section()
448 entry = sec_merge_add (sinfo->htab, p, (unsigned) eltalign, secinfo); in record_section()
456 if (!nul && !((p - secinfo->contents) & mask)) in record_section()
460 (unsigned) mask + 1, secinfo); in record_section()
476 if (!nul && !((p - secinfo->contents) & mask)) in record_section()
480 (unsigned) mask + 1, secinfo); in record_section()
491 for (p = secinfo->contents; p < end; p += sec->entsize) in record_section()
493 entry = sec_merge_add (sinfo->htab, p, 1, secinfo); in record_section()
502 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) in record_section()
503 *secinfo->psecinfo = NULL; in record_section()
577 struct sec_merge_sec_info *secinfo; in merge_strings() local
636 secinfo = sinfo->htab->first->secinfo; in merge_strings()
639 if (e->secinfo != secinfo) in merge_strings()
641 secinfo->sec->_cooked_size = size; in merge_strings()
642 secinfo = e->secinfo; in merge_strings()
646 if (e->secinfo->first == NULL) in merge_strings()
648 e->secinfo->first = e; in merge_strings()
656 secinfo->sec->_cooked_size = size; in merge_strings()
668 e->secinfo = e->u.suffix->secinfo; in merge_strings()
686 struct sec_merge_sec_info * secinfo; in _bfd_merge_sections() local
692 secinfo = sinfo->chain; in _bfd_merge_sections()
693 sinfo->chain = secinfo->next; in _bfd_merge_sections()
694 secinfo->next = NULL; in _bfd_merge_sections()
697 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) in _bfd_merge_sections()
698 if (secinfo->sec->flags & SEC_EXCLUDE) in _bfd_merge_sections()
700 *secinfo->psecinfo = NULL; in _bfd_merge_sections()
702 (*remove_hook) (abfd, secinfo->sec); in _bfd_merge_sections()
704 else if (! record_section (sinfo, secinfo)) in _bfd_merge_sections()
707 if (secinfo) in _bfd_merge_sections()
722 secinfo = NULL; in _bfd_merge_sections()
725 if (e->secinfo->first == NULL) in _bfd_merge_sections()
727 if (secinfo) in _bfd_merge_sections()
728 secinfo->sec->_cooked_size = size; in _bfd_merge_sections()
729 e->secinfo->first = e; in _bfd_merge_sections()
736 secinfo = e->secinfo; in _bfd_merge_sections()
738 secinfo->sec->_cooked_size = size; in _bfd_merge_sections()
743 for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) in _bfd_merge_sections()
744 if (secinfo->first == NULL) in _bfd_merge_sections()
746 secinfo->sec->_cooked_size = 0; in _bfd_merge_sections()
747 secinfo->sec->flags |= SEC_EXCLUDE; in _bfd_merge_sections()
759 struct sec_merge_sec_info *secinfo; in _bfd_write_merged_section() local
762 secinfo = (struct sec_merge_sec_info *) psecinfo; in _bfd_write_merged_section()
764 if (!secinfo->first) in _bfd_write_merged_section()
771 if (! sec_merge_emit (output_bfd, secinfo->first)) in _bfd_write_merged_section()
785 struct sec_merge_sec_info *secinfo; in _bfd_merged_section_offset() local
790 secinfo = (struct sec_merge_sec_info *) psecinfo; in _bfd_merged_section_offset()
800 return (secinfo->first ? sec->_cooked_size : 0); in _bfd_merged_section_offset()
803 if (secinfo->htab->strings) in _bfd_merged_section_offset()
807 p = secinfo->contents + offset + addend - 1; in _bfd_merged_section_offset()
808 while (p >= secinfo->contents && *p) in _bfd_merged_section_offset()
814 p = secinfo->contents in _bfd_merged_section_offset()
817 while (p >= secinfo->contents) in _bfd_merged_section_offset()
833 p = secinfo->contents in _bfd_merged_section_offset()
836 entry = sec_merge_hash_lookup (secinfo->htab, p, 0, FALSE); in _bfd_merged_section_offset()
839 if (! secinfo->htab->strings) in _bfd_merged_section_offset()
845 if (! secinfo->htab->first) in _bfd_merged_section_offset()
847 entry = secinfo->htab->first; in _bfd_merged_section_offset()
848 p = secinfo->contents in _bfd_merged_section_offset()
853 *psec = entry->secinfo->sec; in _bfd_merged_section_offset()
854 return entry->u.index + (secinfo->contents + offset - p); in _bfd_merged_section_offset()