Lines Matching refs:htab

770   struct elf_s390_link_hash_table *htab;
775 htab = elf_s390_hash_table (info);
776 htab->sgot = bfd_get_section_by_name (dynobj, ".got");
777 htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt");
778 if (!htab->sgot || !htab->sgotplt)
781 htab->srelgot = bfd_make_section_with_flags (dynobj, ".rela.got",
787 if (htab->srelgot == NULL
788 || ! bfd_set_section_alignment (dynobj, htab->srelgot, 3))
802 struct elf_s390_link_hash_table *htab;
804 htab = elf_s390_hash_table (info);
805 if (!htab->sgot && !create_got_section (dynobj, info))
811 htab->splt = bfd_get_section_by_name (dynobj, ".plt");
812 htab->srelplt = bfd_get_section_by_name (dynobj, ".rela.plt");
813 htab->sdynbss = bfd_get_section_by_name (dynobj, ".dynbss");
815 htab->srelbss = bfd_get_section_by_name (dynobj, ".rela.bss");
817 if (!htab->splt || !htab->srelplt || !htab->sdynbss
818 || (!info->shared && !htab->srelbss))
928 struct elf_s390_link_hash_table *htab;
940 htab = elf_s390_hash_table (info);
1021 if (htab->sgot == NULL)
1023 if (htab->elf.dynobj == NULL)
1024 htab->elf.dynobj = abfd;
1025 if (!create_got_section (htab->elf.dynobj, info))
1088 htab->tls_ldm_got.refcount += 1;
1265 if (htab->elf.dynobj == NULL)
1266 htab->elf.dynobj = abfd;
1268 dynobj = htab->elf.dynobj;
1303 s = bfd_section_from_r_symndx (abfd, &htab->sym_sec,
1317 bfd_alloc (htab->elf.dynobj, amt));
1558 struct elf_s390_link_hash_table *htab;
1669 htab = elf_s390_hash_table (info);
1676 htab->srelbss->size += sizeof (Elf64_External_Rela);
1680 s = htab->sdynbss;
1694 struct elf_s390_link_hash_table *htab;
1708 htab = elf_s390_hash_table (info);
1710 if (htab->elf.dynamic_sections_created
1727 asection *s = htab->splt;
1753 htab->sgotplt->size += GOT_ENTRY_SIZE;
1756 htab->srelplt->size += sizeof (Elf64_External_Rela);
1786 h->got.offset = htab->sgot->size;
1787 htab->sgot->size += GOT_ENTRY_SIZE;
1807 s = htab->sgot;
1813 dyn = htab->elf.dynamic_sections_created;
1818 htab->srelgot->size += sizeof (Elf64_External_Rela);
1820 htab->srelgot->size += 2 * sizeof (Elf64_External_Rela);
1825 htab->srelgot->size += sizeof (Elf64_External_Rela);
1884 || (htab->elf.dynamic_sections_created
1956 struct elf_s390_link_hash_table *htab;
1962 htab = elf_s390_hash_table (info);
1963 dynobj = htab->elf.dynobj;
1967 if (htab->elf.dynamic_sections_created)
2026 s = htab->sgot;
2027 srela = htab->srelgot;
2044 if (htab->tls_ldm_got.refcount > 0)
2048 htab->tls_ldm_got.offset = htab->sgot->size;
2049 htab->sgot->size += 2 * GOT_ENTRY_SIZE;
2050 htab->srelgot->size += sizeof (Elf64_External_Rela);
2053 htab->tls_ldm_got.offset = -1;
2057 elf_link_hash_traverse (&htab->elf, allocate_dynrelocs, (PTR) info);
2067 if (s == htab->splt
2068 || s == htab->sgot
2069 || s == htab->sgotplt
2070 || s == htab->sdynbss)
2077 if (s->size != 0 && s != htab->srelplt)
2119 if (htab->elf.dynamic_sections_created)
2135 if (htab->splt->size != 0)
2154 elf_link_hash_traverse (&htab->elf, readonly_dynrelocs,
2191 struct elf_link_hash_table *htab = elf_hash_table (info);
2194 if (htab->tls_sec == NULL)
2196 return htab->tls_size + htab->tls_sec->vma - address;
2234 struct elf_s390_link_hash_table *htab;
2241 htab = elf_s390_hash_table (info);
2341 relocation += htab->sgot->output_section->vma;
2354 if (htab->sgot == NULL)
2362 dyn = htab->elf.dynamic_sections_created;
2389 htab->sgot->contents + off);
2411 htab->sgot->contents + off);
2419 s = htab->srelgot;
2423 outrel.r_offset = (htab->sgot->output_section->vma
2424 + htab->sgot->output_offset
2440 relocation = htab->sgot->output_offset + off;
2448 relocation += htab->sgot->output_section->vma;
2463 relocation -= htab->sgot->output_section->vma;
2469 relocation = htab->sgot->output_section->vma;
2486 || htab->splt == NULL)
2494 relocation = (htab->splt->output_section->vma
2495 + htab->splt->output_offset
2510 || htab->splt == NULL)
2512 relocation -= htab->sgot->output_section->vma;
2516 relocation = (htab->splt->output_section->vma
2517 + htab->splt->output_offset
2519 - htab->sgot->output_section->vma);
2623 osec = htab->elf.text_index_section;
2703 if (htab->sgot == NULL)
2726 if (htab->srelgot == NULL)
2729 outrel.r_offset = (htab->sgot->output_section->vma
2730 + htab->sgot->output_offset + off);
2742 loc = htab->srelgot->contents;
2743 loc += htab->srelgot->reloc_count++
2754 htab->sgot->contents + off + GOT_ENTRY_SIZE);
2761 htab->srelgot->reloc_count++;
2777 relocation = htab->sgot->output_offset + off;
2779 relocation += htab->sgot->output_section->vma;
2784 bfd_put_64 (output_bfd, htab->sgot->output_offset + off,
2809 if (htab->sgot == NULL)
2814 htab->sgot->contents + off);
2815 relocation = htab->sgot->output_offset + off;
2817 relocation += htab->sgot->output_section->vma;
2828 if (htab->sgot == NULL)
2831 off = htab->tls_ldm_got.offset;
2839 if (htab->srelgot == NULL)
2842 outrel.r_offset = (htab->sgot->output_section->vma
2843 + htab->sgot->output_offset + off);
2846 htab->sgot->contents + off + GOT_ENTRY_SIZE);
2849 loc = htab->srelgot->contents;
2850 loc += htab->srelgot->reloc_count++
2853 htab->tls_ldm_got.offset |= 1;
2855 relocation = htab->sgot->output_offset + off;
3082 struct elf_s390_link_hash_table *htab;
3084 htab = elf_s390_hash_table (info);
3097 || htab->splt == NULL
3098 || htab->sgotplt == NULL
3099 || htab->srelplt == NULL)
3112 htab->splt->contents + h->plt.offset);
3114 htab->splt->contents + h->plt.offset + 4);
3116 htab->splt->contents + h->plt.offset + 8);
3118 htab->splt->contents + h->plt.offset + 12);
3120 htab->splt->contents + h->plt.offset + 16);
3122 htab->splt->contents + h->plt.offset + 20);
3124 htab->splt->contents + h->plt.offset + 24);
3126 htab->splt->contents + h->plt.offset + 28);
3129 (htab->sgotplt->output_section->vma +
3130 htab->sgotplt->output_offset + got_offset
3131 - (htab->splt->output_section->vma + h->plt.offset))/2,
3132 htab->splt->contents + h->plt.offset + 2);
3136 htab->splt->contents + h->plt.offset + 24);
3139 htab->splt->contents + h->plt.offset + 28);
3144 (htab->splt->output_section->vma
3145 + htab->splt->output_offset
3148 htab->sgotplt->contents + got_offset);
3151 rela.r_offset = (htab->sgotplt->output_section->vma
3152 + htab->sgotplt->output_offset
3156 loc = htab->srelplt->contents + plt_index * sizeof (Elf64_External_Rela);
3180 if (htab->sgot == NULL || htab->srelgot == NULL)
3183 rela.r_offset = (htab->sgot->output_section->vma
3184 + htab->sgot->output_offset
3207 bfd_put_64 (output_bfd, (bfd_vma) 0, htab->sgot->contents + h->got.offset);
3212 loc = htab->srelgot->contents;
3213 loc += htab->srelgot->reloc_count++ * sizeof (Elf64_External_Rela);
3227 || htab->srelbss == NULL)
3235 loc = htab->srelbss->contents;
3236 loc += htab->srelbss->reloc_count++ * sizeof (Elf64_External_Rela);
3242 || h == htab->elf.hgot
3243 || h == htab->elf.hplt)
3276 struct elf_s390_link_hash_table *htab;
3280 htab = elf_s390_hash_table (info);
3281 dynobj = htab->elf.dynobj;
3284 if (htab->elf.dynamic_sections_created)
3288 if (sdyn == NULL || htab->sgot == NULL)
3306 dyn.d_un.d_ptr = htab->sgot->output_section->vma;
3310 dyn.d_un.d_ptr = htab->srelplt->output_section->vma;
3314 s = htab->srelplt->output_section;
3326 s = htab->srelplt->output_section;
3335 if (htab->splt && htab->splt->size > 0)
3339 htab->splt->contents );
3341 htab->splt->contents +4 );
3343 htab->splt->contents +12 );
3345 htab->splt->contents +16 );
3347 htab->splt->contents +20 );
3349 htab->splt->contents + 24);
3351 htab->splt->contents + 28 );
3354 (htab->sgotplt->output_section->vma +
3355 htab->sgotplt->output_offset
3356 - htab->splt->output_section->vma - 6)/2,
3357 htab->splt->contents + 8);
3359 elf_section_data (htab->splt->output_section)
3363 if (htab->sgotplt)
3366 if (htab->sgotplt->size > 0)
3371 htab->sgotplt->contents);
3373 bfd_put_64 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 8);
3375 bfd_put_64 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 12);
3378 elf_section_data (htab->sgot->output_section)