From f4b2c6f5d1dad40d0fbe85cb1b20ad8cf4a8797c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 25 Mar 2008 23:30:48 +0000 Subject: [PATCH] * version.cc (print_version): Adjust output for current value of BFD_VERSION_STRING. --- gold/ChangeLog | 5 +++++ gold/version.cc | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 74d4eb2ae06..fc6032e316a 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,10 @@ 2008-03-25 Ian Lance Taylor + * version.cc (print_version): Adjust output for current value of + BFD_VERSION_STRING. + + * NEWS: New file. + * options.cc (options::help): Print list of supported targets. * target-select.h: Include . (class Target_selector): Make machine_, size_, and is_big_endian_ diff --git a/gold/version.cc b/gold/version.cc index 489880dff98..9e3ec2877a2 100644 --- a/gold/version.cc +++ b/gold/version.cc @@ -40,9 +40,21 @@ static const char* version_string = "1.4"; void print_version(bool print_short) { - /* xgettext:c-format */ - printf("GNU gold (GNU binutils %s) version %s\n", - BFD_VERSION_STRING, version_string); + // The --version output is intended to follow the GNU coding + // standards. We want to print something like: + // GNU gold (GNU binutils 2.19) 1.4 + // BFD_VERSION_STRING looks like "(GNU Binutils) 2.19". We take off + // those parentheses. + std::string bfd_version(BFD_VERSION_STRING); + if (bfd_version[0] == '(') + { + bfd_version.erase(0, 1); + size_t pos = bfd_version.find(')'); + if (pos != std::string::npos) + bfd_version.erase(pos, 1); + } + + printf("GNU gold (%s) %s\n", bfd_version.c_str(), version_string); if (!print_short) { -- 2.30.2