diff options
Diffstat (limited to 'gold/sparc.cc')
-rw-r--r-- | gold/sparc.cc | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/gold/sparc.cc b/gold/sparc.cc index 34288de..16a6ffc 100644 --- a/gold/sparc.cc +++ b/gold/sparc.cc @@ -305,17 +305,6 @@ class Target_sparc : public Sized_target<size, big_endian> Reloc_section* rela_dyn_section(Layout*); - // Return true if the symbol may need a COPY relocation. - // References from an executable object to non-function symbols - // defined in a dynamic object may need a COPY relocation. - bool - may_need_copy_reloc(Symbol* gsym) - { - return (!parameters->options().shared() - && gsym->is_from_dynobj() - && gsym->type() != elfcpp::STT_FUNC); - } - // Copy a relocation against a global symbol. void copy_reloc(Symbol_table* symtab, Layout* layout, @@ -1984,7 +1973,7 @@ Target_sparc<size, big_endian>::Scan::global( flags |= Symbol::FUNCTION_CALL; if (gsym->needs_dynamic_reloc(flags)) { - if (target->may_need_copy_reloc(gsym)) + if (gsym->may_need_copy_reloc()) { target->copy_reloc(symtab, layout, object, data_shndx, output_section, gsym, @@ -2040,7 +2029,7 @@ Target_sparc<size, big_endian>::Scan::global( // Make a dynamic relocation if necessary. if (gsym->needs_dynamic_reloc(Symbol::ABSOLUTE_REF)) { - if (target->may_need_copy_reloc(gsym)) + if (gsym->may_need_copy_reloc()) { target->copy_reloc(symtab, layout, object, data_shndx, output_section, gsym, reloc); |