diff options
-rw-r--r-- | gold/ChangeLog | 4 | ||||
-rw-r--r-- | gold/plugin.cc | 6 | ||||
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/plugin-api.h | 3 |
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. */ |