summaryrefslogtreecommitdiffstats
path: root/binutils-2.22/gold/parameters.cc
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.22/gold/parameters.cc')
-rw-r--r--binutils-2.22/gold/parameters.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/binutils-2.22/gold/parameters.cc b/binutils-2.22/gold/parameters.cc
index c14bd1e..d69b62c 100644
--- a/binutils-2.22/gold/parameters.cc
+++ b/binutils-2.22/gold/parameters.cc
@@ -1,6 +1,7 @@
// parameters.cc -- general parameters for a link using gold
-// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
+// Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -64,7 +65,7 @@ Set_parameters_target_once set_parameters_target_once(&static_parameters);
// Class Parameters.
Parameters::Parameters()
- : errors_(NULL), options_(NULL), target_(NULL),
+ : errors_(NULL), timer_(NULL), options_(NULL), target_(NULL),
doing_static_link_valid_(false), doing_static_link_(false),
debug_(0), incremental_mode_(General_options::INCREMENTAL_OFF),
set_parameters_target_once_(&set_parameters_target_once)
@@ -79,6 +80,13 @@ Parameters::set_errors(Errors* errors)
}
void
+Parameters::set_timer(Timer* timer)
+{
+ gold_assert(this->timer_ == NULL);
+ this->timer_ = timer;
+}
+
+void
Parameters::set_options(const General_options* options)
{
gold_assert(!this->options_valid());
@@ -205,7 +213,7 @@ Parameters::check_target_endianness()
gold_assert(endianness == General_options::ENDIANNESS_LITTLE);
big_endian = false;;
}
-
+
if (this->target().is_big_endian() != big_endian)
gold_error(_("input file does not match -EB/EL option"));
}
@@ -270,6 +278,10 @@ set_parameters_errors(Errors* errors)
{ static_parameters.set_errors(errors); }
void
+set_parameters_timer(Timer* timer)
+{ static_parameters.set_timer(timer); }
+
+void
set_parameters_options(const General_options* options)
{ static_parameters.set_options(options); }
@@ -341,7 +353,8 @@ parameters_force_valid_target()
else
is_big_endian = GOLD_DEFAULT_BIG_ENDIAN;
- Target* target = select_target(elfcpp::GOLD_DEFAULT_MACHINE,
+ Target* target = select_target(NULL, 0,
+ elfcpp::GOLD_DEFAULT_MACHINE,
GOLD_DEFAULT_SIZE,
is_big_endian,
elfcpp::GOLD_DEFAULT_OSABI,