diff --git a/gold/parameters.cc b/gold/parameters.cc index d69b62c..658f787 100644 --- a/gold/parameters.cc +++ b/gold/parameters.cc @@ -226,10 +226,7 @@ Parameters::entry() const { const char* ret = this->options().entry(); if (ret == NULL) - { - // FIXME: Need to support target specific entry symbol. - ret = "_start"; - } + ret = parameters->target().entry_symbol_name(); return ret; } diff --git a/gold/target.h b/gold/target.h index 6523c04..23bef9d 100644 --- a/gold/target.h +++ b/gold/target.h @@ -449,6 +449,10 @@ class Target gc_mark_symbol(Symbol_table* symtab, Symbol* sym) const { this->do_gc_mark_symbol(symtab, sym); } + virtual const char* + entry_symbol_name() const + { return "_start"; } + protected: // This struct holds the constant information for a child class. We // use a struct to avoid the overhead of virtual function calls for