This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix a race condition when setting default target for ARM targets.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=48c734280a17a1910ac484bd91a36792fb0041e1

commit 48c734280a17a1910ac484bd91a36792fb0041e1
Author: Cary Coutant <ccoutant@google.com>
Date:   Wed Mar 4 15:17:09 2015 -0800

    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.

Diff:
---
 gold/ChangeLog     | 12 +++++++++---
 gold/parameters.cc |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 1f54323..fe6a56b 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 dbda690..8eab000 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]