diff options
author | Ian Lance Taylor <iant@google.com> | 2007-12-04 01:30:46 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-12-04 01:30:46 +0000 |
commit | 3ae7da37eb46590691808c22bbedb44ce17336e1 (patch) | |
tree | 921342a5afeb20da3b265935a8fe77c3987ba407 /gold | |
parent | 05d2fc7dc1a018edc8eb772383731cc1240c29ae (diff) | |
download | fsf-binutils-gdb-3ae7da37eb46590691808c22bbedb44ce17336e1.zip fsf-binutils-gdb-3ae7da37eb46590691808c22bbedb44ce17336e1.tar.gz fsf-binutils-gdb-3ae7da37eb46590691808c22bbedb44ce17336e1.tar.bz2 |
From Craig Silverstein: Use gold_fatal in options.h, beef up value checks.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/options.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/gold/options.h b/gold/options.h index b327aa9..776d3db 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() |