diff options
author | Ian Lance Taylor <iant@google.com> | 2008-03-06 00:53:37 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2008-03-06 00:53:37 +0000 |
commit | 09ffbbe0d44895d6e6681430cf7a893840a9281b (patch) | |
tree | fe1f57e39faf985b527ad62aa5612c6e6651a73a /gold | |
parent | 7dfac99ff1ebec56f81c60747e2ac9b0f86fa588 (diff) | |
download | gdb-09ffbbe0d44895d6e6681430cf7a893840a9281b.zip gdb-09ffbbe0d44895d6e6681430cf7a893840a9281b.tar.gz gdb-09ffbbe0d44895d6e6681430cf7a893840a9281b.tar.bz2 |
From Craig Silverstein: accept any string for input format, warn if
thread options when not supported.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/options.cc | 18 | ||||
-rw-r--r-- | gold/options.h | 11 |
2 files changed, 23 insertions, 6 deletions
diff --git a/gold/options.cc b/gold/options.cc index 5307d86..80a723e 100644 --- a/gold/options.cc +++ b/gold/options.cc @@ -341,7 +341,7 @@ string_to_object_format(const char* arg) return gold::General_options::OBJECT_FORMAT_BINARY; else { - gold::gold_error(_("format '%s' not supported " + gold::gold_error(_("format '%s' not supported; treating as elf " "(supported formats: elf, binary)"), arg); return gold::General_options::OBJECT_FORMAT_ELF; @@ -628,6 +628,22 @@ General_options::finalize() if (this->thread_count() > 0 && this->thread_count_final() == 0) this->set_thread_count_final(this->thread_count()); + // Let's warn if you set the thread-count but we're going to ignore it. +#ifndef ENABLE_THREADS + if (this->threads()) + { + gold_warning(_("ignoring --threads: " + "%s was compiled without thread support"), + program_name); + this->set_threads(false); + } + if (this->thread_count() > 0 || this->thread_count_initial() > 0 + || this->thread_count_middle() > 0 || this->thread_count_final() > 0) + gold_warning(_("ignoring --thread-count: " + "%s was compiled without thread support"), + program_name); +#endif + // Even if they don't specify it, we add -L /lib and -L /usr/lib. // FIXME: We should only do this when configured in native mode. this->add_to_library_path_with_sysroot("/lib"); diff --git a/gold/options.h b/gold/options.h index 7f5a561..454991f 100644 --- a/gold/options.h +++ b/gold/options.h @@ -415,11 +415,12 @@ class General_options DEFINE_bool(Bsymbolic, options::ONE_DASH, '\0', false, _("Bind defined symbols locally"), NULL); - DEFINE_enum(format, options::TWO_DASHES, 'b', "elf", - _("Set input format"), _("[elf,binary]"), - {"elf", "binary", - "elf32-i386", "elf32-little", "elf32-big", - "elf64-x86_64", "elf64-little", "elf64-big"}); + // This should really be an "enum", but it's too easy for folks to + // forget to update the list as they add new targets. So we just + // accept any string. We'll fail later (when the string is parsed), + // if the target isn't actually supported. + DEFINE_string(format, options::TWO_DASHES, 'b', "elf", + _("Set input format"), _("[elf,binary]")); #ifdef HAVE_ZLIB_H DEFINE_enum(compress_debug_sections, options::TWO_DASHES, '\0', "none", |