From: Ian Lance Taylor Date: Tue, 4 Dec 2007 01:30:46 +0000 (+0000) Subject: From Craig Silverstein: Use gold_fatal in options.h, beef up value checks. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3ae7da37eb46590691808c22bbedb44ce17336e1;p=binutils-gdb.git From Craig Silverstein: Use gold_fatal in options.h, beef up value checks. --- diff --git a/gold/options.h b/gold/options.h index b327aa94a58..776d3db3ebb 100644 --- a/gold/options.h +++ b/gold/options.h @@ -324,7 +324,12 @@ class General_options void set_optimization_level(const char* arg) - { this->optimization_level_ = atoi(arg); } + { + char* endptr; + this->optimization_level_ = strtol(arg, &endptr, 0); + if (*endptr != '\0' || this->optimization_level_ < 0) + gold_fatal(_("invalid optimization level: %s"), arg); + } void set_output_file_name(const char* arg) @@ -369,7 +374,7 @@ class General_options this->compress_debug_sections_ = ZLIB_COMPRESSION; #endif else - gold_fatal(_("Unsupported argument to --compress-debug-symbols: %s"), + gold_fatal(_("unsupported argument to --compress-debug-symbols: %s"), arg); } @@ -420,30 +425,27 @@ class General_options this->text_segment_address_ = strtoull(arg, &endptr, 0); if (*endptr != '\0' || this->text_segment_address_ == -1U) - { - fprintf(stderr, _("%s: invalid argument to -Ttext: %s\n"), - program_name, arg); - ::exit(1); - } + gold_fatal(_("invalid argument to -Ttext: %s"), arg); } int parse_thread_count(const char* arg) { char* endptr; - int count = strtol(arg, &endptr, 0); + const int count = strtol(arg, &endptr, 0); if (*endptr != '\0' || count < 0) - { - fprintf(stderr, _("%s: invalid thread count: %s\n"), - program_name, arg); - ::exit(1); - } + gold_fatal(_("invalid thread count: %s"), arg); return count; } void set_threads() - { this->threads_ = true; } + { +#ifndef ENABLE_THREADS + gold_fatal(_("--threads not supported")); +#endif + this->threads_ = true; + } void clear_threads()