2010-06-01 Rafael Espindola <espindola@google.com>
authorRafael Ávila de Espíndola <respindola@mozilla.com>
Tue, 1 Jun 2010 19:32:27 +0000 (19:32 +0000)
committerRafael Ávila de Espíndola <respindola@mozilla.com>
Tue, 1 Jun 2010 19:32:27 +0000 (19:32 +0000)
* plugin-api.h (ld_plugin_tag): Add LDPT_OUTPUT_NAME.

2010-06-01  Rafael Espindola  <espindola@google.com>

* plugin.cc (Plugin::load): Pass the output name to the plugin.

gold/ChangeLog
gold/plugin.cc
include/ChangeLog
include/plugin-api.h

index 8e8493f..2b4e94b 100644 (file)
@@ -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.
 
index a7bdbb5..798b601 100644 (file)
@@ -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;
index 95a7f00..f6d896f 100644 (file)
@@ -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.
index 572621f..5821785 100644 (file)
@@ -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.  */