[PATCH 2/3] sim: options: add --version support

Mike Frysinger vapier@gentoo.org
Mon Apr 13 06:43:00 GMT 2015


The old run frontend had a --version option, but the new common
sim-options file does not.  Restore support for that so we can
get version info out of `run` when using the new frontend.

Committed.
---
 sim/common/ChangeLog     |  7 +++++++
 sim/common/sim-options.c | 11 +++++++++++
 2 files changed, 18 insertions(+)

diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 00a952e..a7341f5 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,5 +1,12 @@
 2015-04-13  Mike Frysinger  <vapier@gentoo.org>
 
+	* sim-options.c: Include version.h.
+	(OPTIONS_VERSION): New enum.
+	(standard_options): Add "version".
+	(standard_option_handler): Handle OPTIONS_VERSION.
+
+2015-04-13  Mike Frysinger  <vapier@gentoo.org>
+
 	* Makefile.in (version.o): Change to using create-version.sh from gdb.
 	(create-version.sh): Delete.
 
diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
index 814edcf..f823143 100644
--- a/sim/common/sim-options.c
+++ b/sim/common/sim-options.c
@@ -33,6 +33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "sim-options.h"
 #include "sim-io.h"
 #include "sim-assert.h"
+#include "version.h"
 
 #include "bfd.h"
 
@@ -105,6 +106,7 @@ typedef enum {
   OPTION_MEM_SIZE,
 #endif
   OPTION_HELP,
+  OPTION_VERSION,
 #ifdef SIM_H8300 /* FIXME: Should be movable to h8300 dir.  */
   OPTION_H8300H,
   OPTION_H8300S,
@@ -173,6 +175,9 @@ static const OPTION standard_options[] =
   { {"help", no_argument, NULL, OPTION_HELP},
       'H', NULL, "Print help information",
       standard_option_handler },
+  { {"version", no_argument, NULL, OPTION_VERSION},
+      '\0', NULL, "Print version information",
+      standard_option_handler },
 
   { {"architecture", required_argument, NULL, OPTION_ARCHITECTURE},
       '\0', "MACHINE", "Specify the architecture to use",
@@ -455,6 +460,12 @@ standard_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
       /* FIXME: 'twould be nice to do something similar if gdb.  */
       break;
 
+    case OPTION_VERSION:
+      sim_io_printf (sd, "GNU simulator %s%s\n", PKGVERSION, version);
+      if (STATE_OPEN_KIND (sd) == SIM_OPEN_STANDALONE)
+	exit (0);
+      break;
+
     case OPTION_SYSROOT:
       /* Don't leak memory in the odd event that there's lots of
 	 --sysroot=... options.  We treat "" specially since this
-- 
2.3.5



More information about the Gdb-patches mailing list