Lines Matching refs:cinfo
6277 struct collect_gnu_hash_codes cinfo; in bfd_elf_size_dynsym_hash_dynstr() local
6281 memset (&cinfo, 0, sizeof (cinfo)); in bfd_elf_size_dynsym_hash_dynstr()
6287 cinfo.hashcodes = bfd_malloc (amt); in bfd_elf_size_dynsym_hash_dynstr()
6288 if (cinfo.hashcodes == NULL) in bfd_elf_size_dynsym_hash_dynstr()
6291 cinfo.hashval = cinfo.hashcodes + dynsymcount; in bfd_elf_size_dynsym_hash_dynstr()
6292 cinfo.min_dynindx = -1; in bfd_elf_size_dynsym_hash_dynstr()
6293 cinfo.output_bfd = output_bfd; in bfd_elf_size_dynsym_hash_dynstr()
6294 cinfo.bed = bed; in bfd_elf_size_dynsym_hash_dynstr()
6298 elf_collect_gnu_hash_codes, &cinfo); in bfd_elf_size_dynsym_hash_dynstr()
6301 = compute_bucket_count (info, cinfo.hashcodes, cinfo.nsyms, 1); in bfd_elf_size_dynsym_hash_dynstr()
6305 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6312 if (cinfo.nsyms == 0) in bfd_elf_size_dynsym_hash_dynstr()
6315 BFD_ASSERT (cinfo.min_dynindx == -1); in bfd_elf_size_dynsym_hash_dynstr()
6316 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6339 BFD_ASSERT (cinfo.min_dynindx != -1); in bfd_elf_size_dynsym_hash_dynstr()
6341 maskbitslog2 = bfd_log2 (cinfo.nsyms) + 1; in bfd_elf_size_dynsym_hash_dynstr()
6344 else if ((1 << (maskbitslog2 - 2)) & cinfo.nsyms) in bfd_elf_size_dynsym_hash_dynstr()
6352 cinfo.shift1 = 6; in bfd_elf_size_dynsym_hash_dynstr()
6355 cinfo.shift1 = 5; in bfd_elf_size_dynsym_hash_dynstr()
6356 cinfo.mask = (1 << cinfo.shift1) - 1; in bfd_elf_size_dynsym_hash_dynstr()
6357 cinfo.shift2 = maskbitslog2; in bfd_elf_size_dynsym_hash_dynstr()
6358 cinfo.maskbits = 1 << maskbitslog2; in bfd_elf_size_dynsym_hash_dynstr()
6359 maskwords = 1 << (maskbitslog2 - cinfo.shift1); in bfd_elf_size_dynsym_hash_dynstr()
6362 cinfo.bitmask = bfd_malloc (amt); in bfd_elf_size_dynsym_hash_dynstr()
6363 if (cinfo.bitmask == NULL) in bfd_elf_size_dynsym_hash_dynstr()
6365 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6369 cinfo.counts = (void *) (cinfo.bitmask + maskwords); in bfd_elf_size_dynsym_hash_dynstr()
6370 cinfo.indx = cinfo.counts + bucketcount; in bfd_elf_size_dynsym_hash_dynstr()
6371 cinfo.symindx = dynsymcount - cinfo.nsyms; in bfd_elf_size_dynsym_hash_dynstr()
6372 memset (cinfo.bitmask, 0, maskwords * sizeof (bfd_vma)); in bfd_elf_size_dynsym_hash_dynstr()
6375 memset (cinfo.counts, 0, bucketcount * sizeof (cinfo.counts[0])); in bfd_elf_size_dynsym_hash_dynstr()
6376 for (i = 0; i < cinfo.nsyms; ++i) in bfd_elf_size_dynsym_hash_dynstr()
6377 ++cinfo.counts[cinfo.hashcodes[i] % bucketcount]; in bfd_elf_size_dynsym_hash_dynstr()
6379 for (i = 0, cnt = cinfo.symindx; i < bucketcount; ++i) in bfd_elf_size_dynsym_hash_dynstr()
6380 if (cinfo.counts[i] != 0) in bfd_elf_size_dynsym_hash_dynstr()
6382 cinfo.indx[i] = cnt; in bfd_elf_size_dynsym_hash_dynstr()
6383 cnt += cinfo.counts[i]; in bfd_elf_size_dynsym_hash_dynstr()
6386 cinfo.bucketcount = bucketcount; in bfd_elf_size_dynsym_hash_dynstr()
6387 cinfo.local_indx = cinfo.min_dynindx; in bfd_elf_size_dynsym_hash_dynstr()
6389 s->size = (4 + bucketcount + cinfo.nsyms) * 4; in bfd_elf_size_dynsym_hash_dynstr()
6390 s->size += cinfo.maskbits / 8; in bfd_elf_size_dynsym_hash_dynstr()
6394 free (cinfo.bitmask); in bfd_elf_size_dynsym_hash_dynstr()
6395 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()
6401 bfd_put_32 (output_bfd, cinfo.symindx, contents + 4); in bfd_elf_size_dynsym_hash_dynstr()
6403 bfd_put_32 (output_bfd, cinfo.shift2, contents + 12); in bfd_elf_size_dynsym_hash_dynstr()
6404 contents += 16 + cinfo.maskbits / 8; in bfd_elf_size_dynsym_hash_dynstr()
6408 if (cinfo.counts[i] == 0) in bfd_elf_size_dynsym_hash_dynstr()
6411 bfd_put_32 (output_bfd, cinfo.indx[i], contents); in bfd_elf_size_dynsym_hash_dynstr()
6415 cinfo.contents = contents; in bfd_elf_size_dynsym_hash_dynstr()
6419 elf_renumber_gnu_hash_syms, &cinfo); in bfd_elf_size_dynsym_hash_dynstr()
6424 bfd_put (bed->s->arch_size, output_bfd, cinfo.bitmask[i], in bfd_elf_size_dynsym_hash_dynstr()
6429 free (cinfo.bitmask); in bfd_elf_size_dynsym_hash_dynstr()
6430 free (cinfo.hashcodes); in bfd_elf_size_dynsym_hash_dynstr()