mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
PR 10237
* options.cc (General_options::parse_V): Set printed_version_. (General_options::General_options): Initialize printed_version_. * options.h (class General_options): Add printed_version_ field. * gold.cc (queue_initial_tasks): If there are no input files, don't give a fatal error if we printed the version information. (queue_middle_tasks): If using -r with a shared object, give a fatal error rather than an ordinary error.
This commit is contained in:
parent
dab97f2471
commit
459c9f1c5f
@ -1,3 +1,14 @@
|
||||
2009-06-23 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR 10237
|
||||
* options.cc (General_options::parse_V): Set printed_version_.
|
||||
(General_options::General_options): Initialize printed_version_.
|
||||
* options.h (class General_options): Add printed_version_ field.
|
||||
* gold.cc (queue_initial_tasks): If there are no input files,
|
||||
don't give a fatal error if we printed the version information.
|
||||
(queue_middle_tasks): If using -r with a shared object, give a
|
||||
fatal error rather than an ordinary error.
|
||||
|
||||
2009-06-23 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR 10219
|
||||
|
@ -164,7 +164,11 @@ queue_initial_tasks(const General_options& options,
|
||||
Symbol_table* symtab, Layout* layout, Mapfile* mapfile)
|
||||
{
|
||||
if (cmdline.begin() == cmdline.end())
|
||||
gold_fatal(_("no input files"));
|
||||
{
|
||||
if (options.printed_version())
|
||||
gold_exit(true);
|
||||
gold_fatal(_("no input files"));
|
||||
}
|
||||
|
||||
int thread_count = options.thread_count_initial();
|
||||
if (thread_count == 0)
|
||||
@ -364,7 +368,7 @@ queue_middle_tasks(const General_options& options,
|
||||
(*input_objects->dynobj_begin())->name().c_str());
|
||||
}
|
||||
if (!doing_static_link && parameters->options().relocatable())
|
||||
gold_error(_("cannot mix -r with dynamic object %s"),
|
||||
gold_fatal(_("cannot mix -r with dynamic object %s"),
|
||||
(*input_objects->dynobj_begin())->name().c_str());
|
||||
if (!doing_static_link
|
||||
&& options.oformat_enum() != General_options::OBJECT_FORMAT_ELF)
|
||||
|
@ -273,6 +273,7 @@ void
|
||||
General_options::parse_V(const char*, const char*, Command_line*)
|
||||
{
|
||||
gold::print_version(true);
|
||||
this->printed_version_ = true;
|
||||
printf(_(" Supported targets:\n"));
|
||||
std::vector<const char*> supported_names;
|
||||
gold::supported_target_names(&supported_names);
|
||||
@ -708,7 +709,8 @@ namespace gold
|
||||
{
|
||||
|
||||
General_options::General_options()
|
||||
: execstack_status_(General_options::EXECSTACK_FROM_INPUT), static_(false),
|
||||
: printed_version_(false),
|
||||
execstack_status_(General_options::EXECSTACK_FROM_INPUT), static_(false),
|
||||
do_demangle_(false), plugins_(),
|
||||
incremental_disposition_(INCREMENTAL_CHECK), implicit_incremental_(false)
|
||||
{
|
||||
|
@ -946,6 +946,11 @@ class General_options
|
||||
// any problems.
|
||||
void finalize();
|
||||
|
||||
// True if we printed the version information.
|
||||
bool
|
||||
printed_version() const
|
||||
{ return this->printed_version_; }
|
||||
|
||||
// The macro defines output() (based on --output), but that's a
|
||||
// generic name. Provide this alternative name, which is clearer.
|
||||
const char*
|
||||
@ -1090,6 +1095,8 @@ class General_options
|
||||
void
|
||||
add_plugin_option(const char* opt);
|
||||
|
||||
// Whether we printed version information.
|
||||
bool printed_version_;
|
||||
// Whether to mark the stack as executable.
|
||||
Execstack execstack_status_;
|
||||
// Whether to do a static link.
|
||||
@ -1106,7 +1113,7 @@ class General_options
|
||||
// --incremental-unchanged or --incremental-unknown option. The
|
||||
// value may change as we proceed parsing the command line flags.
|
||||
Incremental_disposition incremental_disposition_;
|
||||
// Wheater we have seen one of the options that require incremental
|
||||
// Whether we have seen one of the options that require incremental
|
||||
// build (--incremental-changed, --incremental-unchanged or
|
||||
// --incremental-unknown)
|
||||
bool implicit_incremental_;
|
||||
|
Loading…
Reference in New Issue
Block a user