diff options
Diffstat (limited to 'binutils-2.22/gold/parameters.cc')
-rw-r--r-- | binutils-2.22/gold/parameters.cc | 21 |
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, |