// 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)
this->errors_ = errors;
}
+void
+Parameters::set_timer(Timer* timer)
+{
+ gold_assert(this->timer_ == NULL);
+ this->timer_ = timer;
+}
+
void
Parameters::set_options(const General_options* options)
{
return this->incremental_mode_ != General_options::INCREMENTAL_OFF;
}
+// Return true if we are doing a full incremental link.
+
+bool
+Parameters::incremental_full() const
+{
+ return this->incremental_mode_ == General_options::INCREMENTAL_FULL;
+}
+
// Return true if we are doing an incremental update.
bool
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); }
is_big_endian,
elfcpp::GOLD_DEFAULT_OSABI,
0);
- gold_assert(target != NULL);
+
+ if (target == NULL)
+ {
+ gold_assert(is_big_endian != GOLD_DEFAULT_BIG_ENDIAN);
+ gold_fatal(_("no supported target for -EB/-EL option"));
+ }
+
set_parameters_target(target);
}