* 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>
+
+ 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>
* object.cc (Sized_relobj_file::include_section_group): Add
}
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->binding_ = from->binding_;
this->override_visibility(from->visibility_);