This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] sim: always enable support for the --endian option
- From: Doug Evans <dje at google dot com>
- To: Mike Frysinger <vapier at gentoo dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 22 Mar 2010 15:45:29 -0700
- Subject: Re: [PATCH] sim: always enable support for the --endian option
- References: <1268964946-29052-1-git-send-email-vapier@gentoo.org>
On Thu, Mar 18, 2010 at 7:15 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> 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.
>
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
> 2010-03-18 ?Mike Frysinger ?<vapier@gentoo.org>
>
> ? ? ? ?* sim/common/sim-options.c (enum): Remove SIM_HAVE_BIENDIAN ifdef.
> ? ? ? ?(standard_options): Likewise.
> ? ? ? ?(standard_option_handler): Likewise.
>
> ?sim/common/sim-options.c | ? ?6 ------
> ?1 files changed, 0 insertions(+), 6 deletions(-)
>
> diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
> index 82a502e..3369ca2 100644
> --- a/sim/common/sim-options.c
> +++ b/sim/common/sim-options.c
> @@ -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)
> --
> 1.7.0.2
>
>
Hi. This is OK.