- // Return the PLT section to use for a global symbol. This is used
- // for STT_GNU_IFUNC symbols.
- Output_data*
- plt_section_for_global(const Symbol* sym) const
- { return this->do_plt_section_for_global(sym); }
+ // Return the PLT address to use for a global symbol.
+ uint64_t
+ plt_address_for_global(const Symbol* sym) const
+ { return this->do_plt_address_for_global(sym); }
+
+ // Return the PLT address to use for a local symbol.
+ uint64_t
+ plt_address_for_local(const Relobj* object, unsigned int symndx) const
+ { return this->do_plt_address_for_local(object, symndx); }
+
+ // Return the offset to use for the GOT_INDX'th got entry which is
+ // for a local tls symbol specified by OBJECT, SYMNDX.
+ int64_t
+ tls_offset_for_local(const Relobj* object,
+ unsigned int symndx,
+ unsigned int got_indx) const
+ { return do_tls_offset_for_local(object, symndx, got_indx); }
+
+ // Return the offset to use for the GOT_INDX'th got entry which is
+ // for global tls symbol GSYM.
+ int64_t
+ tls_offset_for_global(Symbol* gsym, unsigned int got_indx) const
+ { return do_tls_offset_for_global(gsym, got_indx); }
+
+ // Return whether this target can use relocation types to determine
+ // if a function's address is taken.
+ bool
+ can_check_for_function_pointers() const
+ { return this->do_can_check_for_function_pointers(); }
+
+ // Return whether a relocation to a merged section can be processed
+ // to retrieve the contents.
+ bool
+ can_icf_inline_merge_sections () const
+ { return this->pti_->can_icf_inline_merge_sections; }