Fix a race condition when setting default target for ARM targets.
authorCary Coutant <ccoutant@google.com>
Wed, 4 Mar 2015 23:17:09 +0000 (15:17 -0800)
committerCary Coutant <ccoutant@google.com>
Wed, 4 Mar 2015 23:17:23 +0000 (15:17 -0800)
gold/
* parameters.cc (Parameters::set_target_once): Call
Target::select_as_default_target just once from here...
(set_parameters_target): ...instead of from here.

gold/ChangeLog
gold/parameters.cc

index 1f5432371825fe8278ef70452cf27faed8a15086..fe6a56bade50e3a2e85aeda5b45dfda6661f39dd 100644 (file)
@@ -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.
        (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.
index dbda690d16c2a59f6da319e20fb71af9be48279c..8eab000cf52ed8160fcaeafd9fe457235e18b11f 100644 (file)
@@ -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