Lines Matching refs:size
50 template<int size, bool big_endian>
53 template<int size, bool big_endian>
56 template<int size, bool big_endian>
59 template<int size, bool big_endian>
62 template<int size, bool big_endian>
65 template<int size, bool big_endian>
77 template<int size, bool big_endian>
78 class Powerpc_relobj : public Sized_relobj_file<size, big_endian>
81 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
86 const typename elfcpp::Ehdr<size, big_endian>& ehdr) in Powerpc_relobj() argument
87 : Sized_relobj_file<size, big_endian>(name, input_file, offset, ehdr), in Powerpc_relobj()
106 if (size == 32) in got2_shndx()
116 if (size == 32) in opd_shndx()
135 gold_assert(ndx < this->opd_ent_.size()); in get_opd_ent()
147 gold_assert(ndx < this->opd_ent_.size()); in set_opd_ent()
157 gold_assert(ndx < this->opd_ent_.size()); in get_opd_discard()
166 gold_assert(ndx < this->opd_ent_.size()); in set_opd_discard()
195 do_adjust_local_symbol(Symbol_value<size>* lv) const in do_adjust_local_symbol()
197 if (size == 64 && this->opd_shndx() != 0) in do_adjust_local_symbol()
217 typename elfcpp::Elf_types<size>::Elf_Addr dst_off) in add_reference()
226 add_gc_mark(typename elfcpp::Elf_types<size>::Elf_Addr dst_off) in add_gc_mark()
229 if (ndx >= this->opd_ent_.size()) in add_gc_mark()
237 for (size_t i = 0; i < this->opd_ent_.size(); i++) in process_gc_mark()
262 if (shndx >= this->has14_.size()) in set_has_14bit_branch()
269 { return shndx < this->has14_.size() && this->has14_[shndx]; } in has_14bit_branch()
274 if (shndx >= this->stub_table_index_.size()) in set_stub_table()
279 Stub_table<size, big_endian>*
282 if (shndx < this->stub_table_index_.size()) in stub_table()
284 Target_powerpc<size, big_endian>* target in stub_table()
285 = static_cast<Target_powerpc<size, big_endian>*>( in stub_table()
286 parameters->sized_target<size, big_endian>()); in stub_table()
288 gold_assert(indx < target->stub_tables().size()); in stub_table()
377 template<int size, bool big_endian>
378 class Powerpc_dynobj : public Sized_dynobj<size, big_endian>
381 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
384 const typename elfcpp::Ehdr<size, big_endian>& ehdr) in Powerpc_dynobj() argument
385 : Sized_dynobj<size, big_endian>(name, input_file, offset, ehdr), in Powerpc_dynobj()
426 gold_assert(ndx < this->opd_ent_.size()); in get_opd_ent()
438 gold_assert(ndx < this->opd_ent_.size()); in set_opd_ent()
493 template<int size, bool big_endian>
494 class Target_powerpc : public Sized_target<size, big_endian>
498 Output_data_reloc<elfcpp::SHT_RELA, true, size, big_endian> Reloc_section;
499 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
500 typedef typename elfcpp::Elf_types<size>::Elf_Swxword Signed_address;
507 : Sized_target<size, big_endian>(&powerpc_info), in Target_powerpc()
522 Sized_relobj_file<size, big_endian>* object,
536 Sized_relobj_file<size, big_endian>* object,
550 if (size == 64 && strcmp(name, ".toc") == 0) in do_output_section_name()
576 push_branch(Powerpc_relobj<size, big_endian>* ppc_object, in push_branch() argument
629 relocate_section(const Relocate_info<size, big_endian>*,
644 Sized_relobj_file<size, big_endian>* object,
657 relocate_relocs(const Relocate_info<size, big_endian>*,
662 typename elfcpp::Elf_types<size>::Elf_Off
687 const Output_data_plt_powerpc<size, big_endian>*
695 const Output_data_plt_powerpc<size, big_endian>*
703 const Output_data_glink<size, big_endian>*
710 Output_data_glink<size, big_endian>*
721 const Output_data_got_powerpc<size, big_endian>*
729 Output_data_got_powerpc<size, big_endian>*
734 const elfcpp::Ehdr<size, big_endian>&);
742 return this->got_size() / (size / 8); in got_entry_count()
753 if (size == 32) in first_plt_entry_offset()
764 if (size == 32) in plt_entry_size()
789 typedef std::vector<Stub_table<size, big_endian>*> Stub_tables;
794 const Output_data_brlt_powerpc<size, big_endian>*
801 unsigned int off = this->branch_lookup_table_.size() * (size / 8); in add_branch_lookup_table()
821 elfcpp::Swap<size, big_endian>::writeval(oview + p->second, p->first); in write_branch_lookup_table()
881 const Relocate_info<size, big_endian>* relinfo, in expect_tls_get_addr_call() argument
932 const Relocate_info<size, big_endian>* relinfo_;
941 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
952 Sized_relobj_file<size, big_endian>* object,
955 const elfcpp::Rela<size, big_endian>& reloc, unsigned int r_type,
956 const elfcpp::Sym<size, big_endian>& lsym,
961 Sized_relobj_file<size, big_endian>* object,
964 const elfcpp::Rela<size, big_endian>& reloc, unsigned int r_type,
970 Sized_relobj_file<size, big_endian>* relobj, in local_reloc_may_be_function_pointer() argument
973 const elfcpp::Rela<size, big_endian>& , in local_reloc_may_be_function_pointer() argument
975 const elfcpp::Sym<size, big_endian>&) in local_reloc_may_be_function_pointer() argument
980 if (size == 64) in local_reloc_may_be_function_pointer()
982 Powerpc_relobj<size, big_endian>* ppcobj = static_cast in local_reloc_may_be_function_pointer()
983 <Powerpc_relobj<size, big_endian>*>(relobj); in local_reloc_may_be_function_pointer()
995 Sized_relobj_file<size, big_endian>* relobj, in global_reloc_may_be_function_pointer() argument
998 const elfcpp::Rela<size, big_endian>& , in global_reloc_may_be_function_pointer() argument
1003 if (size == 64) in global_reloc_may_be_function_pointer()
1005 Powerpc_relobj<size, big_endian>* ppcobj = static_cast in global_reloc_may_be_function_pointer()
1006 <Powerpc_relobj<size, big_endian>*>(relobj); in global_reloc_may_be_function_pointer()
1014 reloc_needs_plt_for_ifunc(Target_powerpc<size, big_endian>* target,
1015 Sized_relobj_file<size, big_endian>* object,
1020 unsupported_reloc_local(Sized_relobj_file<size, big_endian>*,
1024 unsupported_reloc_global(Sized_relobj_file<size, big_endian>*,
1040 const Sized_symbol<size>* gsym,
1041 Powerpc_relobj<size, big_endian>* object,
1059 relocate(const Relocate_info<size, big_endian>*, Target_powerpc*,
1061 const elfcpp::Rela<size, big_endian>&,
1062 unsigned int r_type, const Sized_symbol<size>*,
1063 const Symbol_value<size>*,
1065 typename elfcpp::Elf_types<size>::Elf_Addr,
1081 if (size == 32 in get()
1085 if (size == 64 in get()
1164 Sized_relobj_file<size, big_endian>*,
1171 Sized_relobj_file<size, big_endian>* object);
1190 Sized_relobj_file<size, big_endian>* object, in copy_reloc() argument
1192 Symbol* sym, const elfcpp::Rela<size, big_endian>& reloc) in copy_reloc() argument
1195 symtab->get_sized_symbol<size>(sym), in copy_reloc()
1215 Branch_info(Powerpc_relobj<size, big_endian>* ppc_object, in Branch_info() argument
1230 make_stub(Stub_table<size, big_endian>*,
1231 Stub_table<size, big_endian>*,
1236 Powerpc_relobj<size, big_endian>* object_;
1262 Output_data_got_powerpc<size, big_endian>* got_;
1273 Output_data_plt_powerpc<size, big_endian>* plt_;
1287 Output_data_plt_powerpc<size, big_endian>* iplt_;
1289 Output_data_brlt_powerpc<size, big_endian>* brlt_section_;
1291 Output_data_glink<size, big_endian>* glink_;
1295 Copy_relocs<elfcpp::SHT_RELA, size, big_endian> copy_relocs_;
1475 template<int size, bool big_endian>
1496 typedef Powerpc_relocate_functions<size, big_endian> This;
1497 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
1701 template<int size, bool big_endian>
1703 Powerpc_relobj<size, big_endian>::set_abiversion(int ver) in set_abiversion()
1708 Target_powerpc<size, big_endian>* target = in set_abiversion()
1709 static_cast<Target_powerpc<size, big_endian>*>( in set_abiversion()
1710 parameters->sized_target<size, big_endian>()); in set_abiversion()
1725 template<int size, bool big_endian>
1727 Powerpc_relobj<size, big_endian>::do_find_special_sections( in do_find_special_sections()
1736 s = this->template find_shdr<size, big_endian>(pshdrs, in do_find_special_sections()
1737 size == 32 ? ".got2" : ".opd", in do_find_special_sections()
1741 unsigned int ndx = (s - pshdrs) / elfcpp::Elf_sizes<size>::shdr_size; in do_find_special_sections()
1743 if (size == 64) in do_find_special_sections()
1752 return Sized_relobj_file<size, big_endian>::do_find_special_sections(sd); in do_find_special_sections()
1757 template<int size, bool big_endian>
1759 Powerpc_relobj<size, big_endian>::scan_opd_relocs( in scan_opd_relocs()
1764 if (size == 64) in scan_opd_relocs()
1766 typedef typename Reloc_types<elfcpp::SHT_RELA, size, big_endian>::Reloc in scan_opd_relocs()
1769 = Reloc_types<elfcpp::SHT_RELA, size, big_endian>::reloc_size; in scan_opd_relocs()
1770 const int sym_size = elfcpp::Elf_sizes<size>::sym_size; in scan_opd_relocs()
1778 typename elfcpp::Elf_types<size>::Elf_WXword r_info in scan_opd_relocs()
1780 unsigned int r_type = elfcpp::elf_r_type<size>(r_info); in scan_opd_relocs()
1783 unsigned int r_sym = elfcpp::elf_r_sym<size>(r_info); in scan_opd_relocs()
1784 typename elfcpp::Elf_types<size>::Elf_Addr value; in scan_opd_relocs()
1789 typename elfcpp::Sym<size, big_endian> in scan_opd_relocs()
1834 template<int size, bool big_endian>
1836 Powerpc_relobj<size, big_endian>::do_read_relocs(Read_relocs_data* rd) in do_read_relocs()
1838 Sized_relobj_file<size, big_endian>::do_read_relocs(rd); in do_read_relocs()
1839 if (size == 64) in do_read_relocs()
1863 template<int size, bool big_endian>
1865 Powerpc_relobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd) in do_read_symbols()
1868 if (size == 64) in do_read_symbols()
1870 const int shdr_size = elfcpp::Elf_sizes<size>::shdr_size; in do_read_symbols()
1876 const int sym_size = elfcpp::Elf_sizes<size>::sym_size; in do_read_symbols()
1880 typename elfcpp::Shdr<size, big_endian> shdr(psymtab); in do_read_symbols()
1886 elfcpp::Sym<size, big_endian> sym(psyms); in do_read_symbols()
1903 template<int size, bool big_endian>
1905 Powerpc_dynobj<size, big_endian>::set_abiversion(int ver) in set_abiversion()
1910 Target_powerpc<size, big_endian>* target = in set_abiversion()
1911 static_cast<Target_powerpc<size, big_endian>*>( in set_abiversion()
1912 parameters->sized_target<size, big_endian>()); in set_abiversion()
1927 template<int size, bool big_endian>
1929 Powerpc_dynobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd) in do_read_symbols()
1932 if (size == 64) in do_read_symbols()
1934 const int shdr_size = elfcpp::Elf_sizes<size>::shdr_size; in do_read_symbols()
1945 s = this->template find_shdr<size, big_endian>(pshdrs, ".opd", names, in do_read_symbols()
1951 typename elfcpp::Shdr<size, big_endian> shdr(s); in do_read_symbols()
1979 typename elfcpp::Shdr<size, big_endian> shdr(s); in do_read_symbols()
2031 template<int size, bool big_endian>
2033 Target_powerpc<size, big_endian>::do_define_standard_symbols( in do_define_standard_symbols()
2037 if (size == 32) in do_define_standard_symbols()
2046 Target_powerpc<size, big_endian>* target = in do_define_standard_symbols()
2047 static_cast<Target_powerpc<size, big_endian>*>( in do_define_standard_symbols()
2048 parameters->sized_target<size, big_endian>()); in do_define_standard_symbols()
2049 Output_data_got_powerpc<size, big_endian>* got in do_define_standard_symbols()
2083 Target_powerpc<size, big_endian>* target = in do_define_standard_symbols()
2084 static_cast<Target_powerpc<size, big_endian>*>( in do_define_standard_symbols()
2085 parameters->sized_target<size, big_endian>()); in do_define_standard_symbols()
2086 Output_data_got_powerpc<size, big_endian>* got in do_define_standard_symbols()
2101 template<int size, bool big_endian>
2103 Target_powerpc<size, big_endian>::do_make_elf_object( in do_make_elf_object()
2106 off_t offset, const elfcpp::Ehdr<size, big_endian>& ehdr) in do_make_elf_object() argument
2114 Powerpc_relobj<size, big_endian>* obj = in do_make_elf_object()
2115 new Powerpc_relobj<size, big_endian>(name, input_file, offset, ehdr); in do_make_elf_object()
2121 Powerpc_dynobj<size, big_endian>* obj = in do_make_elf_object()
2122 new Powerpc_dynobj<size, big_endian>(name, input_file, offset, ehdr); in do_make_elf_object()
2133 template<int size, bool big_endian>
2134 class Output_data_got_powerpc : public Output_data_got<size, big_endian>
2137 typedef typename elfcpp::Elf_types<size>::Elf_Addr Valtype;
2138 typedef Output_data_reloc<elfcpp::SHT_RELA, true, size, big_endian> Rela_dyn;
2141 : Output_data_got<size, big_endian>(), in Output_data_got_powerpc()
2143 header_ent_cnt_(size == 32 ? 3 : 1), in Output_data_got_powerpc()
2144 header_index_(size == 32 ? 0x2000 : 0) in Output_data_got_powerpc()
2153 return Output_data_got<size, big_endian>::add_global(gsym, got_type); in add_global()
2160 return Output_data_got<size, big_endian>::add_global_plt(gsym, got_type); in add_global_plt()
2172 Output_data_got<size, big_endian>:: in add_global_with_rel()
2182 Output_data_got<size, big_endian>:: in add_global_pair_with_rel()
2190 return Output_data_got<size, big_endian>::add_local(object, sym_index, in add_local()
2198 return Output_data_got<size, big_endian>::add_local_plt(object, sym_index, in add_local_plt()
2213 Output_data_got<size, big_endian>:: in add_local_tls_pair()
2221 return Output_data_got<size, big_endian>::add_constant(constant); in add_constant()
2228 return Output_data_got<size, big_endian>::add_constant_pair(c1, c2); in add_constant_pair()
2241 got_base_offset(const Powerpc_relobj<size, big_endian>* object) const in got_base_offset() argument
2243 if (size == 32) in got_base_offset()
2257 Output_data_got<size, big_endian>::set_final_data_size(); in set_final_data_size()
2267 if (size == 32 && this->layout_->dynamic_data() != NULL) in do_write()
2269 if (size == 64) in do_write()
2272 Output_data_got<size, big_endian>::do_write(of); in do_write()
2290 if (size == 32) in make_header()
2292 Output_data_got<size, big_endian>::add_constant(0); in make_header()
2293 Output_data_got<size, big_endian>::add_constant(0); in make_header()
2294 Output_data_got<size, big_endian>::add_constant(0); in make_header()
2300 Sized_symbol<size>* sym = static_cast<Sized_symbol<size>*>(gotsym); in make_header()
2313 Output_data_got<size, big_endian>::add_constant(0); in make_header()
2328 template<int size, bool big_endian>
2329 Output_data_got_powerpc<size, big_endian>*
2330 Target_powerpc<size, big_endian>::got_section(Symbol_table* symtab, in got_section()
2338 = new Output_data_got_powerpc<size, big_endian>(symtab, layout); in got_section()
2350 template<int size, bool big_endian>
2351 typename Target_powerpc<size, big_endian>::Reloc_section*
2352 Target_powerpc<size, big_endian>::rela_dyn_section(Layout* layout) in rela_dyn_section()
2367 template<int size, bool big_endian>
2368 typename Target_powerpc<size, big_endian>::Reloc_section*
2369 Target_powerpc<size, big_endian>::rela_dyn_section(Symbol_table* symtab, in rela_dyn_section()
2388 Stub_control(int32_t size, bool no_size_errors) in Stub_control() argument
2389 : state_(NO_GROUP), stub_group_size_(abs(size)), in Stub_control()
2390 stub14_group_size_(abs(size) >> 10), in Stub_control()
2391 stubs_always_before_branch_(size < 0), in Stub_control()
2505 template<int size, bool big_endian>
2507 Target_powerpc<size, big_endian>::group_sections(Layout* layout, in group_sections()
2532 Powerpc_relobj<size, big_endian>* ppcobj = static_cast in group_sections()
2533 <Powerpc_relobj<size, big_endian>*>(i->relobj()); in group_sections()
2547 ppcobj->set_stub_table(i->shndx(), tables.size() - 1); in group_sections()
2555 if (tables.size() >= 2 && tables[tables.size() - 2]->owner == i) in group_sections()
2564 Powerpc_relobj<size, big_endian>* ppcobj = static_cast in group_sections()
2565 <Powerpc_relobj<size, big_endian>*>(i->relobj()); in group_sections()
2566 ppcobj->set_stub_table(i->shndx(), tables.size() - 1); in group_sections()
2578 Stub_table<size, big_endian>* stub_table; in group_sections()
2581 stub_table = new Stub_table<size, big_endian>(this, in group_sections()
2585 stub_table = static_cast<Stub_table<size, big_endian>*>( in group_sections()
2610 template<int size, bool big_endian>
2612 Target_powerpc<size, big_endian>::Branch_info::make_stub( in make_stub()
2613 Stub_table<size, big_endian>* stub_table, in make_stub() argument
2614 Stub_table<size, big_endian>* ifunc_stub_table, in make_stub()
2620 const Sized_symbol<size>* gsym = static_cast<const Sized_symbol<size>*>(sym); in make_stub()
2621 Target_powerpc<size, big_endian>* target = in make_stub()
2622 static_cast<Target_powerpc<size, big_endian>*>( in make_stub()
2623 parameters->sized_target<size, big_endian>()); in make_stub()
2628 if (size == 64 in make_stub()
2692 to = symtab->compute_final_value<size>(gsym, &status); in make_stub()
2695 if (size == 64) in make_stub()
2700 const Symbol_value<size>* psymval in make_stub()
2702 Symbol_value<size> symval; in make_stub()
2703 typedef Sized_relobj_file<size, big_endian> ObjType; in make_stub()
2711 if (size == 64) in make_stub()
2714 if (!(size == 32 && this->r_type_ == elfcpp::R_PPC_PLTREL24)) in make_stub()
2718 if (size == 64 && target->abiversion() < 2) in make_stub()
2745 template<int size, bool big_endian>
2747 Target_powerpc<size, big_endian>::do_relax(int pass, in do_relax()
2758 if (size == 64 in do_relax()
2843 const Powerpc_relobj<size, big_endian>* object in do_relax()
2844 = static_cast<const Powerpc_relobj<size, big_endian>*>((*p)->relobj()); in do_relax()
2854 prev_brlt_size = this->branch_lookup_table_.size(); in do_relax()
2866 Stub_table<size, big_endian>* ifunc_stub_table in do_relax()
2867 = this->stub_tables_.size() == 0 ? NULL : this->stub_tables_[0]; in do_relax()
2868 Stub_table<size, big_endian>* one_stub_table in do_relax()
2869 = this->stub_tables_.size() != 1 ? NULL : ifunc_stub_table; in do_relax()
2885 unsigned int num_huge_branches = this->branch_lookup_table_.size(); in do_relax()
2887 if (size == 64 && num_huge_branches != 0) in do_relax()
2889 if (size == 64 && again) in do_relax()
2925 Stub_table<size, big_endian>* stub_table in do_relax()
2926 = static_cast<Stub_table<size, big_endian>*>( in do_relax()
2938 if (size == 64 in do_relax()
2957 template<int size, bool big_endian>
2959 Target_powerpc<size, big_endian>::do_plt_fde_location(const Output_data* plt, in do_plt_fde_location()
2984 else if (size == 64) in do_plt_fde_location()
3008 const Stub_table<size, big_endian>* stub_table in do_plt_fde_location()
3009 = static_cast<const Stub_table<size, big_endian>*>(plt); in do_plt_fde_location()
3021 template<int size, bool big_endian>
3026 size, big_endian> Reloc_section;
3028 Output_data_plt_powerpc(Target_powerpc<size, big_endian>* targ, in Output_data_plt_powerpc() argument
3031 : Output_section_data_build(size == 32 ? 4 : 8), in Output_data_plt_powerpc()
3045 add_local_ifunc_entry(Sized_relobj_file<size, big_endian>*, unsigned int);
3101 Target_powerpc<size, big_endian>* targ_;
3108 template<int size, bool big_endian>
3110 Output_data_plt_powerpc<size, big_endian>::add_entry(Symbol* gsym) in add_entry()
3128 template<int size, bool big_endian>
3130 Output_data_plt_powerpc<size, big_endian>::add_ifunc_entry(Symbol* gsym) in add_ifunc_entry()
3137 if (size == 64 && this->targ_->abiversion() < 2) in add_ifunc_entry()
3147 template<int size, bool big_endian>
3149 Output_data_plt_powerpc<size, big_endian>::add_local_ifunc_entry( in add_local_ifunc_entry()
3150 Sized_relobj_file<size, big_endian>* relobj, in add_local_ifunc_entry() argument
3158 if (size == 64 && this->targ_->abiversion() < 2) in add_local_ifunc_entry()
3239 template<int size, bool big_endian>
3241 Output_data_plt_powerpc<size, big_endian>::do_write(Output_file* of) in do_write()
3243 if (size == 32 && this->name_[3] != 'I') in do_write()
3253 const Output_data_glink<size, big_endian>* glink in do_write()
3270 template<int size, bool big_endian>
3272 Target_powerpc<size, big_endian>::make_plt_section(Symbol_table* symtab, in make_plt_section()
3293 = new Output_data_plt_powerpc<size, big_endian>(this, plt_rel, in make_plt_section()
3296 (size == 32 in make_plt_section()
3301 (size == 32 in make_plt_section()
3310 template<int size, bool big_endian>
3312 Target_powerpc<size, big_endian>::make_iplt_section(Symbol_table* symtab, in make_iplt_section()
3322 = new Output_data_plt_powerpc<size, big_endian>(this, iplt_rel, in make_iplt_section()
3330 template<int size, bool big_endian>
3334 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
3336 size, big_endian> Reloc_section;
3338 Output_data_brlt_powerpc(Target_powerpc<size, big_endian>* targ, in Output_data_brlt_powerpc() argument
3340 : Output_section_data_build(size == 32 ? 4 : 8), in Output_data_brlt_powerpc()
3376 = Reloc_types<elfcpp::SHT_RELA, size, big_endian>::reloc_size; in set_current_size()
3404 Target_powerpc<size, big_endian>* targ_;
3409 template<int size, bool big_endian>
3411 Target_powerpc<size, big_endian>::make_brlt_section(Layout* layout) in make_brlt_section()
3413 if (size == 64 && this->brlt_section_ == NULL) in make_brlt_section()
3427 = new Output_data_brlt_powerpc<size, big_endian>(this, brlt_rel); in make_brlt_section()
3445 template<int size, bool big_endian>
3447 Output_data_brlt_powerpc<size, big_endian>::do_write(Output_file* of) in do_write()
3449 if (size == 64 && !parameters->options().output_is_position_independent()) in do_write()
3479 template<int size>
3485 template<int size>
3486 const unsigned char Eh_cie<size>::eh_frame_cie[] =
3491 0x80 - size / 8 , // Data alignment.
3557 template<int size, bool big_endian>
3561 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
3564 Stub_table(Target_powerpc<size, big_endian>* targ, in Stub_table() argument
3585 const Sized_relobj_file<size, big_endian>*,
3592 const Sized_relobj_file<size, big_endian>*,
3602 find_plt_call_entry(const Sized_relobj_file<size, big_endian>*,
3606 find_plt_call_entry(const Sized_relobj_file<size, big_endian>*,
3612 find_plt_call_entry(const Sized_relobj_file<size, big_endian>*,
3619 add_long_branch_entry(const Powerpc_relobj<size, big_endian>*,
3623 find_long_branch_entry(const Powerpc_relobj<size, big_endian>*,
3738 Eh_cie<size>::eh_frame_cie, in add_eh_frame()
3739 sizeof (Eh_cie<size>::eh_frame_cie), in add_eh_frame()
3746 Target_powerpc<size, big_endian>*
3760 if (size == 32) in stub_align()
3781 const Sized_relobj_file<size, big_endian>* relobj = p->first.object_; in plt_off()
3791 if (size == 32) in plt_call_size()
3801 const Powerpc_relobj<size, big_endian>* ppcobj = static_cast in plt_call_size()
3802 <const Powerpc_relobj<size, big_endian>*>(p->first.object_); in plt_call_size()
3829 if (size == 64 || !parameters->options().output_is_position_independent()) in branch_stub_size()
3846 Plt_stub_ent(const Sized_relobj_file<size, big_endian>* object, in Plt_stub_ent() argument
3851 Plt_stub_ent(const Sized_relobj_file<size, big_endian>* object, in Plt_stub_ent() argument
3857 if (size != 32) in Plt_stub_ent()
3868 Plt_stub_ent(const Sized_relobj_file<size, big_endian>* object, in Plt_stub_ent() argument
3874 if (size != 32) in Plt_stub_ent()
3890 const Sized_relobj_file<size, big_endian>* object_;
3891 typename elfcpp::Elf_types<size>::Elf_Addr addend_;
3911 Branch_stub_ent(const Powerpc_relobj<size, big_endian>* obj, Address to) in Branch_stub_ent() argument
3914 if (size == 64) in Branch_stub_ent()
3921 && (size == 32 in operator ==()
3937 Target_powerpc<size, big_endian>* targ_;
3955 template<int size, bool big_endian>
3957 Stub_table<size, big_endian>::add_plt_call_entry( in add_plt_call_entry()
3959 const Sized_relobj_file<size, big_endian>* object, in add_plt_call_entry() argument
3973 template<int size, bool big_endian>
3975 Stub_table<size, big_endian>::add_plt_call_entry( in add_plt_call_entry()
3977 const Sized_relobj_file<size, big_endian>* object, in add_plt_call_entry() argument
3993 template<int size, bool big_endian>
3994 typename Stub_table<size, big_endian>::Address
3995 Stub_table<size, big_endian>::find_plt_call_entry( in find_plt_call_entry()
3996 const Sized_relobj_file<size, big_endian>* object, in find_plt_call_entry() argument
4006 template<int size, bool big_endian>
4007 typename Stub_table<size, big_endian>::Address
4008 Stub_table<size, big_endian>::find_plt_call_entry(const Symbol* gsym) const in find_plt_call_entry()
4015 template<int size, bool big_endian>
4016 typename Stub_table<size, big_endian>::Address
4017 Stub_table<size, big_endian>::find_plt_call_entry( in find_plt_call_entry()
4018 const Sized_relobj_file<size, big_endian>* object, in find_plt_call_entry() argument
4028 template<int size, bool big_endian>
4029 typename Stub_table<size, big_endian>::Address
4030 Stub_table<size, big_endian>::find_plt_call_entry( in find_plt_call_entry()
4031 const Sized_relobj_file<size, big_endian>* object, in find_plt_call_entry() argument
4042 template<int size, bool big_endian>
4044 Stub_table<size, big_endian>::add_long_branch_entry( in add_long_branch_entry()
4045 const Powerpc_relobj<size, big_endian>* object, in add_long_branch_entry() argument
4056 if (size == 64 && stub_size != 4) in add_long_branch_entry()
4064 template<int size, bool big_endian>
4065 typename Stub_table<size, big_endian>::Address
4066 Stub_table<size, big_endian>::find_long_branch_entry( in find_long_branch_entry()
4067 const Powerpc_relobj<size, big_endian>* object, in find_long_branch_entry() argument
4078 template<int size, bool big_endian>
4082 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
4086 Output_data_glink(Target_powerpc<size, big_endian>* targ) in Output_data_glink() argument
4123 Target_powerpc<size, big_endian>* targ_;
4132 template<int size, bool big_endian>
4134 Output_data_glink<size, big_endian>::add_eh_frame(Layout* layout) in add_eh_frame()
4139 if (size == 64) in add_eh_frame()
4173 template<int size, bool big_endian>
4175 Output_data_glink<size, big_endian>::add_global_entry(const Symbol* gsym) in add_global_entry()
4183 template<int size, bool big_endian>
4184 typename Output_data_glink<size, big_endian>::Address
4185 Output_data_glink<size, big_endian>::find_global_entry(const Symbol* gsym) const in find_global_entry()
4192 template<int size, bool big_endian>
4194 Output_data_glink<size, big_endian>::set_final_data_size() in set_final_data_size()
4201 if (size == 32) in set_final_data_size()
4232 template<int size, bool big_endian>
4234 Stub_table<size, big_endian>::do_write(Output_file* of) in do_write()
4247 if (size == 64) in do_write()
4249 const Output_data_got_powerpc<size, big_endian>* got in do_write()
4276 const Powerpc_relobj<size, big_endian>* ppcobj = static_cast in do_write()
4277 <const Powerpc_relobj<size, big_endian>*>(cs->first.object_); in do_write()
4470 const Powerpc_relobj<size, big_endian>* ppcobj in do_write()
4471 = (static_cast<const Powerpc_relobj<size, big_endian>*> in do_write()
4485 const Output_data_got_powerpc<size, big_endian>* got in do_write()
4553 template<int size, bool big_endian>
4555 Output_data_glink<size, big_endian>::do_write(Output_file* of) in do_write()
4564 typedef typename elfcpp::Elf_types<size>::Elf_Addr Address; in do_write()
4567 if (size == 64) in do_write()
4668 const Output_data_got_powerpc<size, big_endian>* got in do_write()
4753 template<int size, bool big_endian>
4975 template<int size, bool big_endian>
4976 Output_data_save_res<size, big_endian>::Output_data_save_res( in Output_data_save_res()
5019 template<int size, bool big_endian>
5021 Output_data_save_res<size, big_endian>::savres_define( in savres_define()
5066 template<int size, bool big_endian>
5068 Output_data_save_res<size, big_endian>::do_write(Output_file* of) in do_write()
5081 template<int size, bool big_endian>
5083 Target_powerpc<size, big_endian>::make_glink_section(Layout* layout) in make_glink_section()
5087 this->glink_ = new Output_data_glink<size, big_endian>(this); in make_glink_section()
5097 template<int size, bool big_endian>
5099 Target_powerpc<size, big_endian>::make_plt_entry(Symbol_table* symtab, in make_plt_entry()
5120 template<int size, bool big_endian>
5122 Target_powerpc<size, big_endian>::make_local_ifunc_plt_entry( in make_local_ifunc_plt_entry()
5125 Sized_relobj_file<size, big_endian>* relobj, in make_local_ifunc_plt_entry() argument
5135 template<int size, bool big_endian>
5137 Target_powerpc<size, big_endian>::plt_entry_count() const in plt_entry_count()
5146 template<int size, bool big_endian>
5148 Target_powerpc<size, big_endian>::tlsld_got_offset( in tlsld_got_offset()
5151 Sized_relobj_file<size, big_endian>* object) in tlsld_got_offset() argument
5157 Output_data_got_powerpc<size, big_endian>* got in tlsld_got_offset()
5169 template<int size, bool big_endian>
5171 Target_powerpc<size, big_endian>::Scan::get_reference_flags( in get_reference_flags()
5254 if (size == 64 && target->abiversion() < 2) in get_reference_flags()
5261 template<int size, bool big_endian>
5263 Target_powerpc<size, big_endian>::Scan::unsupported_reloc_local( in unsupported_reloc_local()
5264 Sized_relobj_file<size, big_endian>* object, in unsupported_reloc_local() argument
5274 template<int size, bool big_endian>
5276 Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object, in check_non_pic()
5317 if (size == 64) in check_non_pic()
5381 template<int size, bool big_endian>
5383 Target_powerpc<size, big_endian>::Scan::reloc_needs_plt_for_ifunc( in reloc_needs_plt_for_ifunc() argument
5384 Target_powerpc<size, big_endian>* target, in reloc_needs_plt_for_ifunc()
5385 Sized_relobj_file<size, big_endian>* object, in reloc_needs_plt_for_ifunc() argument
5391 if ((size == 32 || target->abiversion() >= 2) in reloc_needs_plt_for_ifunc()
5400 if (size == 32) in reloc_needs_plt_for_ifunc()
5406 if (size == 64) in reloc_needs_plt_for_ifunc()
5452 template<int size, bool big_endian>
5454 Target_powerpc<size, big_endian>::Scan::local( in local() argument
5457 Target_powerpc<size, big_endian>* target, in local()
5458 Sized_relobj_file<size, big_endian>* object, in local() argument
5461 const elfcpp::Rela<size, big_endian>& reloc, in local() argument
5463 const elfcpp::Sym<size, big_endian>& lsym, in local() argument
5468 if ((size == 64 && r_type == elfcpp::R_PPC64_TLSGD) in local()
5469 || (size == 32 && r_type == elfcpp::R_PPC_TLSGD)) in local()
5476 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSLD) in local()
5477 || (size == 32 && r_type == elfcpp::R_PPC_TLSLD)) in local()
5485 Powerpc_relobj<size, big_endian>* ppc_object in local()
5486 = static_cast<Powerpc_relobj<size, big_endian>*>(object); in local()
5490 if (size == 64 in local()
5501 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5518 Output_data_got_powerpc<size, big_endian>* got in local()
5523 if (size == 64 in local()
5530 Powerpc_relobj<size, big_endian>* symobj = ppc_object; in local()
5565 || (size == 64 && is_ifunc && target->abiversion() < 2)) in local()
5569 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5570 if ((size == 32 && r_type == elfcpp::R_POWERPC_ADDR32) in local()
5571 || (size == 64 && r_type == elfcpp::R_PPC64_ADDR64)) in local()
5613 r_type, elfcpp::elf_r_sym<size>(reloc.get_r_info()), in local()
5666 Output_data_got_powerpc<size, big_endian>* got in local()
5668 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5673 && (size == 32 || target->abiversion() >= 2)) in local()
5714 Output_data_got_powerpc<size, big_endian>* got in local()
5716 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5758 Output_data_got_powerpc<size, big_endian>* got in local()
5760 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5773 unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info()); in local()
5776 Output_data_got_powerpc<size, big_endian>* got in local()
5819 template<int size, bool big_endian>
5821 Target_powerpc<size, big_endian>::Scan::unsupported_reloc_global( in unsupported_reloc_global()
5822 Sized_relobj_file<size, big_endian>* object, in unsupported_reloc_global() argument
5832 template<int size, bool big_endian>
5834 Target_powerpc<size, big_endian>::Scan::global( in global() argument
5837 Target_powerpc<size, big_endian>* target, in global()
5838 Sized_relobj_file<size, big_endian>* object, in global() argument
5841 const elfcpp::Rela<size, big_endian>& reloc, in global() argument
5848 if ((size == 64 && r_type == elfcpp::R_PPC64_TLSGD) in global()
5849 || (size == 32 && r_type == elfcpp::R_PPC_TLSGD)) in global()
5857 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSLD) in global()
5858 || (size == 32 && r_type == elfcpp::R_PPC_TLSLD)) in global()
5866 Powerpc_relobj<size, big_endian>* ppc_object in global()
5867 = static_cast<Powerpc_relobj<size, big_endian>*>(object); in global()
5875 r_type, elfcpp::elf_r_sym<size>(reloc.get_r_info()), in global()
5892 Output_data_got_powerpc<size, big_endian>* got in global()
5897 if (size == 64 in global()
5903 Powerpc_relobj<size, big_endian>* symobj = ppc_object; in global()
5906 <Powerpc_relobj<size, big_endian>*>(gsym->object()); in global()
5917 if (size == 64 in global()
5956 if ((size == 32 || target->abiversion() >= 2) in global()
5967 elfcpp::elf_r_sym<size>(reloc.get_r_info()), in global()
5974 || (size == 64 && is_ifunc && target->abiversion() < 2)) in global()
5982 else if ((((size == 32 in global()
5984 || (size == 64 in global()
5990 || (size == 64 in global()
6024 elfcpp::elf_r_sym<size>(reloc.get_r_info()), in global()
6064 r_type, elfcpp::elf_r_sym<size>(reloc.get_r_info()), in global()
6115 Output_data_got_powerpc<size, big_endian>* got; in global()
6121 && (size == 32 || target->abiversion() >= 2)) in global()
6137 && !((size == 32 in global()
6174 Output_data_got_powerpc<size, big_endian>* got in global()
6185 Output_data_got_powerpc<size, big_endian>* got in global()
6241 Output_data_got_powerpc<size, big_endian>* got in global()
6266 Output_data_got_powerpc<size, big_endian>* got in global()
6317 template<int size, bool big_endian>
6319 Target_powerpc<size, big_endian>::gc_process_relocs( in gc_process_relocs()
6322 Sized_relobj_file<size, big_endian>* object, in gc_process_relocs() argument
6332 typedef Target_powerpc<size, big_endian> Powerpc; in gc_process_relocs()
6333 typedef typename Target_powerpc<size, big_endian>::Scan Scan; in gc_process_relocs()
6334 Powerpc_relobj<size, big_endian>* ppc_object in gc_process_relocs()
6335 = static_cast<Powerpc_relobj<size, big_endian>*>(object); in gc_process_relocs()
6336 if (size == 64) in gc_process_relocs()
6338 if (size == 64 && data_shndx == ppc_object->opd_shndx()) in gc_process_relocs()
6340 typename Powerpc_relobj<size, big_endian>::Access_from::iterator p; in gc_process_relocs()
6347 typename Powerpc_relobj<size, big_endian>::Section_refs::iterator s; in gc_process_relocs()
6363 gold::gc_process_relocs<size, big_endian, Powerpc, elfcpp::SHT_RELA, Scan, in gc_process_relocs()
6383 template<int size, bool big_endian>
6385 Target_powerpc<size, big_endian>::do_gc_add_reference( in do_gc_add_reference()
6393 if (size != 64 || dst_obj->is_dynamic()) in do_gc_add_reference()
6396 Powerpc_relobj<size, big_endian>* ppc_object in do_gc_add_reference()
6397 = static_cast<Powerpc_relobj<size, big_endian>*>(dst_obj); in do_gc_add_reference()
6418 template<int size, bool big_endian>
6420 Target_powerpc<size, big_endian>::do_gc_mark_symbol( in do_gc_mark_symbol()
6424 if (size == 64) in do_gc_mark_symbol()
6426 Powerpc_relobj<size, big_endian>* ppc_object in do_gc_mark_symbol()
6427 = static_cast<Powerpc_relobj<size, big_endian>*>(sym->object()); in do_gc_mark_symbol()
6432 Sized_symbol<size>* gsym = symtab->get_sized_symbol<size>(sym); in do_gc_mark_symbol()
6448 template<int size, bool big_endian>
6450 Target_powerpc<size, big_endian>::do_function_location( in do_function_location()
6453 if (size == 64 && loc->shndx != 0) in do_function_location()
6457 Powerpc_dynobj<size, big_endian>* ppc_object in do_function_location()
6458 = static_cast<Powerpc_dynobj<size, big_endian>*>(loc->object); in do_function_location()
6469 const Powerpc_relobj<size, big_endian>* ppc_object in do_function_location()
6470 = static_cast<const Powerpc_relobj<size, big_endian>*>(loc->object); in do_function_location()
6483 template<int size, bool big_endian>
6485 Target_powerpc<size, big_endian>::scan_relocs( in scan_relocs()
6488 Sized_relobj_file<size, big_endian>* object, in scan_relocs() argument
6498 typedef Target_powerpc<size, big_endian> Powerpc; in scan_relocs()
6499 typedef typename Target_powerpc<size, big_endian>::Scan Scan; in scan_relocs()
6508 gold::scan_relocs<size, big_endian, Powerpc, elfcpp::SHT_RELA, Scan>( in scan_relocs()
6561 template<int size, bool big_endian>
6563 Target_powerpc<size, big_endian>::define_save_restore_funcs( in define_save_restore_funcs()
6567 if (size == 64) in define_save_restore_funcs()
6604 template<int size, bool big_endian>
6606 Target_powerpc<size, big_endian>::do_finalize_sections( in do_finalize_sections()
6641 if (size == 64) in do_finalize_sections()
6659 if (os != NULL && os->input_sections().size() > 1) in do_finalize_sections()
6675 this->rela_dyn_, true, size == 32); in do_finalize_sections()
6677 if (size == 32) in do_finalize_sections()
6734 template<int size, bool big_endian>
6736 Target_powerpc<size, big_endian>::symval_for_branch( in symval_for_branch()
6738 const Sized_symbol<size>* gsym, in symval_for_branch()
6739 Powerpc_relobj<size, big_endian>* object, in symval_for_branch() argument
6743 if (size == 32 || this->abiversion() >= 2) in symval_for_branch()
6749 Powerpc_relobj<size, big_endian>* symobj = object; in symval_for_branch()
6754 symobj = static_cast<Powerpc_relobj<size, big_endian>*>(gsym->object()); in symval_for_branch()
6770 symobj = static_cast<Powerpc_relobj<size, big_endian>*>(folded.first); in symval_for_branch()
6785 template<int size, bool big_endian>
6787 Target_powerpc<size, big_endian>::Relocate::relocate( in relocate()
6788 const Relocate_info<size, big_endian>* relinfo, in relocate() argument
6792 const elfcpp::Rela<size, big_endian>& rela, in relocate() argument
6794 const Sized_symbol<size>* gsym, in relocate()
6795 const Symbol_value<size>* psymval, in relocate()
6818 typedef Powerpc_relocate_functions<size, big_endian> Reloc; in relocate()
6820 Powerpc_relobj<size, big_endian>* const object in relocate()
6821 = static_cast<Powerpc_relobj<size, big_endian>*>(relinfo->object); in relocate()
6824 unsigned int r_sym = elfcpp::elf_r_sym<size>(rela.get_r_info()); in relocate()
6831 if (size == 64 in relocate()
6846 Stub_table<size, big_endian>* stub_table in relocate()
6851 if (target->stub_tables().size() != 0) in relocate()
6890 unsigned int r_sym = elfcpp::elf_r_sym<size>(rela.get_r_info()); in relocate()
6906 if (size == 64) in relocate()
6992 unsigned int r_sym = elfcpp::elf_r_sym<size>(rela.get_r_info()); in relocate()
7006 if (size == 32) in relocate()
7023 if (size == 32) in relocate()
7061 if (size == 32) in relocate()
7092 unsigned int r_sym = elfcpp::elf_r_sym<size>(rela.get_r_info()); in relocate()
7115 unsigned int r_sym = elfcpp::elf_r_sym<size>(rela.get_r_info()); in relocate()
7130 if (size == 32) in relocate()
7147 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSGD) in relocate()
7148 || (size == 32 && r_type == elfcpp::R_PPC_TLSGD)) in relocate()
7161 if (size == 32) in relocate()
7178 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSLD) in relocate()
7179 || (size == 32 && r_type == elfcpp::R_PPC_TLSLD)) in relocate()
7205 unsigned int reg = size == 32 ? 2 : 13; in relocate()
7217 if (!(size == 32 && r_type == elfcpp::R_PPC_PLTREL24)) in relocate()
7220 if (size == 64 && is_branch_reloc(r_type)) in relocate()
7240 Stub_table<size, big_endian>* stub_table in relocate()
7297 if (size != 64) in relocate()
7319 if (size != 64) in relocate()
7384 if (size == 64) in relocate()
7454 elfcpp::Shdr<size, big_endian> shdr(relinfo->data_shdr); in relocate()
7459 if (size == 64) in relocate()
7464 if (size == 64) in relocate()
7507 if (size != 32) in relocate()
7564 typename Powerpc_relocate_functions<size, big_endian>::Status status in relocate()
7565 = Powerpc_relocate_functions<size, big_endian>::STATUS_OK; in relocate()
7583 if (size == 64) in relocate()
7611 if (size == 64) in relocate()
7646 if (size == 32) in relocate()
7666 if (size == 32) in relocate()
7684 if (size == 32) in relocate()
7693 if (size == 32) in relocate()
7702 if (size == 32) in relocate()
7711 if (size == 32) in relocate()
7721 if (size == 32) in relocate()
7726 if (size == 32) in relocate()
7762 if (size == 32) in relocate()
7772 if (size == 32) in relocate()
7802 if (status != Powerpc_relocate_functions<size, big_endian>::STATUS_OK in relocate()
7819 template<int size, bool big_endian>
7821 Target_powerpc<size, big_endian>::relocate_section( in relocate_section()
7822 const Relocate_info<size, big_endian>* relinfo, in relocate_section() argument
7833 typedef Target_powerpc<size, big_endian> Powerpc; in relocate_section()
7834 typedef typename Target_powerpc<size, big_endian>::Relocate Powerpc_relocate; in relocate_section()
7835 typedef typename Target_powerpc<size, big_endian>::Relocate_comdat_behavior in relocate_section()
7840 gold::relocate_section<size, big_endian, Powerpc, elfcpp::SHT_RELA, in relocate_section()
7888 template<int size, bool big_endian>
7890 Target_powerpc<size, big_endian>::scan_relocatable_relocs( in scan_relocatable_relocs()
7893 Sized_relobj_file<size, big_endian>* object, in scan_relocatable_relocs() argument
7906 gold::scan_relocatable_relocs<size, big_endian, elfcpp::SHT_RELA, in scan_relocatable_relocs()
7927 template<int size, bool big_endian>
7929 Target_powerpc<size, big_endian>::relocate_relocs( in relocate_relocs()
7930 const Relocate_info<size, big_endian>* relinfo, in relocate_relocs() argument
7935 typename elfcpp::Elf_types<size>::Elf_Off offset_in_output_section, in relocate_relocs()
7945 typedef typename Reloc_types<elfcpp::SHT_RELA, size, big_endian>::Reloc in relocate_relocs()
7947 typedef typename Reloc_types<elfcpp::SHT_RELA, size, big_endian>::Reloc_write in relocate_relocs()
7950 = Reloc_types<elfcpp::SHT_RELA, size, big_endian>::reloc_size; in relocate_relocs()
7952 Powerpc_relobj<size, big_endian>* const object in relocate_relocs()
7953 = static_cast<Powerpc_relobj<size, big_endian>*>(relinfo->object); in relocate_relocs()
7975 typename elfcpp::Elf_types<size>::Elf_WXword r_info = reloc.get_r_info(); in relocate_relocs()
7976 unsigned int r_sym = elfcpp::elf_r_sym<size>(r_info); in relocate_relocs()
7977 unsigned int r_type = elfcpp::elf_r_type<size>(r_info); in relocate_relocs()
7979 typename elfcpp::Elf_types<size>::Elf_Swxword addend in relocate_relocs()
8069 const Symbol_value<size>* psymval = object->local_symbol(orig_r_sym); in relocate_relocs()
8156 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSGD) in relocate_relocs()
8157 || (size == 32 && r_type == elfcpp::R_PPC_TLSGD)) in relocate_relocs()
8177 else if ((size == 64 && r_type == elfcpp::R_PPC64_TLSLD) in relocate_relocs()
8178 || (size == 32 && r_type == elfcpp::R_PPC_TLSLD)) in relocate_relocs()
8208 reloc_write.put_r_info(elfcpp::elf_r_info<size>(r_sym, r_type)); in relocate_relocs()
8223 template<int size, bool big_endian>
8225 Target_powerpc<size, big_endian>::do_dynsym_value(const Symbol* gsym) const in do_dynsym_value()
8227 if (size == 32) in do_dynsym_value()
8249 template<int size, bool big_endian>
8251 Target_powerpc<size, big_endian>::do_plt_address_for_local( in do_plt_address_for_local()
8255 if (size == 32) in do_plt_address_for_local()
8257 const Sized_relobj<size, big_endian>* relobj in do_plt_address_for_local()
8258 = static_cast<const Sized_relobj<size, big_endian>*>(object); in do_plt_address_for_local()
8273 template<int size, bool big_endian>
8275 Target_powerpc<size, big_endian>::do_plt_address_for_global( in do_plt_address_for_global()
8278 if (size == 32) in do_plt_address_for_global()
8300 template<int size, bool big_endian>
8302 Target_powerpc<size, big_endian>::do_tls_offset_for_local( in do_tls_offset_for_local()
8307 const Powerpc_relobj<size, big_endian>* ppc_object in do_tls_offset_for_local()
8308 = static_cast<const Powerpc_relobj<size, big_endian>*>(object); in do_tls_offset_for_local()
8318 off += size / 8; in do_tls_offset_for_local()
8319 if (off == got_indx * (size / 8)) in do_tls_offset_for_local()
8333 template<int size, bool big_endian>
8335 Target_powerpc<size, big_endian>::do_tls_offset_for_global( in do_tls_offset_for_global()
8348 off += size / 8; in do_tls_offset_for_global()
8349 if (off == got_indx * (size / 8)) in do_tls_offset_for_global()
8363 template<int size, bool big_endian>
8368 : Target_selector(size == 64 ? elfcpp::EM_PPC64 : elfcpp::EM_PPC, in Target_selector_powerpc()
8369 size, big_endian, in Target_selector_powerpc()
8370 (size == 64 in Target_selector_powerpc()
8373 (size == 64 in Target_selector_powerpc()
8380 { return new Target_powerpc<size, big_endian>(); } in do_instantiate_target()
8389 template<int size, bool big_endian>
8390 const int Output_data_glink<size, big_endian>::pltresolve_size;
8391 template<int size, bool big_endian>
8392 const typename Output_data_glink<size, big_endian>::Address
8393 Output_data_glink<size, big_endian>::invalid_address;
8394 template<int size, bool big_endian>
8395 const typename Stub_table<size, big_endian>::Address
8396 Stub_table<size, big_endian>::invalid_address;
8397 template<int size, bool big_endian>
8398 const typename Target_powerpc<size, big_endian>::Address
8399 Target_powerpc<size, big_endian>::invalid_address;