aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/version.cc18
2 files changed, 20 insertions, 3 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 74d4eb2..fc6032e 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2008-03-25 Ian Lance Taylor <iant@google.com>
+ * 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 <vector>.
(class Target_selector): Make machine_, size_, and is_big_endian_
diff --git a/gold/version.cc b/gold/version.cc
index 489880d..9e3ec28 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)
{