summaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2015-03-04 15:17:09 -0800
committerCary Coutant <ccoutant@google.com>2015-03-04 15:17:23 -0800
commit48c734280a17a1910ac484bd91a36792fb0041e1 (patch)
tree6be91d7f7d46b618eaf4807594a16e8751effae2 /gold
parentdbe40a889191708b6e32441b1c64937844645574 (diff)
downloadbinutils-gdb-48c734280a17a1910ac484bd91a36792fb0041e1.tar.gz
Fix a race condition when setting default target for ARM targets.
gold/ * parameters.cc (Parameters::set_target_once): Call Target::select_as_default_target just once from here... (set_parameters_target): ...instead of from here.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog12
-rw-r--r--gold/parameters.cc2
2 files changed, 10 insertions, 4 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 1f543237182..fe6a56bade5 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,4 +1,10 @@
-2015-03-02 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+2015-03-04 Cary Coutant <ccoutant@google.com>
+
+ * parameters.cc (Parameters::set_target_once): Call
+ Target::select_as_default_target just once from here...
+ (set_parameters_target): ...instead of from here.
+
+2015-03-04 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* ehframe.cc (Cie::set_output_offset): Pass in and use a
Output_section_data instead of a Merge_map.
@@ -65,13 +71,13 @@
(Merged_symbol_value<size>::value_from_output_section): Use
object->merge_output_offset.
-2015-02-04 Peter Collingbourne <pcc@google.com>
+2015-03-02 Peter Collingbourne <pcc@google.com>
Cary Coutant <ccoutant@google.com>
* output.cc (Output_section::add_merge_input_section): Do not
attempt to merge sections with an entsize of 0.
-2015-02-02 Khem Raj <raj.khem@gmail.com>
+2015-03-02 Khem Raj <raj.khem@gmail.com>
* attributes.h (class Output_attributes_section_data ): Add
do_print_to_mapfile function.
diff --git a/gold/parameters.cc b/gold/parameters.cc
index dbda690d16c..8eab000cf52 100644
--- a/gold/parameters.cc
+++ b/gold/parameters.cc
@@ -125,6 +125,7 @@ Parameters::set_target_once(Target* target)
{
gold_assert(this->target_ == NULL);
this->target_ = target;
+ target->select_as_default_target();
if (this->options_valid())
{
this->check_target_endianness();
@@ -297,7 +298,6 @@ void
set_parameters_target(Target* target)
{
static_parameters.set_target(target);
- target->select_as_default_target();
}
void