Lines Matching refs:htab

815   struct elf_s390_link_hash_table *htab;
820 htab = elf_s390_hash_table (info);
821 htab->sgot = bfd_get_section_by_name (dynobj, ".got");
822 htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt");
823 if (!htab->sgot || !htab->sgotplt)
826 htab->srelgot = bfd_make_section_with_flags (dynobj, ".rela.got",
832 if (htab->srelgot == NULL
833 || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2))
847 struct elf_s390_link_hash_table *htab;
849 htab = elf_s390_hash_table (info);
850 if (!htab->sgot && !create_got_section (dynobj, info))
856 htab->splt = bfd_get_section_by_name (dynobj, ".plt");
857 htab->srelplt = bfd_get_section_by_name (dynobj, ".rela.plt");
858 htab->sdynbss = bfd_get_section_by_name (dynobj, ".dynbss");
860 htab->srelbss = bfd_get_section_by_name (dynobj, ".rela.bss");
862 if (!htab->splt || !htab->srelplt || !htab->sdynbss
863 || (!info->shared && !htab->srelbss))
973 struct elf_s390_link_hash_table *htab;
985 htab = elf_s390_hash_table (info);
1062 if (htab->sgot == NULL)
1064 if (htab->elf.dynobj == NULL)
1065 htab->elf.dynobj = abfd;
1066 if (!create_got_section (htab->elf.dynobj, info))
1125 htab->tls_ldm_got.refcount += 1;
1298 if (htab->elf.dynobj == NULL)
1299 htab->elf.dynobj = abfd;
1301 dynobj = htab->elf.dynobj;
1335 s = bfd_section_from_r_symndx (abfd, &htab->sym_sec,
1350 bfd_alloc (htab->elf.dynobj, amt));
1583 struct elf_s390_link_hash_table *htab;
1694 htab = elf_s390_hash_table (info);
1701 htab->srelbss->size += sizeof (Elf32_External_Rela);
1705 s = htab->sdynbss;
1719 struct elf_s390_link_hash_table *htab;
1733 htab = elf_s390_hash_table (info);
1735 if (htab->elf.dynamic_sections_created
1752 asection *s = htab->splt;
1778 htab->sgotplt->size += GOT_ENTRY_SIZE;
1781 htab->srelplt->size += sizeof (Elf32_External_Rela);
1811 h->got.offset = htab->sgot->size;
1812 htab->sgot->size += GOT_ENTRY_SIZE;
1832 s = htab->sgot;
1838 dyn = htab->elf.dynamic_sections_created;
1843 htab->srelgot->size += sizeof (Elf32_External_Rela);
1845 htab->srelgot->size += 2 * sizeof (Elf32_External_Rela);
1850 htab->srelgot->size += sizeof (Elf32_External_Rela);
1909 || (htab->elf.dynamic_sections_created
1982 struct elf_s390_link_hash_table *htab;
1988 htab = elf_s390_hash_table (info);
1989 dynobj = htab->elf.dynobj;
1993 if (htab->elf.dynamic_sections_created)
2052 s = htab->sgot;
2053 srela = htab->srelgot;
2070 if (htab->tls_ldm_got.refcount > 0)
2074 htab->tls_ldm_got.offset = htab->sgot->size;
2075 htab->sgot->size += 2 * GOT_ENTRY_SIZE;
2076 htab->srelgot->size += sizeof (Elf32_External_Rela);
2079 htab->tls_ldm_got.offset = -1;
2083 elf_link_hash_traverse (&htab->elf, allocate_dynrelocs, (PTR) info);
2093 if (s == htab->splt
2094 || s == htab->sgot
2095 || s == htab->sgotplt
2096 || s == htab->sdynbss)
2145 if (htab->elf.dynamic_sections_created)
2161 if (htab->splt->size != 0)
2180 elf_link_hash_traverse (&htab->elf, readonly_dynrelocs,
2217 struct elf_link_hash_table *htab = elf_hash_table (info);
2220 if (htab->tls_sec == NULL)
2222 return htab->tls_size + htab->tls_sec->vma - address;
2260 struct elf_s390_link_hash_table *htab;
2267 htab = elf_s390_hash_table (info);
2366 relocation += htab->sgot->output_section->vma;
2378 if (htab->sgot == NULL)
2386 dyn = htab->elf.dynamic_sections_created;
2413 htab->sgot->contents + off);
2435 htab->sgot->contents + off);
2443 srelgot = htab->srelgot;
2447 outrel.r_offset = (htab->sgot->output_section->vma
2448 + htab->sgot->output_offset
2464 relocation = htab->sgot->output_offset + off;
2472 relocation += htab->sgot->output_section->vma;
2486 relocation -= htab->sgot->output_section->vma;
2492 relocation = htab->sgot->output_section->vma;
2508 || htab->splt == NULL)
2516 relocation = (htab->splt->output_section->vma
2517 + htab->splt->output_offset
2531 || htab->splt == NULL)
2533 relocation -= htab->sgot->output_section->vma;
2537 relocation = (htab->splt->output_section->vma
2538 + htab->splt->output_offset
2540 - htab->sgot->output_section->vma);
2639 osec = htab->elf.text_index_section;
2718 if (htab->sgot == NULL)
2741 if (htab->srelgot == NULL)
2744 outrel.r_offset = (htab->sgot->output_section->vma
2745 + htab->sgot->output_offset + off);
2757 loc = htab->srelgot->contents;
2758 loc += htab->srelgot->reloc_count++
2769 htab->sgot->contents + off + GOT_ENTRY_SIZE);
2776 htab->srelgot->reloc_count++;
2792 relocation = htab->sgot->output_offset + off;
2794 relocation += htab->sgot->output_section->vma;
2799 bfd_put_32 (output_bfd, htab->sgot->output_offset + off,
2824 if (htab->sgot == NULL)
2829 htab->sgot->contents + off);
2830 relocation = htab->sgot->output_offset + off;
2832 relocation += htab->sgot->output_section->vma;
2843 if (htab->sgot == NULL)
2846 off = htab->tls_ldm_got.offset;
2854 if (htab->srelgot == NULL)
2857 outrel.r_offset = (htab->sgot->output_section->vma
2858 + htab->sgot->output_offset + off);
2861 htab->sgot->contents + off + GOT_ENTRY_SIZE);
2864 loc = htab->srelgot->contents;
2865 loc += htab->srelgot->reloc_count++
2868 htab->tls_ldm_got.offset |= 1;
2870 relocation = htab->sgot->output_offset + off;
3121 struct elf_s390_link_hash_table *htab;
3123 htab = elf_s390_hash_table (info);
3136 || htab->splt == NULL
3137 || htab->sgotplt == NULL
3138 || htab->srelplt == NULL)
3162 htab->splt->contents + h->plt.offset);
3164 htab->splt->contents + h->plt.offset + 4);
3166 htab->splt->contents + h->plt.offset + 8);
3168 htab->splt->contents + h->plt.offset + 12);
3170 htab->splt->contents + h->plt.offset + 16);
3172 htab->splt->contents + h->plt.offset + 20);
3174 (htab->sgotplt->output_section->vma
3175 + htab->sgotplt->output_offset
3177 htab->splt->contents + h->plt.offset + 24);
3182 htab->splt->contents + h->plt.offset);
3184 htab->splt->contents + h->plt.offset + 4);
3186 htab->splt->contents + h->plt.offset + 8);
3188 htab->splt->contents + h->plt.offset + 12);
3190 htab->splt->contents + h->plt.offset + 16);
3192 htab->splt->contents + h->plt.offset + 20);
3194 htab->splt->contents + h->plt.offset + 24);
3199 htab->splt->contents + h->plt.offset);
3201 htab->splt->contents + h->plt.offset + 4);
3203 htab->splt->contents + h->plt.offset + 8);
3205 htab->splt->contents + h->plt.offset + 12);
3207 htab->splt->contents + h->plt.offset + 16);
3209 htab->splt->contents + h->plt.offset + 20);
3211 htab->splt->contents + h->plt.offset + 24);
3216 htab->splt->contents + h->plt.offset);
3218 htab->splt->contents + h->plt.offset + 4);
3220 htab->splt->contents + h->plt.offset + 8);
3222 htab->splt->contents + h->plt.offset + 12);
3224 htab->splt->contents + h->plt.offset + 16);
3226 htab->splt->contents + h->plt.offset + 20);
3228 htab->splt->contents + h->plt.offset + 24);
3232 htab->splt->contents + h->plt.offset + 28);
3237 (htab->splt->output_section->vma
3238 + htab->splt->output_offset
3241 htab->sgotplt->contents + got_offset);
3244 rela.r_offset = (htab->sgotplt->output_section->vma
3245 + htab->sgotplt->output_offset
3249 loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rela);
3274 if (htab->sgot == NULL || htab->srelgot == NULL)
3277 rela.r_offset = (htab->sgot->output_section->vma
3278 + htab->sgot->output_offset
3301 bfd_put_32 (output_bfd, (bfd_vma) 0, htab->sgot->contents + h->got.offset);
3306 loc = htab->srelgot->contents;
3307 loc += htab->srelgot->reloc_count++ * sizeof (Elf32_External_Rela);
3321 || htab->srelbss == NULL)
3329 loc = htab->srelbss->contents;
3330 loc += htab->srelbss->reloc_count++ * sizeof (Elf32_External_Rela);
3336 || h == htab->elf.hgot
3337 || h == htab->elf.hplt)
3370 struct elf_s390_link_hash_table *htab;
3374 htab = elf_s390_hash_table (info);
3375 dynobj = htab->elf.dynobj;
3378 if (htab->elf.dynamic_sections_created)
3382 if (sdyn == NULL || htab->sgot == NULL)
3400 dyn.d_un.d_ptr = htab->sgot->output_section->vma;
3404 dyn.d_un.d_ptr = htab->srelplt->output_section->vma;
3408 s = htab->srelplt->output_section;
3417 if (htab->splt && htab->splt->size > 0)
3419 memset (htab->splt->contents, 0, PLT_FIRST_ENTRY_SIZE);
3423 htab->splt->contents );
3425 htab->splt->contents +4 );
3427 htab->splt->contents +8 );
3429 htab->splt->contents +12 );
3431 htab->splt->contents +16 );
3436 htab->splt->contents );
3438 htab->splt->contents +4 );
3440 htab->splt->contents +8 );
3442 htab->splt->contents +12 );
3444 htab->splt->contents +16 );
3446 htab->splt->contents +20 );
3448 htab->sgotplt->output_section->vma
3449 + htab->sgotplt->output_offset,
3450 htab->splt->contents + 24);
3452 elf_section_data (htab->splt->output_section)
3458 if (htab->sgotplt)
3461 if (htab->sgotplt->size > 0)
3466 htab->sgotplt->contents);
3468 bfd_put_32 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 4);
3470 bfd_put_32 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 8);
3473 elf_section_data (htab->sgotplt->output_section)