aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-07-24 07:26:27 +0000
committerIan Lance Taylor <ian@airs.com>2008-07-24 07:26:27 +0000
commitaa86f06bb6dbe70fb2b8b65ff54e9304c7b5eed7 (patch)
tree949e9dbbf4007b7c529258b0935d85018492de87
parent81fd73edd15ab295e7340aae0c58ace517159d35 (diff)
downloadgdb-aa86f06bb6dbe70fb2b8b65ff54e9304c7b5eed7.zip
gdb-aa86f06bb6dbe70fb2b8b65ff54e9304c7b5eed7.tar.gz
gdb-aa86f06bb6dbe70fb2b8b65ff54e9304c7b5eed7.tar.bz2
* dynobj.cc (Versions::Versions): If there is an soname, use it as
the base version name.
-rw-r--r--gold/ChangeLog3
-rw-r--r--gold/dynobj.cc6
2 files changed, 7 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 3d5d94a..8f4d3f9 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,8 @@
2008-07-24 Ian Lance Taylor <iant@google.com>
+ * dynobj.cc (Versions::Versions): If there is an soname, use it as
+ the base version name.
+
* stringpool.cc (Stringpool_template::add_with_length): Set key to
array size plus one.
(Stringpool_template::set_string_offsets): Subtract one from key
diff --git a/gold/dynobj.cc b/gold/dynobj.cc
index 9247a79..349d472 100644
--- a/gold/dynobj.cc
+++ b/gold/dynobj.cc
@@ -1313,8 +1313,10 @@ Versions::Versions(const Version_script_info& version_script,
// to me.
if (parameters->options().shared())
{
- const char* name = dynpool->add(parameters->options().output_file_name(),
- false, NULL);
+ const char* name = parameters->options().soname();
+ if (name == NULL)
+ name = parameters->options().output_file_name();
+ name = dynpool->add(name, false, NULL);
Verdef* vdbase = new Verdef(name, std::vector<std::string>(),
true, false, true);
this->defs_.push_back(vdbase);