Lines Matching refs:ia64_info

171   (struct elfNN_ia64_link_hash_table *ia64_info,
179 (struct elfNN_ia64_link_hash_table *ia64_info,
194 struct elfNN_ia64_link_hash_table *ia64_info);
284 struct elfNN_ia64_link_hash_table *ia64_info) in elfNN_ia64_update_short_info() argument
291 if (!ia64_info->min_short_sec) in elfNN_ia64_update_short_info()
293 ia64_info->max_short_sec = sec; in elfNN_ia64_update_short_info()
294 ia64_info->max_short_offset = offset; in elfNN_ia64_update_short_info()
295 ia64_info->min_short_sec = sec; in elfNN_ia64_update_short_info()
296 ia64_info->min_short_offset = offset; in elfNN_ia64_update_short_info()
298 else if (sec == ia64_info->max_short_sec in elfNN_ia64_update_short_info()
299 && offset > ia64_info->max_short_offset) in elfNN_ia64_update_short_info()
300 ia64_info->max_short_offset = offset; in elfNN_ia64_update_short_info()
301 else if (sec == ia64_info->min_short_sec in elfNN_ia64_update_short_info()
302 && offset < ia64_info->min_short_offset) in elfNN_ia64_update_short_info()
303 ia64_info->min_short_offset = offset; in elfNN_ia64_update_short_info()
305 > ia64_info->max_short_sec->vma) in elfNN_ia64_update_short_info()
307 ia64_info->max_short_sec = sec; in elfNN_ia64_update_short_info()
308 ia64_info->max_short_offset = offset; in elfNN_ia64_update_short_info()
311 < ia64_info->min_short_sec->vma) in elfNN_ia64_update_short_info()
313 ia64_info->min_short_sec = sec; in elfNN_ia64_update_short_info()
314 ia64_info->min_short_offset = offset; in elfNN_ia64_update_short_info()
336 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_relax_section() local
365 ia64_info = elfNN_ia64_hash_table (link_info); in elfNN_ia64_relax_section()
366 if (ia64_info == NULL) in elfNN_ia64_relax_section()
474 dyn_i = get_dyn_sym_info (ia64_info, NULL, abfd, irel, FALSE); in elfNN_ia64_relax_section()
490 dyn_i = get_dyn_sym_info (ia64_info, h, abfd, irel, FALSE); in elfNN_ia64_relax_section()
501 tsec = ia64_info->root.splt; in elfNN_ia64_relax_section()
574 if (tsec == ia64_info->root.splt) in elfNN_ia64_relax_section()
645 if (tsec == ia64_info->root.splt) in elfNN_ia64_relax_section()
665 if (tsec == ia64_info->root.splt) in elfNN_ia64_relax_section()
746 ia64_info); in elfNN_ia64_relax_section()
760 ia64_info); in elfNN_ia64_relax_section()
822 ia64_info->self_dtpmod_offset = (bfd_vma) -1; in elfNN_ia64_relax_section()
824 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_data_got, &data); in elfNN_ia64_relax_section()
825 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_fptr_got, &data); in elfNN_ia64_relax_section()
826 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_local_got, &data); in elfNN_ia64_relax_section()
827 ia64_info->root.sgot->size = data.ofs; in elfNN_ia64_relax_section()
829 if (ia64_info->root.dynamic_sections_created in elfNN_ia64_relax_section()
830 && ia64_info->root.srelgot != NULL) in elfNN_ia64_relax_section()
833 ia64_info->root.srelgot->size = 0; in elfNN_ia64_relax_section()
835 && ia64_info->self_dtpmod_offset != (bfd_vma) -1) in elfNN_ia64_relax_section()
836 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in elfNN_ia64_relax_section()
838 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_dynrel_entries, in elfNN_ia64_relax_section()
1419 struct elfNN_ia64_link_hash_table *ia64_info in elfNN_ia64_link_hash_table_free() local
1421 if (ia64_info->loc_hash_table) in elfNN_ia64_link_hash_table_free()
1423 htab_traverse (ia64_info->loc_hash_table, in elfNN_ia64_link_hash_table_free()
1425 htab_delete (ia64_info->loc_hash_table); in elfNN_ia64_link_hash_table_free()
1427 if (ia64_info->loc_hash_memory) in elfNN_ia64_link_hash_table_free()
1428 objalloc_free ((struct objalloc *) ia64_info->loc_hash_memory); in elfNN_ia64_link_hash_table_free()
1429 elf_link_hash_traverse (&ia64_info->root, in elfNN_ia64_link_hash_table_free()
1515 elfNN_ia64_dyn_sym_traverse (struct elfNN_ia64_link_hash_table *ia64_info, in elfNN_ia64_dyn_sym_traverse() argument
1524 elf_link_hash_traverse (&ia64_info->root, in elfNN_ia64_dyn_sym_traverse()
1526 htab_traverse (ia64_info->loc_hash_table, in elfNN_ia64_dyn_sym_traverse()
1534 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_create_dynamic_sections() local
1540 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_create_dynamic_sections()
1541 if (ia64_info == NULL) in elfNN_ia64_create_dynamic_sections()
1545 flagword flags = bfd_get_section_flags (abfd, ia64_info->root.sgot); in elfNN_ia64_create_dynamic_sections()
1546 bfd_set_section_flags (abfd, ia64_info->root.sgot, in elfNN_ia64_create_dynamic_sections()
1549 if (! bfd_set_section_alignment (abfd, ia64_info->root.sgot, 3)) in elfNN_ia64_create_dynamic_sections()
1553 if (!get_pltoff (abfd, info, ia64_info)) in elfNN_ia64_create_dynamic_sections()
1565 ia64_info->rel_pltoff_sec = s; in elfNN_ia64_create_dynamic_sections()
1572 get_local_sym_hash (struct elfNN_ia64_link_hash_table *ia64_info, in get_local_sym_hash() argument
1584 slot = htab_find_slot_with_hash (ia64_info->loc_hash_table, &e, h, in get_local_sym_hash()
1594 objalloc_alloc ((struct objalloc *) ia64_info->loc_hash_memory, in get_local_sym_hash()
1802 get_dyn_sym_info (struct elfNN_ia64_link_hash_table *ia64_info, in get_dyn_sym_info() argument
1826 loc_h = get_local_sym_hash (ia64_info, abfd, rel, create); in get_dyn_sym_info()
1942 struct elfNN_ia64_link_hash_table *ia64_info) in get_got() argument
1947 got = ia64_info->root.sgot; in get_got()
1952 dynobj = ia64_info->root.dynobj; in get_got()
1954 ia64_info->root.dynobj = dynobj = abfd; in get_got()
1958 got = ia64_info->root.sgot; in get_got()
1979 struct elfNN_ia64_link_hash_table *ia64_info) in get_fptr() argument
1984 fptr = ia64_info->fptr_sec; in get_fptr()
1987 dynobj = ia64_info->root.dynobj; in get_fptr()
1989 ia64_info->root.dynobj = dynobj = abfd; in get_fptr()
2006 ia64_info->fptr_sec = fptr; in get_fptr()
2025 ia64_info->rel_fptr_sec = fptr_rel; in get_fptr()
2034 struct elfNN_ia64_link_hash_table *ia64_info) in get_pltoff() argument
2039 pltoff = ia64_info->pltoff_sec; in get_pltoff()
2042 dynobj = ia64_info->root.dynobj; in get_pltoff()
2044 ia64_info->root.dynobj = dynobj = abfd; in get_pltoff()
2061 ia64_info->pltoff_sec = pltoff; in get_pltoff()
2069 struct elfNN_ia64_link_hash_table *ia64_info, in get_reloc_section() argument
2082 dynobj = ia64_info->root.dynobj; in get_reloc_section()
2084 ia64_info->root.dynobj = dynobj = abfd; in get_reloc_section()
2138 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_check_relocs() local
2165 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_check_relocs()
2166 if (ia64_info == NULL) in elfNN_ia64_check_relocs()
2335 if (get_dyn_sym_info (ia64_info, h, abfd, rel, TRUE) == NULL) in elfNN_ia64_check_relocs()
2505 dyn_i = get_dyn_sym_info (ia64_info, h, abfd, rel, FALSE); in elfNN_ia64_check_relocs()
2516 got = get_got (abfd, info, ia64_info); in elfNN_ia64_check_relocs()
2535 fptr = get_fptr (abfd, info, ia64_info); in elfNN_ia64_check_relocs()
2556 if (!ia64_info->root.dynobj) in elfNN_ia64_check_relocs()
2557 ia64_info->root.dynobj = abfd; in elfNN_ia64_check_relocs()
2569 pltoff = get_pltoff (abfd, info, ia64_info); in elfNN_ia64_check_relocs()
2580 srel = get_reloc_section (abfd, ia64_info, sec, TRUE); in elfNN_ia64_check_relocs()
2623 struct elfNN_ia64_link_hash_table *ia64_info; in allocate_global_data_got() local
2625 ia64_info = elfNN_ia64_hash_table (x->info); in allocate_global_data_got()
2626 if (ia64_info == NULL) in allocate_global_data_got()
2629 if (ia64_info->self_dtpmod_offset == (bfd_vma) -1) in allocate_global_data_got()
2631 ia64_info->self_dtpmod_offset = x->ofs; in allocate_global_data_got()
2634 dyn_i->dtpmod_offset = ia64_info->self_dtpmod_offset; in allocate_global_data_got()
2833 struct elfNN_ia64_link_hash_table *ia64_info; in allocate_dynrel_entries() local
2837 ia64_info = elfNN_ia64_hash_table (x->info); in allocate_dynrel_entries()
2838 if (ia64_info == NULL) in allocate_dynrel_entries()
2862 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in allocate_dynrel_entries()
2865 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in allocate_dynrel_entries()
2867 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in allocate_dynrel_entries()
2869 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in allocate_dynrel_entries()
2874 if (ia64_info->rel_fptr_sec && dyn_i->want_fptr) in allocate_dynrel_entries()
2877 ia64_info->rel_fptr_sec->size += sizeof (ElfNN_External_Rela); in allocate_dynrel_entries()
2892 ia64_info->rel_pltoff_sec->size += t; in allocate_dynrel_entries()
2939 ia64_info->reltext = 1; in allocate_dynrel_entries()
2980 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_size_dynamic_sections() local
2986 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_size_dynamic_sections()
2987 if (ia64_info == NULL) in elfNN_ia64_size_dynamic_sections()
2989 ia64_info->self_dtpmod_offset = (bfd_vma) -1; in elfNN_ia64_size_dynamic_sections()
2994 if (ia64_info->root.dynamic_sections_created in elfNN_ia64_size_dynamic_sections()
3005 if (ia64_info->root.sgot) in elfNN_ia64_size_dynamic_sections()
3008 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_data_got, &data); in elfNN_ia64_size_dynamic_sections()
3009 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_fptr_got, &data); in elfNN_ia64_size_dynamic_sections()
3010 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_local_got, &data); in elfNN_ia64_size_dynamic_sections()
3011 ia64_info->root.sgot->size = data.ofs; in elfNN_ia64_size_dynamic_sections()
3016 if (ia64_info->fptr_sec) in elfNN_ia64_size_dynamic_sections()
3019 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_fptr, &data); in elfNN_ia64_size_dynamic_sections()
3020 ia64_info->fptr_sec->size = data.ofs; in elfNN_ia64_size_dynamic_sections()
3029 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_plt_entries, &data); in elfNN_ia64_size_dynamic_sections()
3031 ia64_info->minplt_entries = 0; in elfNN_ia64_size_dynamic_sections()
3034 ia64_info->minplt_entries in elfNN_ia64_size_dynamic_sections()
3041 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_plt2_entries, &data); in elfNN_ia64_size_dynamic_sections()
3042 if (data.ofs != 0 || ia64_info->root.dynamic_sections_created) in elfNN_ia64_size_dynamic_sections()
3048 BFD_ASSERT (ia64_info->root.dynamic_sections_created); in elfNN_ia64_size_dynamic_sections()
3050 ia64_info->root.splt->size = data.ofs; in elfNN_ia64_size_dynamic_sections()
3060 if (ia64_info->pltoff_sec) in elfNN_ia64_size_dynamic_sections()
3063 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_pltoff_entries, &data); in elfNN_ia64_size_dynamic_sections()
3064 ia64_info->pltoff_sec->size = data.ofs; in elfNN_ia64_size_dynamic_sections()
3067 if (ia64_info->root.dynamic_sections_created) in elfNN_ia64_size_dynamic_sections()
3072 if (info->shared && ia64_info->self_dtpmod_offset != (bfd_vma) -1) in elfNN_ia64_size_dynamic_sections()
3073 ia64_info->root.srelgot->size += sizeof (ElfNN_External_Rela); in elfNN_ia64_size_dynamic_sections()
3075 elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_dynrel_entries, &data); in elfNN_ia64_size_dynamic_sections()
3097 if (sec == ia64_info->root.sgot) in elfNN_ia64_size_dynamic_sections()
3099 else if (sec == ia64_info->root.srelgot) in elfNN_ia64_size_dynamic_sections()
3102 ia64_info->root.srelgot = NULL; in elfNN_ia64_size_dynamic_sections()
3108 else if (sec == ia64_info->fptr_sec) in elfNN_ia64_size_dynamic_sections()
3111 ia64_info->fptr_sec = NULL; in elfNN_ia64_size_dynamic_sections()
3113 else if (sec == ia64_info->rel_fptr_sec) in elfNN_ia64_size_dynamic_sections()
3116 ia64_info->rel_fptr_sec = NULL; in elfNN_ia64_size_dynamic_sections()
3122 else if (sec == ia64_info->root.splt) in elfNN_ia64_size_dynamic_sections()
3125 ia64_info->root.splt = NULL; in elfNN_ia64_size_dynamic_sections()
3127 else if (sec == ia64_info->pltoff_sec) in elfNN_ia64_size_dynamic_sections()
3130 ia64_info->pltoff_sec = NULL; in elfNN_ia64_size_dynamic_sections()
3132 else if (sec == ia64_info->rel_pltoff_sec) in elfNN_ia64_size_dynamic_sections()
3135 ia64_info->rel_pltoff_sec = NULL; in elfNN_ia64_size_dynamic_sections()
3213 if (ia64_info->reltext) in elfNN_ia64_size_dynamic_sections()
3265 struct elfNN_ia64_link_hash_table *ia64_info; in set_got_entry() local
3270 ia64_info = elfNN_ia64_hash_table (info); in set_got_entry()
3271 if (ia64_info == NULL) in set_got_entry()
3274 got_sec = ia64_info->root.sgot; in set_got_entry()
3284 if (dyn_i->dtpmod_offset != ia64_info->self_dtpmod_offset) in set_got_entry()
3291 done = ia64_info->self_dtpmod_done; in set_got_entry()
3292 ia64_info->self_dtpmod_done = TRUE; in set_got_entry()
3385 ia64_info->root.srelgot, in set_got_entry()
3407 struct elfNN_ia64_link_hash_table *ia64_info; in set_fptr_entry() local
3410 ia64_info = elfNN_ia64_hash_table (info); in set_fptr_entry()
3411 if (ia64_info == NULL) in set_fptr_entry()
3414 fptr_sec = ia64_info->fptr_sec; in set_fptr_entry()
3424 if (ia64_info->rel_fptr_sec) in set_fptr_entry()
3437 loc = ia64_info->rel_fptr_sec->contents; in set_fptr_entry()
3438 loc += ia64_info->rel_fptr_sec->reloc_count++ in set_fptr_entry()
3460 struct elfNN_ia64_link_hash_table *ia64_info; in set_pltoff_entry() local
3463 ia64_info = elfNN_ia64_hash_table (info); in set_pltoff_entry()
3464 if (ia64_info == NULL) in set_pltoff_entry()
3467 pltoff_sec = ia64_info->pltoff_sec; in set_pltoff_entry()
3495 ia64_info->rel_pltoff_sec, in set_pltoff_entry()
3499 ia64_info->rel_pltoff_sec, in set_pltoff_entry()
3564 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_choose_gp() local
3566 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_choose_gp()
3567 if (ia64_info == NULL) in elfNN_ia64_choose_gp()
3602 if (ia64_info->min_short_sec) in elfNN_ia64_choose_gp()
3605 > (ia64_info->min_short_sec->vma in elfNN_ia64_choose_gp()
3606 + ia64_info->min_short_offset)) in elfNN_ia64_choose_gp()
3607 min_short_vma = (ia64_info->min_short_sec->vma in elfNN_ia64_choose_gp()
3608 + ia64_info->min_short_offset); in elfNN_ia64_choose_gp()
3610 < (ia64_info->max_short_sec->vma in elfNN_ia64_choose_gp()
3611 + ia64_info->max_short_offset)) in elfNN_ia64_choose_gp()
3612 max_short_vma = (ia64_info->max_short_sec->vma in elfNN_ia64_choose_gp()
3613 + ia64_info->max_short_offset); in elfNN_ia64_choose_gp()
3633 if (ia64_info->min_short_sec) in elfNN_ia64_choose_gp()
3645 asection *got_sec = ia64_info->root.sgot; in elfNN_ia64_choose_gp()
3710 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_final_link() local
3713 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_final_link()
3714 if (ia64_info == NULL) in elfNN_ia64_final_link()
3788 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_relocate_section() local
3797 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_relocate_section()
3798 if (ia64_info == NULL) in elfNN_ia64_relocate_section()
3814 srel = get_reloc_section (input_bfd, ia64_info, input_section, FALSE); in elfNN_ia64_relocate_section()
3866 loc_h = get_local_sym_hash (ia64_info, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4045 dyn_i = get_dyn_sym_info (ia64_info, h, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4056 dyn_i = get_dyn_sym_info (ia64_info, h, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4067 dyn_i = get_dyn_sym_info (ia64_info, h, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4136 dyn_i = get_dyn_sym_info (ia64_info, h, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4190 dyn_i = get_dyn_sym_info (ia64_info, h, NULL, NULL, FALSE); in elfNN_ia64_relocate_section()
4197 value = (ia64_info->root.splt->output_section->vma in elfNN_ia64_relocate_section()
4198 + ia64_info->root.splt->output_offset in elfNN_ia64_relocate_section()
4396 dyn_i = get_dyn_sym_info (ia64_info, h, input_bfd, rel, FALSE); in elfNN_ia64_relocate_section()
4517 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_finish_dynamic_symbol() local
4520 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_finish_dynamic_symbol()
4521 if (ia64_info == NULL) in elfNN_ia64_finish_dynamic_symbol()
4524 dyn_i = get_dyn_sym_info (ia64_info, h, NULL, NULL, FALSE); in elfNN_ia64_finish_dynamic_symbol()
4539 plt_sec = ia64_info->root.splt; in elfNN_ia64_finish_dynamic_symbol()
4587 loc = ia64_info->rel_pltoff_sec->contents; in elfNN_ia64_finish_dynamic_symbol()
4588 loc += ((ia64_info->rel_pltoff_sec->reloc_count + plt_index) in elfNN_ia64_finish_dynamic_symbol()
4594 if (h == ia64_info->root.hdynamic in elfNN_ia64_finish_dynamic_symbol()
4595 || h == ia64_info->root.hgot in elfNN_ia64_finish_dynamic_symbol()
4596 || h == ia64_info->root.hplt) in elfNN_ia64_finish_dynamic_symbol()
4606 struct elfNN_ia64_link_hash_table *ia64_info; in elfNN_ia64_finish_dynamic_sections() local
4609 ia64_info = elfNN_ia64_hash_table (info); in elfNN_ia64_finish_dynamic_sections()
4610 if (ia64_info == NULL) in elfNN_ia64_finish_dynamic_sections()
4613 dynobj = ia64_info->root.dynobj; in elfNN_ia64_finish_dynamic_sections()
4642 dyn.d_un.d_val = (ia64_info->minplt_entries in elfNN_ia64_finish_dynamic_sections()
4648 dyn.d_un.d_ptr = (ia64_info->rel_pltoff_sec->output_section->vma in elfNN_ia64_finish_dynamic_sections()
4649 + ia64_info->rel_pltoff_sec->output_offset in elfNN_ia64_finish_dynamic_sections()
4650 + (ia64_info->rel_pltoff_sec->reloc_count in elfNN_ia64_finish_dynamic_sections()
4662 dyn.d_un.d_val -= (ia64_info->minplt_entries in elfNN_ia64_finish_dynamic_sections()
4671 if (ia64_info->root.splt) in elfNN_ia64_finish_dynamic_sections()
4673 bfd_byte *loc = ia64_info->root.splt->contents; in elfNN_ia64_finish_dynamic_sections()