gdb: sim: merge the sysroot update logic together
authorMike Frysinger <vapier@gentoo.org>
Wed, 24 Jun 2015 14:23:12 +0000 (21:23 +0700)
committerMike Frysinger <vapier@gentoo.org>
Wed, 24 Jun 2015 14:25:38 +0000 (10:25 -0400)
Initialize the local sysroot fully before we start using it.
This keeps it all a bit simpler.

gdb/ChangeLog
gdb/remote-sim.c

index f46a620..19144ed 100644 (file)
@@ -1,5 +1,9 @@
 2015-06-24  Mike Frysinger  <vapier@gentoo.org>
 
+       * remote-sim.c (gdbsim_open): Move sysroot update to the top.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
        * remote-sim.c: Include gdb_bfd.h.
        (gdbsim_open): Declare new local sysroot pointing to gdb_sysroot.
        Skip TARGET_SYSROOT_PREFIX in gdb_sysroot when it is active.
index 0c43379..82c129d 100644 (file)
@@ -670,9 +670,13 @@ gdbsim_open (const char *args, int from_tty)
   int len;
   char *arg_buf;
   struct sim_inferior_data *sim_data;
-  const char *sysroot = gdb_sysroot;
+  const char *sysroot;
   SIM_DESC gdbsim_desc;
 
+  sysroot = gdb_sysroot;
+  if (is_target_filename (sysroot))
+    sysroot += strlen (TARGET_SYSROOT_PREFIX);
+
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog,
                        "gdbsim_open: args \"%s\"\n", args ? args : "(null)");
@@ -717,8 +721,6 @@ gdbsim_open (const char *args, int from_tty)
     }
   /* Pass along gdb's concept of the sysroot.  */
   strcat (arg_buf, " --sysroot=");
-  if (is_target_filename (sysroot))
-    sysroot += strlen (TARGET_SYSROOT_PREFIX);
   strcat (arg_buf, sysroot);
   /* finally, any explicit args */
   if (args)