PR gold/12952
* resolve.cc (Symbol::override_base_with_special): Simply override version with special symbol version, ignoring previous version.
This commit is contained in:
parent
21083d0f0c
commit
24d47b3460
|
@ -1,3 +1,9 @@
|
||||||
|
2011-07-05 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
|
PR gold/12952
|
||||||
|
* resolve.cc (Symbol::override_base_with_special): Simply override
|
||||||
|
version with special symbol version, ignoring previous version.
|
||||||
|
|
||||||
2011-07-05 Ian Lance Taylor <iant@google.com>
|
2011-07-05 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
* object.cc (Sized_relobj_file::include_section_group): Add
|
* object.cc (Sized_relobj_file::include_section_group): Add
|
||||||
|
|
|
@ -911,7 +911,15 @@ Symbol::override_base_with_special(const Symbol* from)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (same_name)
|
if (same_name)
|
||||||
this->override_version(from->version_);
|
{
|
||||||
|
// When overriding a versioned symbol with a special symbol, we
|
||||||
|
// may be changing the version. This will happen if we see a
|
||||||
|
// special symbol such as "_end" defined in a shared object with
|
||||||
|
// one version (from a version script), but we want to define it
|
||||||
|
// here with a different version (from a different version
|
||||||
|
// script).
|
||||||
|
this->version_ = from->version_;
|
||||||
|
}
|
||||||
this->type_ = from->type_;
|
this->type_ = from->type_;
|
||||||
this->binding_ = from->binding_;
|
this->binding_ = from->binding_;
|
||||||
this->override_visibility(from->visibility_);
|
this->override_visibility(from->visibility_);
|
||||||
|
|
Loading…
Reference in New Issue