Lines Matching refs:hh
274 struct elf64_hppa_link_hash_entry *hh;
277 hh = hppa_elf_hash_entry (entry);
278 memset (&hh->dlt_offset, 0,
443 struct elf64_hppa_link_hash_entry *hh,
457 rent->next = hh->reloc_entries;
463 hh->reloc_entries = rent;
631 struct elf64_hppa_link_hash_entry *hh;
642 hh = hppa_elf_hash_entry (elf_sym_hashes (abfd)[indx]);
643 while (hh->eh.root.type == bfd_link_hash_indirect
644 || hh->eh.root.type == bfd_link_hash_warning)
645 hh = hppa_elf_hash_entry (hh->eh.root.u.i.link);
649 if (!hh->eh.root.linker_def && !hh->eh.root.ldscript_def)
650 hh->eh.ref_regular = 1;
653 hh = NULL;
660 if (hh && ((!bfd_link_executable (info)
661 && (!SYMBOLIC_BIND (info, &hh->eh)
663 || !hh->eh.def_regular
664 || hh->eh.root.type == bfd_link_hash_defweak))
717 if (hh != NULL && hh->eh.type != STT_PARISC_MILLI)
774 if (!bfd_elf_gc_record_vtinherit (abfd, sec, &hh->eh, rel->r_offset))
781 if (!bfd_elf_gc_record_vtentry (abfd, sec, &hh->eh, rel->r_addend))
800 if (hh != NULL)
802 hh->want_dlt = 1;
803 hh->eh.got.refcount += 1;
823 if (hh != NULL)
825 hh->want_plt = 1;
826 hh->eh.needs_plt = 1;
827 hh->eh.plt.refcount += 1;
848 if (hh)
849 hh->want_stub = 1;
861 if (hh != NULL)
862 hh->want_opd = 1;
887 if (hh != NULL
888 && !count_dyn_reloc (abfd, hh, dynrel_type, sec,
893 if (hh != NULL
894 && hh->eh.dynindx == -1
895 && ! (bfd_elf_link_record_dynamic_symbol (info, &hh->eh)))
899 if (hh == NULL
905 if (hh == NULL)
959 struct elf_link_hash_entry *hh,
962 if (hh != NULL)
970 return _bfd_elf_gc_mark_hook (sec, info, cookie, hh, symndx);
1006 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1024 hh->want_opd = 1;
1027 hh->st_shndx = -1;
1039 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1042 if (hh->want_dlt)
1044 hh->dlt_offset = x->ofs;
1055 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1058 if (hh->want_plt
1064 hh->plt_offset = x->ofs;
1066 if (hh->plt_offset < 0x2000)
1074 hppa_info->gp_offset = hh->plt_offset;
1078 hh->want_plt = 0;
1088 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1091 if (hh->want_stub
1097 hh->stub_offset = x->ofs;
1101 hh->want_stub = 0;
1110 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1118 if (hh->want_opd)
1122 if (hh->eh.root.type == bfd_link_hash_undefined
1123 || hh->eh.root.type == bfd_link_hash_undefweak
1124 || hh->eh.root.u.def.section->output_section == NULL)
1126 hh->want_opd = 0;
1134 || (hh->eh.dynindx == -1 && hh->eh.type != STT_PARISC_MILLI)
1135 || hh->eh.root.type == bfd_link_hash_defined
1136 hh->eh.root.type == bfd_link_hash_defweak)
1143 hh->opd_offset = x->ofs - OPD_ENTRY_SIZE;
1149 hh->want_opd = 0;
1456 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
1472 if ((dynamic_symbol || shared) && hh->want_dlt)
1478 if (shared && hh->want_opd)
1481 if (hh->want_plt && dynamic_symbol)
1498 hh->reloc_entries = NULL;
1504 hh->reloc_entries = NULL;
1506 if (hh->reloc_entries == NULL)
1519 for (rent = hh->reloc_entries; rent; rent = rent->next)
1528 if ((hh->want_opd && !shared) || (sec->flags & SEC_READONLY))
1547 if (!hh->want_opd)
2075 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2089 if (hh->want_opd && hh->st_shndx != -1)
2092 sym->st_value = hh->st_value;
2093 sym->st_shndx = hh->st_shndx;
2108 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2126 if (hh->want_opd)
2132 hh->st_value = sym->st_value;
2133 hh->st_shndx = sym->st_shndx;
2137 sym->st_value = (hh->opd_offset
2145 if (hh->want_plt
2180 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset);
2182 bfd_put_64 (splt->owner, value, splt->contents + hh->plt_offset + 0x8);
2190 rel.r_offset = (hh->plt_offset + splt->output_offset
2192 rel.r_info = ELF64_R_INFO (hh->eh.dynindx, R_PARISC_IPLT);
2201 if (hh->want_stub
2214 memcpy (stub->contents + hh->stub_offset, plt_stub, sizeof (plt_stub));
2227 value = hh->plt_offset - hppa_info->gp_offset;
2229 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset);
2249 hh->eh.root.root.string, (int64_t) value);
2254 stub->contents + hh->stub_offset);
2258 insn = bfd_get_32 (stub->owner, stub->contents + hh->stub_offset + 8);
2270 stub->contents + hh->stub_offset + 8);
2282 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2295 if (hh->want_opd)
2307 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 16);
2311 bfd_put_64 (sopd->owner, value, sopd->contents + hh->opd_offset + 24);
2317 if (bfd_link_pic (info) && hh->want_opd)
2327 rel.r_offset = (hh->opd_offset + sopd->output_offset
2377 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2389 if (! bfd_link_pic (info) && hh->want_dlt)
2399 if (hh->want_opd)
2401 value = (hh->opd_offset
2421 bfd_put_64 (sdlt->owner, value, sdlt->contents + hh->dlt_offset);
2426 if (hh->want_dlt
2464 rel.r_offset = (hh->dlt_offset + sdlt->output_offset
2485 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
2500 if (hh->reloc_entries)
2505 for (rent = hh->reloc_entries; rent; rent = rent->next)
2515 if ((hh->want_opd && !shared)
2547 if (!hh->want_opd)
2550 value = (hh->opd_offset + sopd->output_offset
3493 struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
3536 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3570 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
3657 if (hh == NULL)
3755 dlt_off = hh->dlt_offset;
3880 value = (hh->plt_offset
3909 BFD_ASSERT (hh != NULL);
3915 value = (hh->dlt_offset
4008 opd_off = hh->opd_offset;
4009 dlt_off = hh->dlt_offset;
4056 if (hh == NULL)
4126 value = (hh->dlt_offset
4140 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
4159 value = (hh->stub_offset + hppa_info->stub_sec->output_offset
4182 if (hh == NULL)
4247 opd_off = hh->opd_offset;
4249 if (hh == NULL || hh->want_opd)
4357 /* This is a local symbol, hh defaults to NULL. */