Lines Matching refs:htab

3654 	  struct ppc_link_hash_table *htab;
3656 htab = (struct ppc_link_hash_table *) table;
3657 eh->u.next_dot_sym = htab->dot_syms;
3658 htab->dot_syms = eh;
3670 struct ppc_link_hash_table *htab;
3673 htab = bfd_zmalloc (amt);
3674 if (htab == NULL)
3677 if (!_bfd_elf_link_hash_table_init (&htab->elf, abfd, link_hash_newfunc,
3680 free (htab);
3685 if (!bfd_hash_table_init (&htab->stub_hash_table, stub_hash_newfunc,
3690 if (!bfd_hash_table_init (&htab->branch_hash_table, branch_hash_newfunc,
3698 htab->elf.init_got_refcount.refcount = 0;
3699 htab->elf.init_got_refcount.glist = NULL;
3700 htab->elf.init_plt_refcount.refcount = 0;
3701 htab->elf.init_plt_refcount.glist = NULL;
3702 htab->elf.init_got_offset.offset = 0;
3703 htab->elf.init_got_offset.glist = NULL;
3704 htab->elf.init_plt_offset.offset = 0;
3705 htab->elf.init_plt_offset.glist = NULL;
3707 return &htab->elf.root;
3727 struct ppc_link_hash_table *htab;
3734 htab = ppc_hash_table (info);
3735 htab->stub_bfd = abfd;
3736 htab->elf.dynobj = abfd;
3793 struct ppc_link_hash_table *htab)
3803 id_sec = htab->stub_group[input_section->id].link_sec;
3819 stub_entry = ppc_stub_hash_lookup (&htab->stub_hash_table,
3836 struct ppc_link_hash_table *htab)
3842 link_sec = htab->stub_group[section->id].link_sec;
3843 stub_sec = htab->stub_group[section->id].stub_sec;
3846 stub_sec = htab->stub_group[link_sec->id].stub_sec;
3855 s_name = bfd_alloc (htab->stub_bfd, len);
3861 stub_sec = (*htab->add_stub_section) (s_name, link_sec);
3864 htab->stub_group[link_sec->id].stub_sec = stub_sec;
3866 htab->stub_group[section->id].stub_sec = stub_sec;
3870 stub_entry = ppc_stub_hash_lookup (&htab->stub_hash_table, stub_name,
3890 struct ppc_link_hash_table *htab;
3893 htab = ppc_hash_table (info);
3898 htab->sfpr = bfd_make_section_anyway_with_flags (dynobj, ".sfpr",
3900 if (htab->sfpr == NULL
3901 || ! bfd_set_section_alignment (dynobj, htab->sfpr, 2))
3905 htab->glink = bfd_make_section_anyway_with_flags (dynobj, ".glink",
3907 if (htab->glink == NULL
3908 || ! bfd_set_section_alignment (dynobj, htab->glink, 3))
3914 htab->brlt = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt",
3916 if (htab->brlt == NULL
3917 || ! bfd_set_section_alignment (dynobj, htab->brlt, 3))
3925 htab->relbrlt = bfd_make_section_anyway_with_flags (dynobj,
3928 if (!htab->relbrlt
3929 || ! bfd_set_section_alignment (dynobj, htab->relbrlt, 3))
3943 struct ppc_link_hash_table *htab = ppc_hash_table (info);
3945 if (!htab->got)
3947 if (! _bfd_elf_create_got_section (htab->elf.dynobj, info))
3950 htab->got = bfd_get_section_by_name (htab->elf.dynobj, ".got");
3951 if (!htab->got)
3979 struct ppc_link_hash_table *htab;
3984 htab = ppc_hash_table (info);
3985 if (!htab->got)
3986 htab->got = bfd_get_section_by_name (dynobj, ".got");
3987 htab->plt = bfd_get_section_by_name (dynobj, ".plt");
3988 htab->relplt = bfd_get_section_by_name (dynobj, ".rela.plt");
3989 htab->dynbss = bfd_get_section_by_name (dynobj, ".dynbss");
3991 htab->relbss = bfd_get_section_by_name (dynobj, ".rela.bss");
3993 if (!htab->got || !htab->plt || !htab->relplt || !htab->dynbss
3994 || (!info->shared && !htab->relbss))
4151 get_fdh (struct ppc_link_hash_entry *fh, struct ppc_link_hash_table *htab)
4160 elf_link_hash_lookup (&htab->elf, fd_name, FALSE, FALSE, FALSE);
4275 struct ppc_link_hash_table *htab;
4287 htab = ppc_hash_table (info);
4288 fdh = get_fdh (eh, htab);
4319 htab->twiddled_syms = 1;
4331 struct ppc_link_hash_table *htab;
4334 htab = ppc_hash_table (info);
4335 if (!is_ppc64_elf_target (htab->elf.root.creator))
4340 p = &htab->dot_syms;
4351 p = &htab->dot_syms;
4360 if (htab->twiddled_syms)
4362 bfd_link_repair_undef_list (&htab->elf.root);
4363 htab->twiddled_syms = 0;
4462 struct ppc_link_hash_table *htab;
4483 htab = ppc_hash_table (info);
4484 tga = elf_link_hash_lookup (&htab->elf, "__tls_get_addr",
4486 dottga = elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
4523 if (htab->sfpr == NULL
4524 && !create_linkage_sections (htab->elf.dynobj, info))
4745 dest = bfd_section_from_r_symndx (abfd, &htab->sym_sec,
4858 && get_fdh ((struct ppc_link_hash_entry *) h, htab))
4867 s = bfd_section_from_r_symndx (abfd, &htab->sym_sec, sec,
4969 dynobj = htab->elf.dynobj;
5003 s = bfd_section_from_r_symndx (abfd, &htab->sym_sec,
5015 p = bfd_alloc (htab->elf.dynobj, sizeof *p);
5221 struct ppc_link_hash_table *htab = ppc_hash_table (info);
5230 elf_link_hash_lookup (&htab->elf, sym->name, FALSE, FALSE, FALSE);
5348 struct ppc_link_hash_table *htab;
5359 htab = ppc_hash_table (info);
5496 struct ppc_link_hash_table *htab = ppc_hash_table (info);
5511 h = elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE);
5516 h->root.u.def.section = htab->sfpr;
5517 h->root.u.def.value = htab->sfpr->size;
5522 if (htab->sfpr->contents == NULL)
5524 htab->sfpr->contents = bfd_alloc (htab->elf.dynobj, SFPR_MAX);
5525 if (htab->sfpr->contents == NULL)
5531 bfd_byte *p = htab->sfpr->contents + htab->sfpr->size;
5533 p = (*parm->write_ent) (htab->elf.dynobj, p, i);
5535 p = (*parm->write_tail) (htab->elf.dynobj, p, i);
5536 htab->sfpr->size = p - htab->sfpr->contents;
5713 struct ppc_link_hash_table *htab;
5727 htab = ppc_hash_table (info);
5765 fdh = get_fdh (fh, htab);
5794 bfd_link_add_undef (&htab->elf.root, &fdh->elf.root);
5853 struct ppc_link_hash_table *htab;
5871 htab = ppc_hash_table (info);
5872 if (htab->sfpr == NULL)
5877 htab->sfpr->size = 0;
5882 elf_link_hash_traverse (&htab->elf, func_desc_adjust, info);
5884 if (htab->sfpr->size == 0)
5885 htab->sfpr->flags |= SEC_EXCLUDE;
5900 struct ppc_link_hash_table *htab;
5903 htab = ppc_hash_table (info);
6018 htab->relbss->size += sizeof (Elf64_External_Rela);
6022 s = htab->dynbss;
6045 struct ppc_link_hash_table *htab;
6060 htab = ppc_hash_table (info);
6062 elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE);
6076 elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE);
6839 /* Set htab->tls_get_addr and call the generic ELF tls_setup function. */
6844 struct ppc_link_hash_table *htab;
6846 htab = ppc_hash_table (info);
6847 htab->tls_get_addr = ((struct ppc_link_hash_entry *)
6848 elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
6850 htab->tls_get_addr_fd = ((struct ppc_link_hash_entry *)
6851 elf_link_hash_lookup (&htab->elf, "__tls_get_addr",
6904 struct ppc_link_hash_table *htab;
6910 htab = ppc_hash_table (info);
6986 value -= htab->elf.tls_sec->vma;
7142 htab->tls_get_addr,
7143 htab->tls_get_addr_fd))
7176 for (ent = htab->tls_get_addr->elf.plt.plist;
7193 for (ent = htab->tls_get_addr_fd->elf.plt.plist;
7735 struct ppc_link_hash_table *htab;
7748 htab = ppc_hash_table (info);
7750 if (htab->elf.dynamic_sections_created
7761 s = htab->plt;
7771 s = htab->glink;
7780 s = htab->relplt;
7851 dyn = htab->elf.dynamic_sections_created;
7989 struct ppc_link_hash_table *htab;
7995 htab = ppc_hash_table (info);
7996 dynobj = htab->elf.dynobj;
8000 if (htab->elf.dynamic_sections_created)
8097 elf_link_hash_traverse (&htab->elf, allocate_dynrelocs, info);
8127 if (s == htab->brlt || s == htab->relbrlt)
8130 else if (s == htab->got
8131 || s == htab->plt
8132 || s == htab->glink
8133 || s == htab->dynbss)
8142 if (s != htab->relplt)
8192 if (s != NULL && s != htab->got)
8219 if (htab->elf.dynamic_sections_created)
8235 if (htab->plt != NULL && htab->plt->size != 0)
8262 elf_link_hash_traverse (&htab->elf, readonly_dynrelocs, info);
8391 struct ppc_link_hash_table *htab;
8403 htab = ppc_hash_table (info);
8409 htab->stub_count[stub_entry->stub_type - 1] += 1;
8429 r2off = (htab->stub_group[stub_entry->target_section->id].toc_off
8430 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8431 bfd_put_32 (htab->stub_bfd, STD_R2_40R1, loc);
8437 bfd_put_32 (htab->stub_bfd, ADDIS_R2_R2 | PPC_HA (r2off), loc);
8440 bfd_put_32 (htab->stub_bfd, ADDI_R2_R2 | PPC_LO (r2off), loc);
8444 bfd_put_32 (htab->stub_bfd, B_DOT | (off & 0x3fffffc), loc);
8450 htab->stub_error = TRUE;
8465 relocs = bfd_alloc (htab->stub_bfd, relsize);
8484 hashes = elf_sym_hashes (htab->stub_bfd);
8489 hsize = (htab->stub_globals + 1) * sizeof (*hashes);
8490 hashes = bfd_zalloc (htab->stub_bfd, hsize);
8493 elf_sym_hashes (htab->stub_bfd) = hashes;
8494 htab->stub_globals = 1;
8496 symndx = htab->stub_globals++;
8518 br_entry = ppc_branch_hash_lookup (&htab->branch_hash_table,
8525 htab->stub_error = TRUE;
8533 bfd_put_64 (htab->brlt->owner, off,
8534 htab->brlt->contents + br_entry->offset);
8536 if (htab->relbrlt != NULL)
8543 + htab->brlt->output_offset
8544 + htab->brlt->output_section->vma);
8548 rl = htab->relbrlt->contents;
8549 rl += htab->relbrlt->reloc_count++ * sizeof (Elf64_External_Rela);
8550 bfd_elf64_swap_reloca_out (htab->relbrlt->owner, &rela, rl);
8557 elfsec_data = elf_section_data (htab->brlt);
8562 relsize = htab->brlt->reloc_count * sizeof (*relocs);
8563 relocs = bfd_alloc (htab->brlt->owner, relsize);
8569 htab->brlt->reloc_count = 0;
8571 r = relocs + htab->brlt->reloc_count;
8572 htab->brlt->reloc_count += 1;
8574 + htab->brlt->output_offset
8575 + htab->brlt->output_section->vma);
8581 + htab->brlt->output_offset
8582 + htab->brlt->output_section->vma
8583 - elf_gp (htab->brlt->output_section->owner)
8584 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8592 htab->stub_error = TRUE;
8602 bfd_put_32 (htab->stub_bfd, ADDIS_R12_R2 | PPC_HA (indx), loc);
8604 bfd_put_32 (htab->stub_bfd, LD_R11_0R12 | PPC_LO (indx), loc);
8609 bfd_put_32 (htab->stub_bfd, LD_R11_0R2 | PPC_LO (indx), loc);
8616 r2off = (htab->stub_group[stub_entry->target_section->id].toc_off
8617 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8618 bfd_put_32 (htab->stub_bfd, STD_R2_40R1, loc);
8624 bfd_put_32 (htab->stub_bfd, ADDIS_R12_R2 | PPC_HA (indx), loc);
8626 bfd_put_32 (htab->stub_bfd, LD_R11_0R12 | PPC_LO (indx), loc);
8631 bfd_put_32 (htab->stub_bfd, LD_R11_0R2 | PPC_LO (indx), loc);
8638 bfd_put_32 (htab->stub_bfd, ADDIS_R2_R2 | PPC_HA (r2off), loc);
8641 bfd_put_32 (htab->stub_bfd, ADDI_R2_R2 | PPC_LO (r2off), loc);
8644 bfd_put_32 (htab->stub_bfd, MTCTR_R11, loc);
8646 bfd_put_32 (htab->stub_bfd, BCTR, loc);
8660 section is a silly idea. If we didn't do this, htab->top_id
8679 off += (htab->plt->output_offset
8680 + htab->plt->output_section->vma
8681 - elf_gp (htab->plt->output_section->owner)
8682 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8690 htab->stub_error = TRUE;
8694 p = build_plt_stub (htab->stub_bfd, loc, off);
8705 if (htab->emit_stub_syms)
8724 h = elf_link_hash_lookup (&htab->elf, name, TRUE, FALSE, FALSE);
8752 struct ppc_link_hash_table *htab;
8760 htab = ppc_hash_table (info);
8774 off += (htab->plt->output_offset
8775 + htab->plt->output_section->vma
8776 - elf_gp (htab->plt->output_section->owner)
8777 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8806 r2off = (htab->stub_group[stub_entry->target_section->id].toc_off
8807 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8820 br_entry = ppc_branch_hash_lookup (&htab->branch_hash_table,
8827 htab->stub_error = TRUE;
8831 if (br_entry->iter != htab->stub_iteration)
8833 br_entry->iter = htab->stub_iteration;
8834 br_entry->offset = htab->brlt->size;
8835 htab->brlt->size += 8;
8837 if (htab->relbrlt != NULL)
8838 htab->relbrlt->size += sizeof (Elf64_External_Rela);
8841 htab->brlt->reloc_count += 1;
8842 htab->brlt->flags |= SEC_RELOC;
8848 + htab->brlt->output_offset
8849 + htab->brlt->output_section->vma
8850 - elf_gp (htab->brlt->output_section->owner)
8851 - htab->stub_group[stub_entry->id_sec->id].toc_off);
8895 struct ppc_link_hash_table *htab = ppc_hash_table (info);
8897 htab->no_multi_toc = no_multi_toc;
8899 if (htab->brlt == NULL)
8916 htab->top_id = top_id;
8918 htab->stub_group = bfd_zmalloc (amt);
8919 if (htab->stub_group == NULL)
8924 htab->stub_group[id].toc_off = TOC_BASE_OFF;
8926 elf_gp (output_bfd) = htab->toc_curr = ppc64_elf_toc (output_bfd);
8939 htab->top_index = top_index;
8942 htab->input_list = input_list;
8957 struct ppc_link_hash_table *htab = ppc_hash_table (info);
8959 if (!htab->no_multi_toc)
8962 bfd_vma off = addr - htab->toc_curr;
8965 htab->toc_curr = addr;
8967 elf_gp (isec->owner) = (htab->toc_curr
8978 struct ppc_link_hash_table *htab = ppc_hash_table (info);
8980 htab->multi_toc_needed = htab->toc_curr != elf_gp (output_bfd);
8984 htab->toc_curr = TOC_BASE_OFF;
9001 struct ppc_link_hash_table *htab;
9029 htab = ppc_hash_table (info);
9146 else if (sym_sec->id <= htab->top_id
9147 && htab->stub_group[sym_sec->id].toc_off == 0)
9167 htab->stub_group[sym_sec->id].toc_off = 1;
9201 struct ppc_link_hash_table *htab = ppc_hash_table (info);
9204 && isec->output_section->index <= htab->top_index)
9206 asection **list = htab->input_list + isec->output_section->index;
9208 #define PREV_SEC(sec) (htab->stub_group[(sec)->id].link_sec)
9215 if (htab->multi_toc_needed)
9224 htab->toc_curr = elf_gp (isec->owner);
9226 else if (htab->stub_group[isec->id].toc_off == 0)
9239 htab->stub_group[isec->id].toc_off = htab->toc_curr;
9251 group_sections (struct ppc_link_hash_table *htab,
9277 list = htab->input_list + htab->top_index;
9296 curr_toc = htab->stub_group[tail->id].toc_off;
9302 && htab->stub_group[prev->id].toc_off == curr_toc)
9319 htab->stub_group[tail->id].link_sec = curr;
9335 && htab->stub_group[prev->id].toc_off == curr_toc)
9339 htab->stub_group[tail->id].link_sec = curr;
9345 while (list-- != htab->input_list);
9346 free (htab->input_list);
9365 struct ppc_link_hash_table *htab = ppc_hash_table (info);
9368 htab->add_stub_section = add_stub_section;
9369 htab->layout_sections_again = layout_sections_again;
9376 group_sections (htab, stub_group_size, stubs_always_before_branch);
9384 htab->stub_iteration += 1;
9497 && (fdh = get_fdh (hash, htab)) != NULL)
9569 && (htab->stub_group[code_sec->id].toc_off
9570 != htab->stub_group[section->id].toc_off)
9582 && (hash == htab->tls_get_addr
9583 || hash == htab->tls_get_addr_fd)
9598 id_sec = htab->stub_group[section->id].link_sec;
9605 stub_entry = ppc_stub_hash_lookup (&htab->stub_hash_table,
9614 stub_entry = ppc_add_stub (stub_name, section, htab);
9636 htab->stub_globals += 1;
9656 for (stub_sec = htab->stub_bfd->sections;
9667 htab->brlt->size = 0;
9668 htab->brlt->reloc_count = 0;
9669 htab->brlt->flags &= ~SEC_RELOC;
9670 if (htab->relbrlt != NULL)
9671 htab->relbrlt->size = 0;
9673 bfd_hash_traverse (&htab->stub_hash_table, ppc_size_one_stub, info);
9675 for (stub_sec = htab->stub_bfd->sections;
9688 (*htab->layout_sections_again) ();
9691 /* It would be nice to strip htab->brlt from the output if the
9764 struct ppc_link_hash_table *htab = ppc_hash_table (info);
9769 htab->emit_stub_syms = emit_stub_syms;
9772 for (stub_sec = htab->stub_bfd->sections;
9778 stub_sec->contents = bfd_zalloc (htab->stub_bfd, stub_sec->size);
9787 if (htab->glink != NULL && htab->glink->size != 0)
9793 if (htab->emit_stub_syms)
9796 h = elf_link_hash_lookup (&htab->elf, "__glink", TRUE, FALSE, FALSE);
9802 h->root.u.def.section = htab->glink;
9811 p = htab->glink->contents;
9812 plt0 = (htab->plt->output_section->vma
9813 + htab->plt->output_offset
9814 - (htab->glink->output_section->vma
9815 + htab->glink->output_offset
9817 bfd_put_64 (htab->glink->owner, plt0, p);
9819 bfd_put_32 (htab->glink->owner, MFLR_R12, p);
9821 bfd_put_32 (htab->glink->owner, BCL_20_31, p);
9823 bfd_put_32 (htab->glink->owner, MFLR_R11, p);
9825 bfd_put_32 (htab->glink->owner, LD_R2_M16R11, p);
9827 bfd_put_32 (htab->glink->owner, MTLR_R12, p);
9829 bfd_put_32 (htab->glink->owner, ADD_R12_R2_R11, p);
9831 bfd_put_32 (htab->glink->owner, LD_R11_0R12, p);
9833 bfd_put_32 (htab->glink->owner, LD_R2_0R12 | 8, p);
9835 bfd_put_32 (htab->glink->owner, MTCTR_R11, p);
9837 bfd_put_32 (htab->glink->owner, LD_R11_0R12 | 16, p);
9839 bfd_put_32 (htab->glink->owner, BCTR, p);
9841 while (p - htab->glink->contents < GLINK_CALL_STUB_SIZE)
9843 bfd_put_32 (htab->glink->owner, NOP, p);
9849 while (p < htab->glink->contents + htab->glink->size)
9853 bfd_put_32 (htab->glink->owner, LI_R0_0 | indx, p);
9858 bfd_put_32 (htab->glink->owner, LIS_R0_0 | PPC_HI (indx), p);
9860 bfd_put_32 (htab->glink->owner, ORI_R0_R0_0 | PPC_LO (indx), p);
9863 bfd_put_32 (htab->glink->owner,
9864 B_DOT | ((htab->glink->contents - p + 8) & 0x3fffffc), p);
9868 htab->glink->rawsize = p - htab->glink->contents;
9871 if (htab->brlt->size != 0)
9873 htab->brlt->contents = bfd_zalloc (htab->brlt->owner,
9874 htab->brlt->size);
9875 if (htab->brlt->contents == NULL)
9878 if (htab->relbrlt != NULL && htab->relbrlt->size != 0)
9880 htab->relbrlt->contents = bfd_zalloc (htab->relbrlt->owner,
9881 htab->relbrlt->size);
9882 if (htab->relbrlt->contents == NULL)
9887 bfd_hash_traverse (&htab->stub_hash_table, ppc_build_one_stub, info);
9889 if (htab->relbrlt != NULL)
9890 htab->relbrlt->reloc_count = 0;
9892 for (stub_sec = htab->stub_bfd->sections;
9903 || htab->glink->rawsize != htab->glink->size)
9905 htab->stub_error = TRUE;
9909 if (htab->stub_error)
9926 htab->stub_count[ppc_stub_long_branch - 1],
9927 htab->stub_count[ppc_stub_long_branch_r2off - 1],
9928 htab->stub_count[ppc_stub_plt_branch - 1],
9929 htab->stub_count[ppc_stub_plt_branch_r2off - 1],
9930 htab->stub_count[ppc_stub_plt_call - 1]);
9959 struct ppc_link_hash_table *htab = ppc_hash_table (info);
9960 elf_link_hash_traverse (&htab->elf, undo_symbol_twiddle, info);
10023 struct ppc_link_hash_table *htab;
10042 htab = ppc_hash_table (info);
10045 if (input_section->owner == htab->stub_bfd)
10406 htab->tls_get_addr,
10407 htab->tls_get_addr_fd))
10444 rel->r_addend = htab->elf.tls_sec->vma + DTP_OFFSET;
10553 rel->r_addend = htab->elf.tls_sec->vma + DTP_OFFSET;
10661 && sec->id <= htab->top_id
10662 && (htab->stub_group[sec->id].toc_off
10663 != htab->stub_group[input_section->id].toc_off)))
10665 rel, htab)) != NULL
10769 htab);
10898 bfd_boolean dyn = htab->elf.dynamic_sections_created;
10998 outrel.r_addend -= htab->elf.tls_sec->vma;
11015 relocation -= htab->elf.tls_sec->vma + DTP_OFFSET;
11059 if (htab->plt != NULL)
11066 relocation = (htab->plt->output_section->vma
11067 + htab->plt->output_offset
11078 relocation += htab->stub_group[input_section->id].toc_off;
11081 else if (sec != NULL && sec->id <= htab->top_id)
11082 relocation += htab->stub_group[sec->id].toc_off;
11097 addend -= TOCstart + htab->stub_group[input_section->id].toc_off;
11127 addend -= htab->elf.tls_sec->vma + TP_OFFSET;
11145 addend -= htab->elf.tls_sec->vma + DTP_OFFSET;
11154 addend -= htab->elf.tls_sec->vma + TP_OFFSET;
11158 addend -= htab->elf.tls_sec->vma + DTP_OFFSET;
11298 && htab->elf.data_index_section != NULL)
11299 osec = htab->elf.data_index_section;
11301 osec = htab->elf.text_index_section;
11595 struct ppc_link_hash_table *htab;
11600 htab = ppc_hash_table (info);
11608 if (htab->plt == NULL
11609 || htab->relplt == NULL
11610 || htab->glink == NULL)
11615 rela.r_offset = (htab->plt->output_section->vma
11616 + htab->plt->output_offset
11621 loc = htab->relplt->contents;
11637 || htab->relbss == NULL)
11645 loc = htab->relbss->contents;
11646 loc += htab->relbss->reloc_count++ * sizeof (Elf64_External_Rela);
11685 struct ppc_link_hash_table *htab;
11689 htab = ppc_hash_table (info);
11690 dynobj = htab->elf.dynobj;
11693 if (htab->elf.dynamic_sections_created)
11697 if (sdyn == NULL || htab->got == NULL)
11715 s = htab->glink;
11739 s = htab->plt;
11744 s = htab->relplt;
11749 dyn.d_un.d_val = htab->relplt->size;
11755 s = htab->relplt;
11765 s = htab->relplt;
11778 if (htab->got != NULL && htab->got->size != 0)
11784 htab->got->contents);
11787 elf_section_data (htab->got->output_section)->this_hdr.sh_entsize = 8;
11790 if (htab->plt != NULL && htab->plt->size != 0)
11793 elf_section_data (htab->plt->output_section)->this_hdr.sh_entsize
11799 if (htab->brlt != NULL
11800 && htab->brlt->reloc_count != 0
11802 htab->brlt,
11803 &elf_section_data (htab->brlt)->rel_hdr,
11804 elf_section_data (htab->brlt)->relocs,