Home | History | Annotate | Download | only in gold

Lines Matching refs:gsym

435   // Add a static entry for the GOT entry at OFFSET.  GSYM is a global
439 add_static_reloc(unsigned int got_offset, unsigned int r_type, Symbol* gsym)
440 { this->static_relocs_.push_back(Static_reloc(got_offset, r_type, gsym)); }
516 const Symbol* gsym = reloc.symbol();
517 gold_assert(gsym != NULL);
518 if (gsym->is_forwarder())
519 gsym = this->symbol_table_->resolve_forwards(gsym);
524 if ((gsym->is_defined_in_discarded_section()
525 || gsym->is_undefined())
526 && !gsym->is_weak_undefined())
529 gsym->name());
533 if (!gsym->is_weak_undefined())
536 static_cast<const Sized_symbol<size>*>(gsym);
578 Static_reloc(unsigned int got_offset, unsigned int r_type, Symbol* gsym)
580 { this->u_.global.symbol = gsym; }
2906 do_plt_address_for_global(const Symbol* gsym) const
2907 { return this->plt_section()->address_for_global(gsym); }
3103 Symbol* gsym);
3123 Symbol* gsym);
3710 const Sized_symbol<size>* gsym,
3720 if (gsym != NULL)
3724 if (gsym->use_plt_offset(arp->reference_flags()))
3728 + gsym->plt_offset());
3731 else if (gsym->is_undefined())
3760 The_reloc_stub_key key(stub_type, gsym, aarch64_relobj, r_sym, addend);
3885 const Symbol* gsym;
3886 gsym = object->global_symbol(r_sym);
3887 gold_assert(gsym != NULL);
3888 if (gsym->is_forwarder())
3889 gsym = relinfo->symtab->resolve_forwards(gsym);
3891 sym = static_cast<const Sized_symbol<size>*>(gsym);
3901 symtab->get_sized_symbol<size>(gsym);
3911 if (gsym->type() == elfcpp::STT_TLS)
3913 else if (gsym->type() == elfcpp::STT_GNU_IFUNC)
3918 (gsym->is_defined_in_discarded_section()
3919 && gsym->is_undefined());
4091 add_entry(Symbol_table*, Layout*, Symbol* gsym);
4101 add_relocation(Symbol_table*, Layout*, Symbol* gsym,
4312 Layout* layout, Symbol* gsym)
4314 gold_assert(!gsym->has_plt_offset());
4320 if (gsym->type() == elfcpp::STT_GNU_IFUNC
4321 && gsym->can_use_relative_reloc(false))
4334 gsym->set_plt_offset((*pcount) * this->get_plt_entry_size()
4347 this->add_relocation(symtab, layout, gsym, got_offset);
4388 Symbol_table* symtab, Layout* layout, Symbol* gsym, unsigned int got_offset)
4390 if (gsym->type() == elfcpp::STT_GNU_IFUNC
4391 && gsym->can_use_relative_reloc(false))
4394 rela->add_symbolless_global_addend(gsym, elfcpp::R_AARCH64_IRELATIVE,
4399 gsym->set_needs_dynsym_entry();
4400 this->rel_->add_global(gsym, elfcpp::R_AARCH64_JUMP_SLOT, this->got_plt_,
4471 const Symbol* gsym)
4474 if (gsym->type() == elfcpp::STT_GNU_IFUNC
4475 && gsym->can_use_relative_reloc(false))
4478 return this->address() + offset + gsym->plt_offset();
5372 const Sized_symbol<size>* gsym,
5393 typename The_reloc_stub::Key stub_key(stub_type, gsym, object, r_sym, addend);
5841 Symbol* gsym)
5846 && (gsym->visibility() == elfcpp::STV_INTERNAL
5847 || gsym->visibility() == elfcpp::STV_PROTECTED
5848 || gsym->visibility() == elfcpp::STV_HIDDEN))
6180 Symbol* gsym)
6183 object->name().c_str(), r_type, gsym->demangled_name().c_str());
6197 Symbol* gsym)
6200 if (gsym->type() == elfcpp::STT_GNU_IFUNC
6202 target->make_plt_entry(symtab, layout, gsym);
6217 if (gsym->needs_plt_entry())
6219 target->make_plt_entry(symtab, layout, gsym);
6224 if (gsym->is_from_dynobj() && !parameters->options().shared())
6225 gsym->set_needs_dynsym_value();
6228 if (gsym->needs_dynamic_reloc(arp->reference_flags()))
6231 && gsym->may_need_copy_reloc())
6234 data_shndx, output_section, gsym, rela);
6237 && gsym->type() == elfcpp::STT_GNU_IFUNC
6238 && gsym->can_use_relative_reloc(false)
6239 && !gsym->is_from_dynobj()
6240 && !gsym->is_undefined()
6241 && !gsym->is_preemptible())
6249 rela_dyn->add_symbolless_global_addend(gsym, r_type,
6256 && gsym->can_use_relative_reloc(false))
6259 rela_dyn->add_global_relative(gsym,
6274 gsym, r_type, output_section, object,
6285 if (gsym->needs_plt_entry())
6287 target->make_plt_entry(symtab, layout, gsym);
6302 if (gsym->needs_plt_entry())
6303 target->make_plt_entry(symtab, layout, gsym);
6305 if (gsym->needs_dynamic_reloc(arp->reference_flags()))
6308 && gsym->may_need_copy_reloc())
6311 data_shndx, output_section, gsym, rela);
6325 if (gsym->final_value_is_known())
6328 if (gsym->type() == elfcpp::STT_GNU_IFUNC)
6329 got->add_global_plt(gsym, GOT_TYPE_STANDARD);
6331 got->add_global(gsym, GOT_TYPE_STANDARD);
6348 if (gsym->is_from_dynobj()
6349 || gsym->is_undefined()
6350 || gsym->is_preemptible()
6351 || (gsym->visibility() == elfcpp::STV_PROTECTED
6353 || (gsym->type() == elfcpp::STT_GNU_IFUNC
6355 got->add_global_with_rel(gsym, GOT_TYPE_STANDARD,
6363 if (gsym->type() != elfcpp::STT_GNU_IFUNC)
6364 is_new = got->add_global(gsym, GOT_TYPE_STANDARD);
6367 is_new = got->add_global_plt(gsym, GOT_TYPE_STANDARD);
6370 if (gsym->is_from_dynobj()
6372 gsym->set_needs_dynsym_value();
6377 gsym, elfcpp::R_AARCH64_RELATIVE,
6379 gsym->got_offset(GOT_TYPE_STANDARD),
6393 if (gsym->final_value_is_known())
6396 if (gsym->is_defined() &&
6397 !gsym->is_from_dynobj() &&
6398 !gsym->is_preemptible())
6402 target->make_plt_entry(symtab, layout, gsym);
6410 optimize_tls_reloc(gsym->final_value_is_known(), r_type);
6422 got->add_global_pair_with_rel(gsym, GOT_TYPE_TLS_PAIR,
6454 optimize_tls_reloc(gsym->final_value_is_known(), r_type);
6465 gsym, GOT_TYPE_TLS_OFFSET,
6469 if (!gsym->has_got_offset(GOT_TYPE_TLS_OFFSET))
6471 got->add_global(gsym, GOT_TYPE_TLS_OFFSET);
6473 gsym->got_offset(GOT_TYPE_TLS_OFFSET);
6477 elfcpp::R_AARCH64_TLS_TPREL64, gsym);
6502 optimize_tls_reloc(gsym->final_value_is_known(), r_type);
6516 got->add_global_pair_with_rel(gsym, GOT_TYPE_TLS_DESC, rt,
6524 got->add_global_with_rel(gsym, GOT_TYPE_TLS_OFFSET,
6529 unsupported_reloc_global(object, r_type, gsym);
6586 Symbol* gsym)
6588 if (gsym->has_plt_offset())
6594 this->plt_->add_entry(symtab, layout, gsym);
6699 Target_aarch64<size, big_endian>::do_dynsym_value(const Symbol* gsym) const
6701 gold_assert(gsym->is_from_dynobj() && gsym->has_plt_offset());
6702 return this->plt_address_for_global(gsym);
6815 const Sized_symbol<size>* gsym,
6843 if (gsym != NULL
6844 && gsym->use_plt_offset(reloc_property->reference_flags()))
6846 symval.set_output_value(target->plt_address_for_global(gsym));
6849 else if (gsym == NULL && psymval->is_ifunc_symbol())
6885 if (gsym != NULL)
6887 gold_assert(gsym->has_got_offset(GOT_TYPE_STANDARD));
6888 got_offset = gsym->got_offset(GOT_TYPE_STANDARD) - got_base;
6914 && gsym != NULL
6915 && gsym->needs_dynamic_reloc(reloc_property->reference_flags())
6916 && !gsym->can_use_relative_reloc(false))
6928 && gsym != NULL
6929 && gsym->needs_dynamic_reloc(reloc_property->reference_flags()))
6941 && gsym != NULL
6942 && gsym->needs_dynamic_reloc(reloc_property->reference_flags()))
7009 gsym, psymval, object,
7055 gsym, psymval, view, address);
7114 unsigned int r_type, const Sized_symbol<size>* gsym,
7128 const bool is_final = (gsym == NULL
7130 : gsym->final_value_is_known());
7146 || issue_undefined_symbol_error(gsym));
7157 if (gsym != NULL)
7159 gold_assert(gsym->has_got_offset(tls_got_offset_type));
7161 gsym->got_offset(tls_got_offset_type);
7204 || issue_undefined_symbol_error(gsym));
7247 || issue_undefined_symbol_error(gsym));
7280 || issue_undefined_symbol_error(gsym));
7290 if (gsym != NULL)
7292 gold_assert(gsym->has_got_offset(tls_got_offset_type));
7294 gsym
7371 || issue_undefined_symbol_error(gsym));
7393 if (gsym != NULL)
7395 gold_assert(gsym->has_got_offset(tls_got_offset_type));
7398 + gsym->got_offset(tls_got_offset_type);
7414 || issue_undefined_symbol_error(gsym));