Lines Matching refs:hh
271 struct elf64_hppa_link_hash_entry *hh;
274 hh = hppa_elf_hash_entry (entry);
275 memset (&hh->dlt_offset, 0,
440 struct elf64_hppa_link_hash_entry *hh,
454 rent->next = hh->reloc_entries;
460 hh->reloc_entries = rent;
627 struct elf64_hppa_link_hash_entry *hh;
638 hh = hppa_elf_hash_entry (elf_sym_hashes (abfd)[indx]);
639 while (hh->eh.root.type == bfd_link_hash_indirect
640 || hh->eh.root.type == bfd_link_hash_warning)
641 hh = hppa_elf_hash_entry (hh->eh.root.u.i.link);
645 hh->eh.ref_regular = 1;
648 hh = NULL;
655 if (hh && ((bfd_link_pic (info)
658 || !hh->eh.def_regular
659 || hh->eh.root.type == bfd_link_hash_defweak))
712 if (hh != NULL && hh->eh.type != STT_PARISC_MILLI)
769 if (hh)
773 hh->owner = abfd;
774 hh->sym_indx = r_symndx;
786 if (hh != NULL)
788 hh->want_dlt = 1;
789 hh->eh.got.refcount += 1;
809 if (hh != NULL)
811 hh->want_plt = 1;
812 hh->eh.needs_plt = 1;
813 hh->eh.plt.refcount += 1;
834 if (hh)
835 hh->want_stub = 1;
847 if (hh != NULL)
848 hh->want_opd = 1;
873 if (hh != NULL
874 && !count_dyn_reloc (abfd, hh, dynrel_type, sec,
928 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
946 hh->want_opd = 1;
949 hh->st_shndx = -1;
961 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
964 if (hh->want_dlt)
976 (x->info, owner, hh->sym_indx)))
981 hh->dlt_offset = x->ofs;
992 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
995 if (hh->want_plt
1001 hh->plt_offset = x->ofs;
1003 if (hh->plt_offset < 0x2000)
1011 hppa_info->gp_offset = hh->plt_offset;
1015 hh->want_plt = 0;
1025 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1028 if (hh->want_stub
1034 hh->stub_offset = x->ofs;
1038 hh->want_stub = 0;
1047 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1050 if (hh && hh->want_opd)
1054 if (hh && (hh->eh.root.type == bfd_link_hash_undefined
1055 || hh->eh.root.type == bfd_link_hash_undefweak
1056 || hh->eh.root.u.def.section->output_section == NULL))
1057 hh->want_opd = 0;
1063 || hh == NULL
1064 || (hh->eh.dynindx == -1 && hh->eh.type != STT_PARISC_MILLI)
1065 || (hh->eh.root.type == bfd_link_hash_defined
1066 || hh->eh.root.type == bfd_link_hash_defweak))
1073 && (hh == NULL || (hh->eh.dynindx == -1)))
1077 owner = (hh->owner ? hh->owner: eh->root.u.def.section->owner);
1080 (x->info, owner, hh->sym_indx))
1107 hh->opd_offset = x->ofs;
1113 hh->want_opd = 0;
1396 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1416 for (rent = hh->reloc_entries; rent; rent = rent->next)
1420 if (!shared && rent->type == R_PARISC_FPTR64 && hh->want_opd)
1430 (x->info, rent->sec->owner, hh->sym_indx))
1436 if ((dynamic_symbol || shared) && hh->want_dlt)
1442 if (shared && hh->want_opd)
1445 if (hh->want_plt && dynamic_symbol)
1871 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1885 if (hh->want_opd && hh->st_shndx != -1)
1888 sym->st_value = hh->st_value;
1889 sym->st_shndx = hh->st_shndx;
1904 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1922 if (hh->want_opd)
1928 hh->st_value = sym->st_value;
1929 hh->st_shndx = sym->st_shndx;
1933 sym->st_value = (hh->opd_offset
1941 if (hh->want_plt
1970 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset);
1972 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset + 0x8);
1980 rel.r_offset = (hh->plt_offset + splt->output_offset
1982 rel.r_info = ELF64_R_INFO (hh->eh.dynindx, R_PARISC_IPLT);
1991 if (hh->want_stub
2004 memcpy (stub->contents + hh->stub_offset, plt_stub, sizeof (plt_stub));
2017 value = hh->plt_offset - hppa_info->gp_offset;
2019 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset);
2039 hh->eh.root.root.string, (int64_t) value);
2044 stub->contents + hh->stub_offset);
2048 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset + 8);
2060 stub->contents + hh->stub_offset + 8);
2072 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2085 if (hh->want_opd)
2093 memset (sopd->contents + hh->opd_offset, 0, 16);
2100 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 16);
2104 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 24);
2110 if (bfd_link_pic (info) && hh->want_opd)
2123 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner,
2124 hh->sym_indx);
2128 rel.r_offset = (hh->opd_offset + sopd->output_offset
2192 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2208 if (! bfd_link_pic (info) && hh && hh->want_dlt)
2218 if (hh->want_opd)
2220 value = (hh->opd_offset
2240 bfd_put_64 (sdlt->owner, value, sdlt->contents + hh->dlt_offset);
2245 if (hh->want_dlt
2259 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner,
2260 hh->sym_indx);
2265 rel.r_offset = (hh->dlt_offset + sdlt->output_offset
2287 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2297 if (hh->reloc_entries)
2313 = _bfd_elf_link_lookup_local_dynindx (info, hh->owner,
2314 hh->sym_indx);
2316 for (rent = hh->reloc_entries; rent; rent = rent->next)
2324 && rent->type == R_PARISC_FPTR64 && hh->want_opd)
2355 && rent->type == R_PARISC_FPTR64 && hh->want_opd)
2360 value = (hh->opd_offset
3144 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
3187 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3221 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3302 if (hh == NULL)
3369 off = hh->dlt_offset;
3490 value = (hh->plt_offset
3519 BFD_ASSERT (hh != NULL);
3525 value = (hh->dlt_offset
3541 memset (hppa_info->opd_sec->contents + hh->opd_offset, 0, 16);
3546 + hh->opd_offset + 16));
3551 hppa_info->opd_sec->contents + hh->opd_offset + 24);
3554 value = (hh->opd_offset
3560 hppa_info->dlt_sec->contents + hh->dlt_offset);
3567 value = (hh->dlt_offset
3596 value = (hh->dlt_offset
3610 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3629 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3648 if (hh == NULL)
3681 off = hh->opd_offset;
3683 if (hh == NULL || hh->want_opd)
3794 /* This is a local symbol, hh defaults to NULL. */