Lines Matching full:htab
126 elf32_hppa_link_hash_table "htab"
415 struct elf32_hppa_link_hash_table *htab
418 bfd_hash_table_free (&htab->bstab);
429 struct elf32_hppa_link_hash_table *htab;
430 bfd_size_type amt = sizeof (*htab);
432 htab = bfd_zmalloc (amt);
433 if (htab == NULL)
436 if (!_bfd_elf_link_hash_table_init (&htab->etab, abfd, hppa_link_hash_newfunc,
440 free (htab);
445 if (!bfd_hash_table_init (&htab->bstab, stub_hash_newfunc,
451 htab->etab.root.hash_table_free = elf32_hppa_link_hash_table_free;
453 htab->text_segment_base = (bfd_vma) -1;
454 htab->data_segment_base = (bfd_vma) -1;
455 return &htab->etab.root;
501 struct elf32_hppa_link_hash_table *htab)
511 id_sec = htab->stub_group[input_section->id].link_sec;
527 hsh_entry = hppa_stub_hash_lookup (&htab->bstab,
544 struct elf32_hppa_link_hash_table *htab)
550 link_sec = htab->stub_group[section->id].link_sec;
551 stub_sec = htab->stub_group[section->id].stub_sec;
554 stub_sec = htab->stub_group[link_sec->id].stub_sec;
563 s_name = bfd_alloc (htab->stub_bfd, len);
569 stub_sec = (*htab->add_stub_section) (s_name, link_sec);
572 htab->stub_group[link_sec->id].stub_sec = stub_sec;
574 htab->stub_group[section->id].stub_sec = stub_sec;
578 hsh = hppa_stub_hash_lookup (&htab->bstab, stub_name,
693 struct elf32_hppa_link_hash_table *htab;
707 htab = hppa_link_hash_table (info);
708 if (htab == NULL)
771 + htab->splt->output_offset
772 + htab->splt->output_section->vma
773 - elf_gp (htab->splt->output_section->owner));
793 if (htab->multi_subspace)
830 && (!htab->has_22bit_branch
844 if (!htab->has_22bit_branch)
900 struct elf32_hppa_link_hash_table *htab;
905 htab = in_arg;
915 if (htab->multi_subspace)
978 struct elf32_hppa_link_hash_table *htab;
982 htab = hppa_link_hash_table (info);
983 if (htab == NULL)
985 if (htab->splt != NULL)
992 htab->splt = bfd_get_linker_section (abfd, ".plt");
993 htab->srelplt = bfd_get_linker_section (abfd, ".rela.plt");
995 htab->sgot = bfd_get_linker_section (abfd, ".got");
996 htab->srelgot = bfd_get_linker_section (abfd, ".rela.got");
998 htab->sdynbss = bfd_get_linker_section (abfd, ".dynbss");
999 htab->srelbss = bfd_get_linker_section (abfd, ".rela.bss");
1136 struct elf32_hppa_link_hash_table *htab;
1143 htab = hppa_link_hash_table (info);
1144 if (htab == NULL)
1220 htab->has_12bit_branch = 1;
1225 htab->has_17bit_branch = 1;
1229 htab->has_22bit_branch = 1;
1348 if (htab->sgot == NULL)
1350 if (htab->etab.dynobj == NULL)
1351 htab->etab.dynobj = abfd;
1352 if (!elf32_hppa_create_dynamic_sections (htab->etab.dynobj, info))
1358 htab->tls_ldm_got.refcount += 1;
1487 if (htab->etab.dynobj == NULL)
1488 htab->etab.dynobj = abfd;
1491 (sec, htab->etab.dynobj, 2, abfd, /*rela?*/ TRUE);
1515 isym = bfd_sym_from_r_symndx (&htab->sym_cache,
1531 hdh_p = bfd_alloc (htab->etab.dynobj, sizeof *hdh_p);
1590 struct elf32_hppa_link_hash_table *htab;
1595 htab = hppa_link_hash_table (info);
1596 if (htab == NULL)
1663 htab->tls_ldm_got.refcount -= 1;
1803 struct elf32_hppa_link_hash_table *htab;
1903 htab = hppa_link_hash_table (info);
1904 if (htab == NULL)
1912 htab->srelbss->size += sizeof (Elf32_External_Rela);
1916 sec = htab->sdynbss;
1928 struct elf32_hppa_link_hash_table *htab;
1937 htab = hppa_link_hash_table (info);
1938 if (htab == NULL)
1941 if (htab->etab.dynamic_sections_created
1967 sec = htab->splt;
1994 struct elf32_hppa_link_hash_table *htab;
2003 htab = hppa_link_hash_table (info);
2004 if (htab == NULL)
2009 if (htab->etab.dynamic_sections_created
2015 sec = htab->splt;
2020 htab->srelplt->size += sizeof (Elf32_External_Rela);
2021 htab->need_plt_stub = 1;
2036 sec = htab->sgot;
2044 if (htab->etab.dynamic_sections_created
2049 htab->srelgot->size += sizeof (Elf32_External_Rela);
2051 htab->srelgot->size += 2 * sizeof (Elf32_External_Rela);
2053 htab->srelgot->size += sizeof (Elf32_External_Rela);
2114 || (htab->etab.dynamic_sections_created
2201 struct elf32_hppa_link_hash_table *htab;
2207 htab = hppa_link_hash_table (info);
2208 if (htab == NULL)
2211 dynobj = htab->etab.dynobj;
2215 if (htab->etab.dynamic_sections_created)
2228 elf_link_hash_traverse (&htab->etab,
2284 sec = htab->sgot;
2285 srel = htab->srelgot;
2313 if (! htab->etab.dynamic_sections_created)
2321 sec = htab->splt;
2322 srel = htab->srelplt;
2338 if (htab->tls_ldm_got.refcount > 0)
2342 htab->tls_ldm_got.offset = htab->sgot->size;
2343 htab->sgot->size += (GOT_ENTRY_SIZE * 2);
2344 htab->srelgot->size += sizeof (Elf32_External_Rela);
2347 htab->tls_ldm_got.offset = -1;
2352 elf_link_hash_traverse (&htab->etab, allocate_plt_static, info);
2356 elf_link_hash_traverse (&htab->etab, allocate_dynrelocs, info);
2367 if (sec == htab->splt)
2369 if (htab->need_plt_stub)
2374 int gotalign = bfd_section_alignment (dynobj, htab->sgot);
2384 else if (sec == htab->sgot
2385 || sec == htab->sdynbss)
2393 if (sec != htab->srelplt)
2432 if (htab->etab.dynamic_sections_created)
2455 if (htab->srelplt->size != 0)
2473 elf_link_hash_traverse (&htab->etab, readonly_dynrelocs, info);
2502 struct elf32_hppa_link_hash_table *htab = hppa_link_hash_table (info);
2504 if (htab == NULL)
2521 htab->bfd_count = bfd_count;
2524 htab->stub_group = bfd_zmalloc (amt);
2525 if (htab->stub_group == NULL)
2539 htab->top_index = top_index;
2542 htab->input_list = input_list;
2572 struct elf32_hppa_link_hash_table *htab = hppa_link_hash_table (info);
2574 if (htab == NULL)
2577 if (isec->output_section->index <= htab->top_index)
2579 asection **list = htab->input_list + isec->output_section->index;
2583 #define PREV_SEC(sec) (htab->stub_group[(sec)->id].link_sec)
2600 group_sections (struct elf32_hppa_link_hash_table *htab,
2604 asection **list = htab->input_list + htab->top_index;
2643 htab->stub_group[tail->id].link_sec = curr;
2661 htab->stub_group[tail->id].link_sec = curr;
2667 while (list-- != htab->input_list);
2668 free (htab->input_list);
2682 struct elf32_hppa_link_hash_table *htab = hppa_link_hash_table (info);
2684 if (htab == NULL)
2690 bfd_size_type amt = sizeof (Elf_Internal_Sym *) * htab->bfd_count;
2692 htab->all_local_syms = all_local_syms;
2725 if (info->shared && htab->multi_subspace)
2768 hsh = hppa_stub_hash_lookup (&htab->bstab,
2773 hsh = hppa_add_stub (stub_name, sec, htab);
2813 struct elf32_hppa_link_hash_table *htab = hppa_link_hash_table (info);
2815 if (htab == NULL)
2819 htab->stub_bfd = stub_bfd;
2820 htab->multi_subspace = multi_subspace;
2821 htab->add_stub_section = add_stub_section;
2822 htab->layout_sections_again = layout_sections_again;
2834 if (htab->has_17bit_branch || htab->multi_subspace)
2836 if (htab->has_12bit_branch)
2842 if (htab->has_17bit_branch || htab->multi_subspace)
2844 if (htab->has_12bit_branch)
2849 group_sections (htab, stub_group_size, stubs_always_before_branch);
2854 if (htab->all_local_syms)
2886 local_syms = htab->all_local_syms[bfd_indx];
3022 id_sec = htab->stub_group[section->id].link_sec;
3029 hsh = hppa_stub_hash_lookup (&htab->bstab,
3039 hsh = hppa_add_stub (stub_name, section, htab);
3071 for (stub_sec = htab->stub_bfd->sections;
3076 bfd_hash_traverse (&htab->bstab, hppa_size_one_stub, htab);
3079 (*htab->layout_sections_again) ();
3083 free (htab->all_local_syms);
3087 free (htab->all_local_syms);
3100 struct elf32_hppa_link_hash_table *htab;
3102 htab = hppa_link_hash_table (info);
3103 if (htab == NULL)
3106 h = bfd_link_hash_lookup (&htab->etab.root, "$global$", FALSE, FALSE, FALSE);
3187 struct elf32_hppa_link_hash_table *htab;
3189 htab = hppa_link_hash_table (info);
3190 if (htab == NULL)
3193 for (stub_sec = htab->stub_bfd->sections;
3201 stub_sec->contents = bfd_zalloc (htab->stub_bfd, size);
3208 table = &htab->bstab;
3232 struct elf_link_hash_table *htab = elf_hash_table (info);
3235 if (htab->tls_sec == NULL)
3239 return (address - htab->tls_sec->vma
3240 + align_power ((bfd_vma) 8, htab->tls_sec->alignment_power));
3265 struct elf32_hppa_link_hash_table *htab;
3267 htab = (struct elf32_hppa_link_hash_table*) data;
3268 if (htab == NULL)
3282 if (value < htab->text_segment_base)
3283 htab->text_segment_base = value;
3287 if (value < htab->data_segment_base)
3288 htab->data_segment_base = value;
3300 struct elf32_hppa_link_hash_table *htab,
3374 hh, rela, htab);
3481 value -= htab->text_segment_base;
3483 value -= htab->data_segment_base;
3572 hh, rela, htab);
3647 struct elf32_hppa_link_hash_table *htab;
3654 htab = hppa_link_hash_table (info);
3655 if (htab == NULL)
3759 dyn = htab->etab.dynamic_sections_created;
3807 asection *sec = htab->srelgot;
3810 + htab->sgot->output_offset
3811 + htab->sgot->output_section->vma);
3820 htab->sgot->contents + off);
3828 + htab->sgot->output_offset
3829 + htab->sgot->output_section->vma);
3836 if (htab->text_segment_base == (bfd_vma) -1)
3837 bfd_map_over_sections (output_bfd, hppa_record_segment_addr, htab);
3843 if (htab->etab.dynamic_sections_created)
3897 asection *s = htab->srelplt;
3900 + htab->splt->output_offset
3901 + htab->splt->output_section->vma);
3912 htab->splt->contents + off);
3914 elf_gp (htab->splt->output_section->owner),
3915 htab->splt->contents + off + 4);
3933 + htab->splt->output_offset
3934 + htab->splt->output_section->vma
4037 osec = htab->etab.text_index_section;
4066 off = htab->tls_ldm_got.offset;
4075 + htab->sgot->output_section->vma
4076 + htab->sgot->output_offset);
4079 loc = htab->srelgot->contents;
4080 loc += htab->srelgot->reloc_count++ * sizeof (Elf32_External_Rela);
4083 htab->tls_ldm_got.offset |= 1;
4088 + htab->sgot->output_offset
4089 + htab->sgot->output_section->vma);
4112 dyn = htab->etab.dynamic_sections_created;
4151 loc = htab->srelgot->contents;
4153 loc += htab->srelgot->reloc_count * sizeof (Elf32_External_Rela);
4161 + htab->sgot->output_section->vma
4162 + htab->sgot->output_offset);
4165 bfd_put_32 (output_bfd, 0, htab->sgot->contents + cur_off);
4167 htab->srelgot->reloc_count++;
4172 htab->sgot->contents + cur_off + 4);
4176 htab->sgot->contents + cur_off + 4);
4180 htab->srelgot->reloc_count++;
4192 htab->sgot->contents + cur_off);
4194 htab->sgot->contents + cur_off + 4);
4206 + htab->sgot->output_section->vma
4207 + htab->sgot->output_offset);
4216 htab->srelgot->reloc_count++;
4221 htab->sgot->contents + cur_off);
4239 + htab->sgot->output_offset
4240 + htab->sgot->output_section->vma);
4258 htab, sym_sec, hh, info);
4314 struct elf32_hppa_link_hash_table *htab;
4318 htab = hppa_link_hash_table (info);
4319 if (htab == NULL)
4348 + htab->splt->output_offset
4349 + htab->splt->output_section->vma);
4363 loc = htab->srelplt->contents;
4364 loc += htab->srelplt->reloc_count++ * sizeof (Elf32_External_Rela);
4365 bfd_elf32_swap_reloca_out (htab->splt->output_section->owner, &rela, loc);
4383 + htab->sgot->output_offset
4384 + htab->sgot->output_section->vma);
4405 bfd_put_32 (output_bfd, 0, htab->sgot->contents + (eh->got.offset & ~1));
4410 loc = htab->srelgot->contents;
4411 loc += htab->srelgot->reloc_count++ * sizeof (Elf32_External_Rela);
4426 sec = htab->srelbss;
4438 if (eh == htab->etab.hdynamic || eh == htab->etab.hgot)
4486 struct elf32_hppa_link_hash_table *htab;
4490 htab = hppa_link_hash_table (info);
4491 if (htab == NULL)
4494 dynobj = htab->etab.dynobj;
4496 sgot = htab->sgot;
4504 if (htab->etab.dynamic_sections_created)
4531 s = htab->srelplt;
4536 s = htab->srelplt;
4543 s = htab->srelplt;
4553 s = htab->srelplt;
4582 if (htab->splt != NULL && htab->splt->size != 0)
4585 elf_section_data (htab->splt->output_section)
4588 if (htab->need_plt_stub)
4591 memcpy (htab->splt->contents
4592 + htab->splt->size - sizeof (plt_stub),
4595 if ((htab->splt->output_offset
4596 + htab->splt->output_section->vma
4597 + htab->splt->size)