Lines Matching refs:gsym
616 // for global tls symbol GSYM.
618 do_tls_offset_for_global(Symbol* gsym, unsigned int got_indx) const;
900 maybe_skip_tls_get_addr_call(unsigned int r_type, const Symbol* gsym)
904 && gsym != NULL
905 && strcmp(gsym->name(), "__tls_get_addr") == 0);
965 Symbol* gsym);
1040 const Sized_symbol<size>* gsym,
2150 add_global(Symbol* gsym, unsigned int got_type)
2153 return Output_data_got<size, big_endian>::add_global(gsym, got_type);
2157 add_global_plt(Symbol* gsym, unsigned int got_type)
2160 return Output_data_got<size, big_endian>::add_global_plt(gsym, got_type);
2164 add_global_tls(Symbol* gsym, unsigned int got_type)
2165 { return this->add_global_plt(gsym, got_type); }
2168 add_global_with_rel(Symbol* gsym, unsigned int got_type,
2173 add_global_with_rel(gsym, got_type, rel_dyn, r_type);
2177 add_global_pair_with_rel(Symbol* gsym, unsigned int got_type,
2183 add_global_pair_with_rel(gsym, got_type, rel_dyn, r_type_1, r_type_2);
2620 const Sized_symbol<size>* gsym = static_cast<const Sized_symbol<size>*>(sym);
2624 if (gsym != NULL
2625 ? gsym->use_plt_offset(Scan::get_reference_flags(this->r_type_, target))
2629 && gsym != NULL
2633 target->glink_section()->add_global_entry(gsym);
2648 if (gsym != NULL)
2650 this->object_, gsym,
2668 if (gsym != NULL)
2670 switch (gsym->source())
2674 Object* symobj = gsym->object();
2679 unsigned int shndx = gsym->shndx(&is_ordinary);
2692 to = symtab->compute_final_value<size>(gsym, &status);
2696 to += this->object_->ppc64_local_entry_offset(gsym);
2721 if (!target->symval_for_branch(symtab, gsym, this->object_,
3110 Output_data_plt_powerpc<size, big_endian>::add_entry(Symbol* gsym)
3112 if (!gsym->has_plt_offset())
3117 gsym->set_plt_offset(off);
3118 gsym->set_needs_dynsym_entry();
3120 this->rel_->add_global(gsym, dynrel, this, off, 0);
3130 Output_data_plt_powerpc<size, big_endian>::add_ifunc_entry(Symbol* gsym)
3132 if (!gsym->has_plt_offset())
3135 gsym->set_plt_offset(off);
3139 this->rel_->add_symbolless_global_addend(gsym, dynrel, this, off, 0);
3771 const Symbol* gsym = p->first.sym_;
3772 if (gsym != NULL)
3774 *is_iplt = (gsym->type() == elfcpp::STT_GNU_IFUNC
3775 && gsym->can_use_relative_reloc(false));
3776 return gsym->plt_offset();
3960 const Symbol* gsym,
3964 Plt_stub_ent ent(object, gsym, r_type, addend);
3997 const Symbol* gsym,
4001 Plt_stub_ent ent(object, gsym, r_type, addend);
4008 Stub_table<size, big_endian>::find_plt_call_entry(const Symbol* gsym) const
4010 Plt_stub_ent ent(gsym);
4175 Output_data_glink<size, big_endian>::add_global_entry(const Symbol* gsym)
4178 = this->global_entry_stubs_.insert(std::make_pair(gsym, this->ge_size_));
4185 Output_data_glink<size, big_endian>::find_global_entry(const Symbol* gsym) const
4188 = this->global_entry_stubs_.find(gsym);
5039 Symbol* gsym = symtab->lookup(sym);
5040 bool refd = gsym != NULL && gsym->is_undefined();
5101 Symbol* gsym)
5103 if (gsym->type() == elfcpp::STT_GNU_IFUNC
5104 && gsym->can_use_relative_reloc(false))
5108 this->iplt_->add_ifunc_entry(gsym);
5114 this->plt_->add_entry(gsym);
5824 Symbol* gsym)
5827 object->name().c_str(), r_type, gsym->demangled_name().c_str());
5843 Symbol* gsym)
5845 if (this->maybe_skip_tls_get_addr_call(r_type, gsym) == Track_tls::SKIP)
5852 const bool final = gsym->final_value_is_known();
5870 bool is_ifunc = gsym->type() == elfcpp::STT_GNU_IFUNC;
5877 target->make_plt_entry(symtab, layout, gsym);
5906 <Powerpc_relobj<size, big_endian>*>(gsym->object());
5920 && (gsym->is_defined_in_discarded_section()
5921 || gsym->object() != object))
5949 if (gsym->needs_plt_entry())
5957 && gsym->is_from_dynobj()
5960 gsym->set_needs_dynsym_value();
5969 target->make_plt_entry(symtab, layout, gsym);
5973 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type, target))
5977 && gsym->may_need_copy_reloc())
5980 data_shndx, output_section, gsym, reloc);
5987 && gsym->can_use_relative_reloc(false)
5988 && !(gsym->visibility() == elfcpp::STV_PROTECTED
5993 && (gsym->can_use_relative_reloc(false)
6001 gsym, dynrel, output_section, object, data_shndx,
6009 rela_dyn->add_global(gsym, r_type, output_section,
6026 if (gsym->needs_plt_entry()
6027 || (!gsym->final_value_is_known()
6028 && (gsym->is_undefined()
6029 || gsym->is_from_dynobj()
6030 || gsym->is_preemptible())))
6031 target->make_plt_entry(symtab, layout, gsym);
6038 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type, target)))
6041 && gsym
6044 data_shndx, output_section, gsym,
6052 rela_dyn->add_global(gsym, r_type, output_section, object,
6118 if (gsym->final_value_is_known())
6122 got->add_global_plt(gsym, GOT_TYPE_STANDARD);
6124 got->add_global(gsym, GOT_TYPE_STANDARD);
6126 else if (!gsym->has_got_offset(GOT_TYPE_STANDARD))
6131 gsym->set_got_offset(GOT_TYPE_STANDARD, off);
6136 if (gsym->can_use_relative_reloc(false)
6139 && gsym->visibility() == elfcpp::STV_PROTECTED
6144 rela_dyn->add_global_relative(gsym, dynrel, got, off, 0, false);
6149 rela_dyn->add_global(gsym, dynrel, got, off, 0);
6170 const bool final = gsym->final_value_is_known();
6177 got->add_global_pair_with_rel(gsym, GOT_TYPE_TLSGD, rela_dyn,
6183 if (!gsym->has_got_offset(GOT_TYPE_TPREL))
6188 if (gsym->is_undefined()
6189 || gsym->is_from_dynobj())
6191 got->add_global_with_rel(gsym, GOT_TYPE_TPREL, rela_dyn,
6197 gsym->set_got_offset(GOT_TYPE_TPREL, off);
6199 rela_dyn->add_symbolless_global_addend(gsym, dynrel,
6243 if (!gsym->final_value_is_known()
6244 && (gsym->is_from_dynobj()
6245 || gsym->is_undefined()
6246 || gsym->is_preemptible()))
6247 got->add_global_with_rel(gsym, GOT_TYPE_DTPREL,
6251 got->add_global_tls(gsym, GOT_TYPE_DTPREL);
6260 const bool final = gsym->final_value_is_known();
6264 if (!gsym->has_got_offset(GOT_TYPE_TPREL))
6269 if (gsym->is_undefined()
6270 || gsym->is_from_dynobj())
6272 got->add_global_with_rel(gsym, GOT_TYPE_TPREL, rela_dyn,
6278 gsym->set_got_offset(GOT_TYPE_TPREL, off);
6280 rela_dyn->add_symbolless_global_addend(gsym, dynrel,
6295 unsupported_reloc_global(object, r_type, gsym);
6432 Sized_symbol<size>* gsym = symtab->get_sized_symbol<size>(sym);
6433 Address dst_off = gsym->value();
6738 const Sized_symbol<size>* gsym,
6750 if (gsym != NULL
6751 && gsym->source() != Symbol::FROM_OBJECT)
6753 if (gsym != NULL)
6754 symobj = static_cast<Powerpc_relobj<size, big_endian>*>(gsym->object());
6794 const Sized_symbol<size>* gsym,
6803 switch (this->maybe_skip_tls_get_addr_call(r_type, gsym))
6825 if ((gsym != NULL
6826 ? gsym->use_plt_offset(Scan::get_reference_flags(r_type, target))
6832 && gsym != NULL
6837 Address off = target->glink_section()->find_global_entry(gsym);
6857 if (gsym != NULL)
6858 off = stub_table->find_plt_call_entry(object, gsym, r_type,
6883 if (gsym != NULL)
6885 gold_assert(gsym->has_got_offset(GOT_TYPE_STANDARD));
6886 value = gsym->got_offset(GOT_TYPE_STANDARD);
6901 else if (gsym != NULL
6930 if (strcmp(gsym->name(), "__libc_start_main") == 0)
6944 if (gsym->source() == Symbol::FROM_OBJECT
6945 && gsym->object() == object)
6952 target->symval_for_branch(relinfo->symtab, gsym, object,
6957 dest_shndx = gsym->shndx(&is_ordinary);
6976 const bool final = gsym == NULL || gsym->final_value_is_known();
6985 if (gsym != NULL)
6987 gold_assert(gsym->has_got_offset(got_type));
6988 value = gsym->got_offset(got_type);
7085 if (gsym != NULL)
7087 gold_assert(gsym->has_got_offset(GOT_TYPE_DTPREL));
7088 value = gsym->got_offset(GOT_TYPE_DTPREL);
7104 const bool final = gsym == NULL || gsym->final_value_is_known();
7108 if (gsym != NULL)
7110 gold_assert(gsym->has_got_offset(GOT_TYPE_TPREL));
7111 value = gsym->got_offset(GOT_TYPE_TPREL);
7153 const bool final = gsym == NULL || gsym->final_value_is_known();
7199 const bool final = gsym == NULL || gsym->final_value_is_known();
7224 if (gsym != NULL)
7225 value += object->ppc64_local_entry_offset(gsym);
7232 target->symval_for_branch(relinfo->symtab, gsym, object,
7335 if (gsym != NULL)
7336 value += object->ppc64_local_entry_offset(gsym);
7804 || !(gsym != NULL
7805 && gsym->is_weak_undefined()
7981 const Symbol* gsym = NULL;
8030 gsym = object->global_symbol(r_sym);
8031 gold_assert(gsym != NULL);
8032 if (gsym->is_forwarder())
8033 gsym = relinfo->symtab->resolve_forwards(gsym);
8035 gold_assert(gsym->has_symtab_index());
8036 r_sym = gsym->symtab_index();
8089 const bool final = gsym == NULL || gsym->final_value_is_known();
8143 const bool final = gsym == NULL || gsym->final_value_is_known();
8161 const bool final = gsym == NULL || gsym->final_value_is_known();
8198 const bool final = gsym == NULL || gsym->final_value_is_known();
8225 Target_powerpc<size, big_endian>::do_dynsym_value(const Symbol* gsym) const
8229 gold_assert(gsym->is_from_dynobj() && gsym->has_plt_offset());
8234 Address off = (*p)->find_plt_call_entry(gsym);
8241 Address off = this->glink_section()->find_global_entry(gsym);
8276 const Symbol* gsym) const
8284 Address off = (*p)->find_plt_call_entry(gsym);
8291 Address off = this->glink_section()->find_global_entry(gsym);
8332 // for global tls symbol GSYM.
8336 Symbol* gsym,
8339 if (gsym->type() == elfcpp::STT_TLS)
8344 if (gsym->has_got_offset(got_type))
8346 unsigned int off = gsym->got_offset(got_type);