This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] gdb: sim: automatically pass down sysroot


> 2011-05-26  Mike Frysinger  <vapier@gentoo.org>
> 
> 	* remote-sim.c (gdbsim_open): Add the strlen of " --sysroot=" and
> 	gdb_sysroot to the "len" variable.  Append both to "arg_buf".

It turns out that this is breaking some simulators, at least the ppc sim:

        % powerpc-elf-gdb
        (gdb) target sim
        Unrecognized option

The problem is that some sims have their own argument parsing,
and they sometimes reject the --sysroot= option.  Here is the patch
I just checked in to fix the ppc, but I think that other simulators
might have the same problem.  I checked a few, and I think that
the d10v sim, for instance, will also need to be updated).

So, we have a decision to make: Either do a pass over all simulators,
and fix the ones that need fixing, or revert (in which case my ppc
patch also needs to be reverted).

-- 
Joel
commit df31576192c6a95c3a56583d7de54a452dd52110
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Wed Jun 8 09:17:09 2011 -0700

    ppc sim: Allow --sysroot command-line option
    
    There was a recent change that cuased the "target sim" command
    to add a --sysroot option to the argument vector passed down to
    the simulator.  This caused a failure in the powerpc simulator,
    as it did not recognize it.  This patch fixes the problem by adding
    support for the --sysroot option (it ignores it).
    
    sim/ppc/ChangeLog:
    
            * psim.c (psim_options): Accept and ignore `--sysroot=...'.

diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 2b9017a..2536fa4 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,7 @@
+2011-06-08  Joel Brobecker  <brobecker@adacore.com>
+
+	* psim.c (psim_options): Accept and ignore `--sysroot=...'.
+
 2011-06-03  Joel Brobecker  <brobecker@adacore.com>  (obvious fix)
 
 	From Stephen Kitt  <steve@sk2.org>
diff --git a/sim/ppc/psim.c b/sim/ppc/psim.c
index c311794..076a50c 100644
--- a/sim/ppc/psim.c
+++ b/sim/ppc/psim.c
@@ -357,6 +357,10 @@ psim_options(device *root,
         }
 	else if (strcmp (argv[argp], "--help") == 0)
 	  psim_usage (0, 1);
+	else if (strncmp (argv[argp], "--sysroot=",
+			  sizeof ("--sysroot=")) == 0)
+	  /* Ignore this option.  */
+	  p = argv[argp] + strlen(argv[argp]) - 1;
 	else if (strcmp (argv[argp], "--version") == 0)
 	  {
 	    extern const char version[];

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]