sim: always enable support for the --endian option
authorMike Frysinger <vapier@gentoo.org>
Mon, 22 Mar 2010 23:10:39 +0000 (23:10 +0000)
committerMike Frysinger <vapier@gentoo.org>
Mon, 22 Mar 2010 23:10:39 +0000 (23:10 +0000)
The gdb code always passes down -E <little|big> to the sim core when using
the sim target.  But the sim core only recognizes this option when the sim
supports big endian systems.  So for little endian simulators, any attempt
to use the sim target fails with:

(gdb) target sim
gdbsim: invalid option -- 'E'
unable to create simulator instance

Since always respecting the option doesn't cause any problems, do just
that.  If someone tries to use an invalid endian, they'll get an error
anyways.

sim/common/ChangeLog
sim/common/sim-options.c

index 32f4dc3c124bfbbe71b330accba89a5868bbd4b8..1b1bd3b1698ce8154311651e1231ce41625cc7fb 100644 (file)
@@ -1,3 +1,9 @@
+2010-03-22  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim/common/sim-options.c (enum): Remove SIM_HAVE_BIENDIAN ifdef.
+       (standard_options): Likewise.
+       (standard_option_handler): Likewise.
+
 2010-03-16  Mike Frysinger  <vapier@gentoo.org>
 
        * hw-ports.c (TRACE): Delete.
index 82a502e2fb72a723cbb9e1f7115787d53140681d..3369ca2cc95ff47e68f61b5921047956a2c35d01 100644 (file)
@@ -100,9 +100,7 @@ typedef enum {
   OPTION_ENVIRONMENT,
   OPTION_ALIGNMENT,
   OPTION_VERBOSE,
-#if defined (SIM_HAVE_BIENDIAN)
   OPTION_ENDIAN,
-#endif
   OPTION_DEBUG,
 #ifdef SIM_HAVE_FLATMEM
   OPTION_MEM_SIZE,
@@ -124,11 +122,9 @@ static const OPTION standard_options[] =
       'v', NULL, "Verbose output",
       standard_option_handler },
 
-#if defined (SIM_HAVE_BIENDIAN) /* ??? && WITH_TARGET_BYTE_ORDER == 0 */
   { {"endian", required_argument, NULL, OPTION_ENDIAN},
       'E', "big|little", "Set endianness",
       standard_option_handler },
-#endif
 
 #ifdef SIM_HAVE_ENVIRONMENT
   /* This option isn't supported unless all choices are supported in keeping
@@ -226,7 +222,6 @@ standard_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
       STATE_VERBOSE_P (sd) = 1;
       break;
 
-#ifdef SIM_HAVE_BIENDIAN
     case OPTION_ENDIAN:
       if (strcmp (arg, "big") == 0)
        {
@@ -254,7 +249,6 @@ standard_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
          return SIM_RC_FAIL;
        }
       break;
-#endif
 
     case OPTION_ENVIRONMENT:
       if (strcmp (arg, "user") == 0)