This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Fix a race condition when setting default target for ARM targets.
- From: Cary Coutant <ccoutant at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 4 Mar 2015 23:18:33 -0000
- Subject: [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