Lines Matching refs:gsym
105 add_entry(Symbol_table*, Layout*, Symbol* gsym);
338 do_plt_address_for_global(const Symbol* gsym) const
339 { return this->plt_section()->address_for_global(gsym); }
411 reserve_global_got_entry(unsigned int got_index, Symbol* gsym,
417 Symbol* gsym);
429 const Symbol* gsym,
461 Symbol* gsym);
481 Symbol* gsym);
1997 Layout* layout, Symbol* gsym)
1999 gold_assert(!gsym->has_plt_offset());
2008 if (gsym->type() == elfcpp::STT_GNU_IFUNC
2009 && gsym->can_use_relative_reloc(false))
2084 gsym->set_plt_offset(plt_offset);
2087 this->add_relocation(symtab, layout, gsym, got_offset);
2130 Symbol* gsym,
2133 if (gsym->type() == elfcpp::STT_GNU_IFUNC
2134 && gsym->can_use_relative_reloc(false))
2137 rela->add_symbolless_global_addend(gsym, elfcpp::R_TILEGX_IRELATIVE,
2142 gsym->set_needs_dynsym_entry();
2143 this->rel_->add_global(gsym, elfcpp::R_TILEGX_JMP_SLOT, this->got_plt_,
2193 const Symbol* gsym)
2196 if (gsym->type() == elfcpp::STT_GNU_IFUNC
2197 && gsym->can_use_relative_reloc(false))
2199 return this->address() + offset + gsym->plt_offset();
2545 Layout* layout, Symbol* gsym)
2547 if (gsym->has_plt_offset())
2553 this->plt_->add_entry(symtab, layout, gsym);
2737 unsigned int got_index, Symbol* gsym, unsigned int got_type)
2743 this->got_->reserve_global(got_index, gsym, got_type);
2747 if (!gsym->final_value_is_known())
2749 if (gsym->is_from_dynobj()
2750 || gsym->is_undefined()
2751 || gsym->is_preemptible()
2752 || gsym->type() == elfcpp::STT_GNU_IFUNC)
2753 rela_dyn->add_global(gsym, elfcpp::R_TILEGX_GLOB_DAT,
2756 rela_dyn->add_global_relative(gsym, elfcpp::R_TILEGX_RELATIVE,
2761 rela_dyn->add_global_relative(gsym,
2768 rela_dyn->add_global_relative(gsym,
2772 rela_dyn->add_global_relative(gsym,
2791 Symbol_table* symtab, Layout* layout, unsigned int plt_index, Symbol* gsym)
2794 gold_assert(!gsym->has_plt_offset());
2798 gsym->set_plt_offset((plt_index + 1) * this->plt_entry_size());
2801 this->plt_->add_relocation(symtab, layout, gsym, got_offset);
3589 Symbol* gsym)
3592 object->name().c_str(), r_type, gsym->demangled_name().c_str());
3679 Symbol* gsym)
3682 if (strcmp(gsym->name(), "_GLOBAL_OFFSET_TABLE_") == 0)
3688 && (gsym->visibility() == elfcpp::STV_INTERNAL
3689 || gsym->visibility() == elfcpp::STV_PROTECTED
3690 || gsym->visibility() == elfcpp::STV_HIDDEN))
3706 Symbol* gsym)
3712 && strcmp(gsym->name(), "_GLOBAL_OFFSET_TABLE_") == 0)
3716 if (gsym->type() == elfcpp::STT_GNU_IFUNC
3718 target->make_plt_entry(symtab, layout, gsym);
3748 if (gsym->needs_plt_entry())
3750 target->make_plt_entry(symtab, layout, gsym);
3755 if (gsym->is_from_dynobj() && !parameters->options().shared())
3756 gsym->set_needs_dynsym_value();
3759 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type)))
3762 && gsym->may_need_copy_reloc())
3765 data_shndx, output_section, gsym, reloc);
3769 && gsym->type() == elfcpp::STT_GNU_IFUNC
3770 && gsym->can_use_relative_reloc(false)
3771 && !gsym->is_from_dynobj()
3772 && !gsym->is_undefined()
3773 && !gsym->is_preemptible())
3782 gsym, r_type,
3789 && gsym->can_use_relative_reloc(false))
3792 rela_dyn->add_global_relative(gsym, elfcpp::R_TILEGX_RELATIVE,
3802 rela_dyn->add_global(gsym, r_type, output_section, object,
3831 if (gsym->needs_plt_entry())
3832 target->make_plt_entry(symtab, layout, gsym);
3834 if (gsym->needs_dynamic_reloc(Scan::get_reference_flags(r_type)))
3837 && gsym->may_need_copy_reloc())
3840 data_shndx, output_section, gsym, reloc);
3846 rela_dyn->add_global(gsym, r_type, output_section, object,
3864 if (gsym->final_value_is_known())
3867 if (gsym->type() == elfcpp::STT_GNU_IFUNC)
3868 got->add_global_plt(gsym, GOT_TYPE_STANDARD);
3870 got->add_global(gsym, GOT_TYPE_STANDARD);
3890 if (gsym->is_from_dynobj()
3891 || gsym->is_undefined()
3892 || gsym->is_preemptible()
3893 || (gsym->visibility() == elfcpp::STV_PROTECTED
3895 || (gsym->type() == elfcpp::STT_GNU_IFUNC
3897 got->add_global_with_rel(gsym, GOT_TYPE_STANDARD, rela_dyn,
3905 if (gsym->type() != elfcpp::STT_GNU_IFUNC)
3906 is_new = got->add_global(gsym, GOT_TYPE_STANDARD);
3909 is_new = got->add_global_plt(gsym, GOT_TYPE_STANDARD);
3912 if (gsym->is_from_dynobj()
3914 gsym->set_needs_dynsym_value();
3918 unsigned int got_off = gsym->got_offset(GOT_TYPE_STANDARD);
3919 rela_dyn->add_global_relative(gsym,
3950 if (gsym->final_value_is_known())
3955 if (gsym->is_defined()
3956 && !gsym->is_from_dynobj()
3957 && !gsym->is_preemptible())
3959 target->make_plt_entry(symtab, layout, gsym);
3992 const bool is_final = gsym->final_value_is_known();
4043 got->add_global_pair_with_rel(gsym, GOT_TYPE_TLS_PAIR,
4055 got->add_global_with_rel(gsym, GOT_TYPE_TLS_OFFSET,
4062 unsupported_reloc_global(object, r_type, gsym);
4079 got->add_global_with_rel(gsym, GOT_TYPE_TLS_OFFSET,
4085 unsupported_reloc_global(object, r_type, gsym);
4100 rela_dyn->add_symbolless_global_addend(gsym, r_type,
4132 gsym->demangled_name().c_str());
4328 const Sized_symbol<size>* gsym,
4344 if (gsym != NULL
4345 && gsym->use_plt_offset(Scan::get_reference_flags(r_type)))
4347 symval.set_output_value(target->plt_address_for_global(gsym));
4350 else if (gsym == NULL && psymval->is_ifunc_symbol())
4379 if (gsym != NULL)
4381 gold_assert(gsym->has_got_offset(got_type));
4382 got_offset = gsym->got_offset(got_type) - got_base;
4440 gold_assert(gsym == NULL
4441 || gsym->has_plt_offset()
4442 || gsym->final_value_is_known()
4443 || (gsym->is_defined()
4444 && !gsym->is_from_dynobj()
4445 && !gsym->is_preemptible()));
4553 const bool is_final = (gsym == NULL
4555 : gsym->final_value_is_known());
4609 if (gsym != NULL) {
4610 gold_assert(gsym->has_got_offset(got_type));
4611 got_offset = gsym->got_offset(got_type) - got_base;
4663 || issue_undefined_symbol_error(gsym));
4767 const Symbol* gsym,
4779 gsym,
4877 Target_tilegx<size, big_endian>::do_dynsym_value(const Symbol* gsym) const
4879 gold_assert(gsym->is_from_dynobj() && gsym->has_plt_offset());
4880 return this->plt_address_for_global(gsym);