Lines Matching refs:cinfo
6475 struct collect_gnu_hash_codes cinfo; in bfd_elf_size_dynsym_hash_dynstr() local
6479 memset (&cinfo, 0, sizeof (cinfo)); in bfd_elf_size_dynsym_hash_dynstr()
6485 cinfo.hashcodes = (long unsigned int *) bfd_malloc (amt); in bfd_elf_size_dynsym_hash_dynstr()
6486 if (cinfo.hashcodes == NULL) in bfd_elf_size_dynsym_hash_dynstr()
6489 cinfo.hashval = cinfo.hashcodes + dynsymcount; in bfd_elf_size_dynsym_hash_dynstr()
6490 cinfo.min_dynindx = -1; in bfd_elf_size_dynsym_hash_dynstr()
6491 cinfo.output_bfd = output_bfd; in bfd_elf_size_dynsym_hash_dynstr()
6492 cinfo.bed = bed; in bfd_elf_size_dynsym_hash_dynstr()
6496 elf_collect_gnu_hash_codes, &cinfo); in bfd_elf_size_dynsym_hash_dynstr()
6497 if (cinfo.error) in bfd_elf_size_dynsym_hash_dynstr()
6499 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6504 = compute_bucket_count (info, cinfo.hashcodes, cinfo.nsyms, 1); in bfd_elf_size_dynsym_hash_dynstr()
6508 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6515 if (cinfo.nsyms == 0) in bfd_elf_size_dynsym_hash_dynstr()
6518 BFD_ASSERT (cinfo.min_dynindx == -1); in bfd_elf_size_dynsym_hash_dynstr()
6519 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6542 BFD_ASSERT (cinfo.min_dynindx != -1); in bfd_elf_size_dynsym_hash_dynstr()
6544 x = cinfo.nsyms; in bfd_elf_size_dynsym_hash_dynstr()
6550 else if ((1 << (maskbitslog2 - 2)) & cinfo.nsyms) in bfd_elf_size_dynsym_hash_dynstr()
6558 cinfo.shift1 = 6; in bfd_elf_size_dynsym_hash_dynstr()
6561 cinfo.shift1 = 5; in bfd_elf_size_dynsym_hash_dynstr()
6562 cinfo.mask = (1 << cinfo.shift1) - 1; in bfd_elf_size_dynsym_hash_dynstr()
6563 cinfo.shift2 = maskbitslog2; in bfd_elf_size_dynsym_hash_dynstr()
6564 cinfo.maskbits = 1 << maskbitslog2; in bfd_elf_size_dynsym_hash_dynstr()
6565 maskwords = 1 << (maskbitslog2 - cinfo.shift1); in bfd_elf_size_dynsym_hash_dynstr()
6568 cinfo.bitmask = (bfd_vma *) bfd_malloc (amt); in bfd_elf_size_dynsym_hash_dynstr()
6569 if (cinfo.bitmask == NULL) in bfd_elf_size_dynsym_hash_dynstr()
6571 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6575 cinfo.counts = (long unsigned int *) (cinfo.bitmask + maskwords); in bfd_elf_size_dynsym_hash_dynstr()
6576 cinfo.indx = cinfo.counts + bucketcount; in bfd_elf_size_dynsym_hash_dynstr()
6577 cinfo.symindx = dynsymcount - cinfo.nsyms; in bfd_elf_size_dynsym_hash_dynstr()
6578 memset (cinfo.bitmask, 0, maskwords * sizeof (bfd_vma)); in bfd_elf_size_dynsym_hash_dynstr()
6581 memset (cinfo.counts, 0, bucketcount * sizeof (cinfo.counts[0])); in bfd_elf_size_dynsym_hash_dynstr()
6582 for (i = 0; i < cinfo.nsyms; ++i) in bfd_elf_size_dynsym_hash_dynstr()
6583 ++cinfo.counts[cinfo.hashcodes[i] % bucketcount]; in bfd_elf_size_dynsym_hash_dynstr()
6585 for (i = 0, cnt = cinfo.symindx; i < bucketcount; ++i) in bfd_elf_size_dynsym_hash_dynstr()
6586 if (cinfo.counts[i] != 0) in bfd_elf_size_dynsym_hash_dynstr()
6588 cinfo.indx[i] = cnt; in bfd_elf_size_dynsym_hash_dynstr()
6589 cnt += cinfo.counts[i]; in bfd_elf_size_dynsym_hash_dynstr()
6592 cinfo.bucketcount = bucketcount; in bfd_elf_size_dynsym_hash_dynstr()
6593 cinfo.local_indx = cinfo.min_dynindx; in bfd_elf_size_dynsym_hash_dynstr()
6595 s->size = (4 + bucketcount + cinfo.nsyms) * 4; in bfd_elf_size_dynsym_hash_dynstr()
6596 s->size += cinfo.maskbits / 8; in bfd_elf_size_dynsym_hash_dynstr()
6600 free (cinfo.bitmask); in bfd_elf_size_dynsym_hash_dynstr()
6601 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6607 bfd_put_32 (output_bfd, cinfo.symindx, contents + 4); in bfd_elf_size_dynsym_hash_dynstr()
6609 bfd_put_32 (output_bfd, cinfo.shift2, contents + 12); in bfd_elf_size_dynsym_hash_dynstr()
6610 contents += 16 + cinfo.maskbits / 8; in bfd_elf_size_dynsym_hash_dynstr()
6614 if (cinfo.counts[i] == 0) in bfd_elf_size_dynsym_hash_dynstr()
6617 bfd_put_32 (output_bfd, cinfo.indx[i], contents); in bfd_elf_size_dynsym_hash_dynstr()
6621 cinfo.contents = contents; in bfd_elf_size_dynsym_hash_dynstr()
6625 elf_renumber_gnu_hash_syms, &cinfo); in bfd_elf_size_dynsym_hash_dynstr()
6630 bfd_put (bed->s->arch_size, output_bfd, cinfo.bitmask[i], in bfd_elf_size_dynsym_hash_dynstr()
6635 free (cinfo.bitmask); in bfd_elf_size_dynsym_hash_dynstr()
6636 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()