Lines Matching refs:hh
270 struct elf64_hppa_link_hash_entry *hh; in hppa64_link_hash_newfunc() local
273 hh = hppa_elf_hash_entry (entry); in hppa64_link_hash_newfunc()
274 memset (&hh->dlt_offset, 0, in hppa64_link_hash_newfunc()
439 struct elf64_hppa_link_hash_entry *hh, in count_dyn_reloc() argument
453 rent->next = hh->reloc_entries; in count_dyn_reloc()
459 hh->reloc_entries = rent; in count_dyn_reloc()
626 struct elf64_hppa_link_hash_entry *hh; in elf64_hppa_check_relocs() local
637 hh = hppa_elf_hash_entry (elf_sym_hashes (abfd)[indx]); in elf64_hppa_check_relocs()
638 while (hh->eh.root.type == bfd_link_hash_indirect in elf64_hppa_check_relocs()
639 || hh->eh.root.type == bfd_link_hash_warning) in elf64_hppa_check_relocs()
640 hh = hppa_elf_hash_entry (hh->eh.root.u.i.link); in elf64_hppa_check_relocs()
644 hh->eh.ref_regular = 1; in elf64_hppa_check_relocs()
647 hh = NULL; in elf64_hppa_check_relocs()
654 if (hh && ((bfd_link_pic (info) in elf64_hppa_check_relocs()
657 || !hh->eh.def_regular in elf64_hppa_check_relocs()
658 || hh->eh.root.type == bfd_link_hash_defweak)) in elf64_hppa_check_relocs()
711 if (hh != NULL && hh->eh.type != STT_PARISC_MILLI) in elf64_hppa_check_relocs()
768 if (hh) in elf64_hppa_check_relocs()
772 hh->owner = abfd; in elf64_hppa_check_relocs()
773 hh->sym_indx = r_symndx; in elf64_hppa_check_relocs()
785 if (hh != NULL) in elf64_hppa_check_relocs()
787 hh->want_dlt = 1; in elf64_hppa_check_relocs()
788 hh->eh.got.refcount += 1; in elf64_hppa_check_relocs()
808 if (hh != NULL) in elf64_hppa_check_relocs()
810 hh->want_plt = 1; in elf64_hppa_check_relocs()
811 hh->eh.needs_plt = 1; in elf64_hppa_check_relocs()
812 hh->eh.plt.refcount += 1; in elf64_hppa_check_relocs()
833 if (hh) in elf64_hppa_check_relocs()
834 hh->want_stub = 1; in elf64_hppa_check_relocs()
846 if (hh != NULL) in elf64_hppa_check_relocs()
847 hh->want_opd = 1; in elf64_hppa_check_relocs()
872 if (hh != NULL in elf64_hppa_check_relocs()
873 && !count_dyn_reloc (abfd, hh, dynrel_type, sec, in elf64_hppa_check_relocs()
927 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_mark_exported_functions() local
945 hh->want_opd = 1; in elf64_hppa_mark_exported_functions()
948 hh->st_shndx = -1; in elf64_hppa_mark_exported_functions()
960 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in allocate_global_data_dlt() local
963 if (hh->want_dlt) in allocate_global_data_dlt()
975 (x->info, owner, hh->sym_indx))) in allocate_global_data_dlt()
980 hh->dlt_offset = x->ofs; in allocate_global_data_dlt()
991 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in allocate_global_data_plt() local
994 if (hh->want_plt in allocate_global_data_plt()
1000 hh->plt_offset = x->ofs; in allocate_global_data_plt()
1002 if (hh->plt_offset < 0x2000) in allocate_global_data_plt()
1010 hppa_info->gp_offset = hh->plt_offset; in allocate_global_data_plt()
1014 hh->want_plt = 0; in allocate_global_data_plt()
1024 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in allocate_global_data_stub() local
1027 if (hh->want_stub in allocate_global_data_stub()
1033 hh->stub_offset = x->ofs; in allocate_global_data_stub()
1037 hh->want_stub = 0; in allocate_global_data_stub()
1046 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in allocate_global_data_opd() local
1049 if (hh && hh->want_opd) in allocate_global_data_opd()
1053 if (hh && (hh->eh.root.type == bfd_link_hash_undefined in allocate_global_data_opd()
1054 || hh->eh.root.type == bfd_link_hash_undefweak in allocate_global_data_opd()
1055 || hh->eh.root.u.def.section->output_section == NULL)) in allocate_global_data_opd()
1056 hh->want_opd = 0; in allocate_global_data_opd()
1062 || hh == NULL in allocate_global_data_opd()
1063 || (hh->eh.dynindx == -1 && hh->eh.type != STT_PARISC_MILLI) in allocate_global_data_opd()
1064 || (hh->eh.root.type == bfd_link_hash_defined in allocate_global_data_opd()
1065 || hh->eh.root.type == bfd_link_hash_defweak)) in allocate_global_data_opd()
1072 && (hh == NULL || (hh->eh.dynindx == -1))) in allocate_global_data_opd()
1076 owner = (hh->owner ? hh->owner: eh->root.u.def.section->owner); in allocate_global_data_opd()
1079 (x->info, owner, hh->sym_indx)) in allocate_global_data_opd()
1106 hh->opd_offset = x->ofs; in allocate_global_data_opd()
1112 hh->want_opd = 0; in allocate_global_data_opd()
1395 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in allocate_dynrel_entries() local
1415 for (rent = hh->reloc_entries; rent; rent = rent->next) in allocate_dynrel_entries()
1419 if (!shared && rent->type == R_PARISC_FPTR64 && hh->want_opd) in allocate_dynrel_entries()
1429 (x->info, rent->sec->owner, hh->sym_indx)) in allocate_dynrel_entries()
1435 if ((dynamic_symbol || shared) && hh->want_dlt) in allocate_dynrel_entries()
1441 if (shared && hh->want_opd) in allocate_dynrel_entries()
1444 if (hh->want_plt && dynamic_symbol) in allocate_dynrel_entries()
1863 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_link_output_symbol_hook() local
1877 if (hh->want_opd && hh->st_shndx != -1) in elf64_hppa_link_output_symbol_hook()
1880 sym->st_value = hh->st_value; in elf64_hppa_link_output_symbol_hook()
1881 sym->st_shndx = hh->st_shndx; in elf64_hppa_link_output_symbol_hook()
1896 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_finish_dynamic_symbol() local
1916 if (hh->want_opd) in elf64_hppa_finish_dynamic_symbol()
1922 hh->st_value = sym->st_value; in elf64_hppa_finish_dynamic_symbol()
1923 hh->st_shndx = sym->st_shndx; in elf64_hppa_finish_dynamic_symbol()
1927 sym->st_value = (hh->opd_offset in elf64_hppa_finish_dynamic_symbol()
1935 if (hh->want_plt in elf64_hppa_finish_dynamic_symbol()
1964 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset); in elf64_hppa_finish_dynamic_symbol()
1966 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset + 0x8); in elf64_hppa_finish_dynamic_symbol()
1974 rel.r_offset = (hh->plt_offset + splt->output_offset in elf64_hppa_finish_dynamic_symbol()
1976 rel.r_info = ELF64_R_INFO (hh->eh.dynindx, R_PARISC_IPLT); in elf64_hppa_finish_dynamic_symbol()
1985 if (hh->want_stub in elf64_hppa_finish_dynamic_symbol()
1998 memcpy (stub->contents + hh->stub_offset, plt_stub, sizeof (plt_stub)); in elf64_hppa_finish_dynamic_symbol()
2011 value = hh->plt_offset - hppa_info->gp_offset; in elf64_hppa_finish_dynamic_symbol()
2013 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset); in elf64_hppa_finish_dynamic_symbol()
2033 hh->eh.root.root.string, (int64_t) value); in elf64_hppa_finish_dynamic_symbol()
2038 stub->contents + hh->stub_offset); in elf64_hppa_finish_dynamic_symbol()
2042 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset + 8); in elf64_hppa_finish_dynamic_symbol()
2054 stub->contents + hh->stub_offset + 8); in elf64_hppa_finish_dynamic_symbol()
2066 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_finalize_opd() local
2079 if (hh->want_opd) in elf64_hppa_finalize_opd()
2087 memset (sopd->contents + hh->opd_offset, 0, 16); in elf64_hppa_finalize_opd()
2094 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 16); in elf64_hppa_finalize_opd()
2098 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 24); in elf64_hppa_finalize_opd()
2104 if (bfd_link_pic (info) && hh->want_opd) in elf64_hppa_finalize_opd()
2117 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner, in elf64_hppa_finalize_opd()
2118 hh->sym_indx); in elf64_hppa_finalize_opd()
2122 rel.r_offset = (hh->opd_offset + sopd->output_offset in elf64_hppa_finalize_opd()
2186 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_finalize_dlt() local
2202 if (! bfd_link_pic (info) && hh && hh->want_dlt) in elf64_hppa_finalize_dlt()
2212 if (hh->want_opd) in elf64_hppa_finalize_dlt()
2214 value = (hh->opd_offset in elf64_hppa_finalize_dlt()
2234 bfd_put_64 (sdlt->owner, value, sdlt->contents + hh->dlt_offset); in elf64_hppa_finalize_dlt()
2239 if (hh->want_dlt in elf64_hppa_finalize_dlt()
2253 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner, in elf64_hppa_finalize_dlt()
2254 hh->sym_indx); in elf64_hppa_finalize_dlt()
2259 rel.r_offset = (hh->dlt_offset + sdlt->output_offset in elf64_hppa_finalize_dlt()
2281 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf64_hppa_finalize_dynreloc() local
2291 if (hh->reloc_entries) in elf64_hppa_finalize_dynreloc()
2307 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner, in elf64_hppa_finalize_dynreloc()
2308 hh->sym_indx); in elf64_hppa_finalize_dynreloc()
2310 for (rent = hh->reloc_entries; rent; rent = rent->next) in elf64_hppa_finalize_dynreloc()
2318 && rent->type == R_PARISC_FPTR64 && hh->want_opd) in elf64_hppa_finalize_dynreloc()
2349 && rent->type == R_PARISC_FPTR64 && hh->want_opd) in elf64_hppa_finalize_dynreloc()
2354 value = (hh->opd_offset in elf64_hppa_finalize_dynreloc()
3138 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); in elf_hppa_final_link_relocate() local
3181 value = (hh->stub_offset + hppa_info->stub_sec->output_offset in elf_hppa_final_link_relocate()
3215 value = (hh->stub_offset + hppa_info->stub_sec->output_offset in elf_hppa_final_link_relocate()
3296 if (hh == NULL) in elf_hppa_final_link_relocate()
3363 off = hh->dlt_offset; in elf_hppa_final_link_relocate()
3484 value = (hh->plt_offset in elf_hppa_final_link_relocate()
3513 BFD_ASSERT (hh != NULL); in elf_hppa_final_link_relocate()
3519 value = (hh->dlt_offset in elf_hppa_final_link_relocate()
3535 memset (hppa_info->opd_sec->contents + hh->opd_offset, 0, 16); in elf_hppa_final_link_relocate()
3540 + hh->opd_offset + 16)); in elf_hppa_final_link_relocate()
3545 hppa_info->opd_sec->contents + hh->opd_offset + 24); in elf_hppa_final_link_relocate()
3548 value = (hh->opd_offset in elf_hppa_final_link_relocate()
3554 hppa_info->dlt_sec->contents + hh->dlt_offset); in elf_hppa_final_link_relocate()
3561 value = (hh->dlt_offset in elf_hppa_final_link_relocate()
3590 value = (hh->dlt_offset in elf_hppa_final_link_relocate()
3604 value = (hh->stub_offset + hppa_info->stub_sec->output_offset in elf_hppa_final_link_relocate()
3623 value = (hh->stub_offset + hppa_info->stub_sec->output_offset in elf_hppa_final_link_relocate()
3642 if (hh == NULL) in elf_hppa_final_link_relocate()
3675 off = hh->opd_offset; in elf_hppa_final_link_relocate()
3677 if (hh == NULL || hh->want_opd) in elf_hppa_final_link_relocate()