Lines Matching defs:target

1 // powerpc.cc -- powerpc target support for gold.
38 #include "target.h"
39 #include "target-reloc.h"
40 #include "target-select.h"
244 make_toc_relative(Target_powerpc<size, big_endian>* target,
347 Target_powerpc<size, big_endian>* target
351 if (indx < target->stub_tables().size())
352 return target->stub_tables()[indx];
900 // Handle target specific gc actions when adding a gc reference from
1088 get_reference_flags(unsigned int r_type, const Target_powerpc* target);
1091 local(Symbol_table* symtab, Layout* layout, Target_powerpc* target,
1100 global(Symbol_table* symtab, Layout* layout, Target_powerpc* target,
1154 reloc_needs_plt_for_ifunc(Target_powerpc<size, big_endian>* target,
1169 Target_powerpc* target);
1372 // Information about this specific target which we pass to the
1866 Target_powerpc<size, big_endian>* target =
1869 if (target->abiversion() == 0)
1870 target->set_abiversion(this->abiversion());
1871 else if (target->abiversion() != this->abiversion())
1875 this->abiversion(), target->abiversion());
2010 Target_powerpc<size, big_endian>* target,
2043 Address got_base = (target->got_section()->output_section()->address()
2132 Target_powerpc<size, big_endian>* target =
2135 if (target->abiversion() == 0)
2136 target->set_abiversion(this->abiversion());
2137 else if (target->abiversion() != this->abiversion())
2141 this->abiversion(), target->abiversion());
2293 Target_powerpc<size, big_endian>* target =
2297 = target->got_section(symtab, layout);
2330 Target_powerpc<size, big_endian>* target =
2334 = target->got_section(symtab, layout);
2346 // Set up PowerPC target specific relobj.
2905 Target_powerpc<size, big_endian>* target =
2911 ? gsym->use_plt_offset(Scan::get_reference_flags(this->r_type_, target))
2916 && target->abiversion() >= 2
2919 target->glink_section()->add_global_entry(gsym);
3006 if (size == 64 && target->abiversion() < 2)
3009 if (!target->symval_for_branch(symtab, gsym, this->object_,
3027 && gsym->output_data() == target->savres_section());
5661 const Target_powerpc* target)
5741 if (size == 64 && target->abiversion() < 2)
5871 Target_powerpc<size, big_endian>* target,
5878 if ((size == 32 || target->abiversion() >= 2)
5983 Target_powerpc<size, big_endian>* target,
5998 const tls::Tls_optimization tls_type = target->optimize_tls_gd(true);
6006 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
6025 if (is_ifunc && this->reloc_needs_plt_for_ifunc(target, object, r_type, true))
6028 target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
6030 target->make_local_ifunc_plt_entry(symtab, layout, object, r_sym);
6046 = target->got_section(symtab, layout);
6051 && target->abiversion() < 2
6056 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6092 || (size == 64 && is_ifunc && target->abiversion() < 2))
6094 Reloc_section* rela_dyn = target->rela_dyn_section(symtab, layout,
6141 target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
6197 = target->got_section(symtab, layout);
6203 && (size == 32 || target->abiversion() >= 2))
6216 Reloc_section* rela_dyn = target->rela_dyn_section(symtab, layout,
6233 target->got_section(symtab, layout);
6241 const tls::Tls_optimization tls_type = target->optimize_tls_gd(true);
6245 = target->got_section(symtab, layout);
6247 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6265 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
6267 target->tlsld_got_offset(symtab, layout, object);
6289 = target->got_section(symtab, layout);
6300 const tls::Tls_optimization tls_type = target->optimize_tls_ie(true);
6307 = target->got_section(symtab, layout);
6311 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6338 || (is_ifunc && target->abiversion() < 2))
6511 Target_powerpc<size, big_endian>* target,
6527 const tls::Tls_optimization tls_type = target->optimize_tls_gd(final);
6535 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
6546 if (is_ifunc && this->reloc_needs_plt_for_ifunc(target, object, r_type, true))
6549 target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
6551 target->make_plt_entry(symtab, layout, gsym);
6568 = target->got_section(symtab, layout);
6577 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6593 && target->abiversion() < 2
6631 if ((size == 32 || target->abiversion() >= 2)
6641 target->push_branch(ppc_object, data_shndx,
6644 target->make_plt_entry(symtab, layout, gsym);
6648 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type, target))
6649 || (size == 64 && is_ifunc && target->abiversion() < 2))
6654 target->copy_reloc(symtab, layout, object,
6661 && target->abiversion() >= 2))
6667 && target->abiversion() < 2
6672 = target->rela_dyn_section(symtab, layout, is_ifunc);
6682 = target->rela_dyn_section(symtab, layout, is_ifunc);
6703 target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
6710 target->make_plt_entry(symtab, layout, gsym);
6717 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type, target)))
6722 target->copy_reloc(symtab, layout, object,
6729 = target->rela_dyn_section(symtab, layout, is_ifunc);
6744 target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
6799 got = target->got_section(symtab, layout);
6803 && (size == 32 || target->abiversion() >= 2))
6816 = target->rela_dyn_section(symtab, layout, is_ifunc);
6820 || target->abiversion() >= 2)
6844 target->got_section(symtab, layout);
6853 const tls::Tls_optimization tls_type = target->optimize_tls_gd(final);
6857 = target->got_section(symtab, layout);
6858 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6868 = target->got_section(symtab, layout);
6869 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6900 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
6902 target->tlsld_got_offset(symtab, layout, object);
6924 = target->got_section(symtab, layout);
6930 target->rela_dyn_section(layout),
6943 const tls::Tls_optimization tls_type = target->optimize_tls_ie(final);
6949 = target->got_section(symtab, layout);
6950 Reloc_section* rela_dyn = target->rela_dyn_section(layout);
6988 || (is_ifunc && target->abiversion() < 2))
7191 // Handle target specific gc actions when adding a gc reference from
7726 Target_powerpc* target,
7768 ? gsym->use_plt_offset(Scan::get_reference_flags(r_type, target))
7771 || Scan::reloc_needs_plt_for_ifunc(target, object, r_type, false)))
7775 && target->abiversion() >= 2
7779 Address off = target->glink_section()->find_global_entry(gsym);
7782 value = target->glink_section()->global_entry_address() + off;
7793 if (target->stub_tables().size() != 0)
7794 stub_table = target->stub_tables()[0];
7835 value -= target->got_section()->got_base_offset(object);
7839 value = (target->got_section()->output_section()->address()
7861 writeval(wv + 1, ld_2_1 + target->stk_toc());
7889 if (target->abiversion() < 2)
7893 target->symval_for_branch(relinfo->symtab, gsym, object,
7918 const tls::Tls_optimization tls_type = target->optimize_tls_gd(final);
7936 value -= target->got_section()->got_base_offset(object);
7986 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
7989 value = target->tlsld_got_offset();
7990 value -= target->got_section()->got_base_offset(object);
8035 value -= target->got_section()->got_base_offset(object);
8044 const tls::Tls_optimization tls_type = target->optimize_tls_ie(final);
8057 value -= target->got_section()->got_base_offset(object);
8092 const tls::Tls_optimization tls_type = target->optimize_tls_gd(final);
8122 const tls::Tls_optimization tls_type = target->optimize_tls_ld();
8138 const tls::Tls_optimization tls_type = target->optimize_tls_ie(final);
8160 if (target->abiversion() >= 2)
8170 target->symval_for_branch(relinfo->symtab, gsym, object,
8218 value -= (target->got_section()->output_section()->address()
8357 && object->make_toc_relative(target, &value))
8386 && object->make_toc_relative(target, &value))
8415 value = (target->got_section()->output_section()->address()
8467 && target->abiversion() >= 2
9075 // target-reloc.h. Using relocate_special_relocatable for