summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2013-10-11 21:02:42 +0000
committerRoland McGrath <roland@gnu.org>2013-10-11 21:02:42 +0000
commita78e87083f5374ec58a2601472ede61bb8a7c968 (patch)
treed7a01146d08553ed3c13531c64f6a0fb79a1d733
parente3db3cf75948e491fd7c03415b5612a1e2fa88cd (diff)
downloadbinutils-redhat-a78e87083f5374ec58a2601472ede61bb8a7c968.tar.gz
gold/
* gold-threads.h (Once): Conditionalize member was_run_lock_ on [ENABLE_THREADS && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4], matching its only use. * gold-threads.cc (Once::Once): Likewise conditionalize initializer.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/gold-threads.cc7
-rw-r--r--gold/gold-threads.h4
3 files changed, 13 insertions, 3 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 9949b9847c..ecb2bd56e6 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2013-10-11 Roland McGrath <mcgrathr@google.com>
+ * gold-threads.h (Once): Conditionalize member was_run_lock_ on
+ [ENABLE_THREADS && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4], matching
+ its only use.
+ * gold-threads.cc (Once::Once): Likewise conditionalize initializer.
+
* archive.h: Use struct rather than class for forward declaration
of Read_symbols_data.
diff --git a/gold/gold-threads.cc b/gold/gold-threads.cc
index 38a1e1600d..2cb293e372 100644
--- a/gold/gold-threads.cc
+++ b/gold/gold-threads.cc
@@ -1,6 +1,6 @@
// gold-threads.cc -- thread support for gold
-// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -335,7 +335,10 @@ c_run_once(void)
// Class Once.
Once::Once()
- : was_run_(false), was_run_lock_(0)
+ : was_run_(false)
+#if defined(ENABLE_THREADS) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
+ , was_run_lock_(0)
+#endif
{
#ifndef ENABLE_THREADS
this->once_ = NULL;
diff --git a/gold/gold-threads.h b/gold/gold-threads.h
index 622bf329d1..5751f62b82 100644
--- a/gold/gold-threads.h
+++ b/gold/gold-threads.h
@@ -1,6 +1,6 @@
// gold-threads.h -- thread support for gold -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -223,8 +223,10 @@ class Once
private:
// True if we have already run the function.
bool was_run_;
+#if defined(ENABLE_THREADS) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
// Internal compare-and-swap lock on was_run_;
uint32_t was_run_lock_;
+#endif
// The lock to run the function only once.
Once_initialize* once_;
};