From: Ian Lance Taylor Date: Wed, 14 Nov 2007 08:03:41 +0000 (+0000) Subject: Revert last patch. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=601e4987b8dd2639159d387a00b4504744c4abfd;p=binutils-gdb.git Revert last patch. --- diff --git a/gold/i386.cc b/gold/i386.cc index 9b90c792b5b..eae6b7fa339 100644 --- a/gold/i386.cc +++ b/gold/i386.cc @@ -84,11 +84,6 @@ class Target_i386 : public Sized_target<32, false> uint64_t do_dynsym_value(const Symbol*) const; - // Return whether SYM is always defined. - bool - do_is_always_defined(Symbol* sym) const - { return strcmp(sym->name(), "___tls_get_addr") == 0; } - // Relocate a section. void relocate_section(const Relocate_info<32, false>*, diff --git a/gold/symtab.cc b/gold/symtab.cc index 24430237d62..f5e21322b78 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1610,8 +1610,7 @@ Symbol_table::sized_write_globals(const Target* target, && sym->object()->is_dynamic() && sym->shndx() == elfcpp::SHN_UNDEF && sym->binding() != elfcpp::STB_WEAK - && !parameters->allow_shlib_undefined() - && !target->is_always_defined(sym)) + && !parameters->allow_shlib_undefined()) { // A very ugly cast. Dynobj* dynobj = static_cast(sym->object()); diff --git a/gold/target.h b/gold/target.h index 33c351cb4c5..8ecc078330d 100644 --- a/gold/target.h +++ b/gold/target.h @@ -137,13 +137,6 @@ class Target code_fill(off_t length) { return this->do_code_fill(length); } - // Return whether SYM is a special symbol which is known to be - // defined. This is used to avoid inappropriate warnings about - // undefined symbols. - bool - is_always_defined(Symbol* sym) const - { return this->do_is_always_defined(sym); } - protected: // This struct holds the constant information for a child class. We // use a struct to avoid the overhead of virtual function calls for @@ -195,12 +188,6 @@ class Target do_code_fill(off_t) { gold_unreachable(); } - // Virtual function which may be implemented by the child class if - // needed. - virtual bool - do_is_always_defined(Symbol*) const - { return false; } - private: Target(const Target&); Target& operator=(const Target&); diff --git a/gold/x86_64.cc b/gold/x86_64.cc index ead93d94226..0614e89c606 100644 --- a/gold/x86_64.cc +++ b/gold/x86_64.cc @@ -97,11 +97,6 @@ class Target_x86_64 : public Sized_target<64, false> uint64_t do_dynsym_value(const Symbol*) const; - // Return whether SYM is always defined. - bool - do_is_always_defined(Symbol* sym) const - { return strcmp(sym->name(), "__tls_get_addr") == 0; } - // Relocate a section. void relocate_section(const Relocate_info<64, false>*,