aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog4
-rw-r--r--gold/plugin.cc6
-rw-r--r--include/ChangeLog4
-rw-r--r--include/plugin-api.h3
4 files changed, 15 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 8e8493f..2b4e94b 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,9 @@
2010-06-01 Rafael Espindola <espindola@google.com>
+ * plugin.cc (Plugin::load): Pass the output name to the plugin.
+
+2010-06-01 Rafael Espindola <espindola@google.com>
+
* plugin.cc (Sized_pluginobj::::do_add_symbols): Correctly set the
visibility of symbols.
diff --git a/gold/plugin.cc b/gold/plugin.cc
index a7bdbb5..798b601 100644
--- a/gold/plugin.cc
+++ b/gold/plugin.cc
@@ -127,7 +127,7 @@ Plugin::load()
sscanf(ver, "%d.%d", &major, &minor);
// Allocate and populate a transfer vector.
- const int tv_fixed_size = 14;
+ const int tv_fixed_size = 15;
int tv_size = this->args_.size() + tv_fixed_size;
ld_plugin_tv *tv = new ld_plugin_tv[tv_size];
@@ -154,6 +154,10 @@ Plugin::load()
else
tv[i].tv_u.tv_val = LDPO_EXEC;
+ ++i;
+ tv[i].tv_tag = LDPT_OUTPUT_NAME;
+ tv[i].tv_u.tv_string = parameters->options().output();
+
for (unsigned int j = 0; j < this->args_.size(); ++j)
{
++i;
diff --git a/include/ChangeLog b/include/ChangeLog
index 95a7f00..f6d896f 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2010-06-01 Rafael Espindola <espindola@google.com>
+
+ * plugin-api.h (ld_plugin_tag): Add LDPT_OUTPUT_NAME.
+
2010-04-26 Pedro Alves <pedro@codesourcery.com>
* filenames.h (PATH_SEPARATOR): Delete.
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 572621f..5821785 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -260,7 +260,8 @@ enum ld_plugin_tag
LDPT_MESSAGE,
LDPT_GET_INPUT_FILE,
LDPT_RELEASE_INPUT_FILE,
- LDPT_ADD_INPUT_LIBRARY
+ LDPT_ADD_INPUT_LIBRARY,
+ LDPT_OUTPUT_NAME
};
/* The plugin transfer vector. */