From abe19f1119ef3d33acd9c8699ebeb110feed55d8 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 4 Oct 2021 09:14:26 -0600 Subject: [PATCH] Fix remote-sim.c compilation The change "make string-like set show commands use std::string variable" caused remote-sim.c to fail to build. The issue is that the code does: const std::string &sysroot = gdb_sysroot; if (is_target_filename (sysroot)) sysroot += strlen (TARGET_SYSROOT_PREFIX); ... which isn't valid. This patch changes this code to use a 'const char *' again, fixing the build. --- gdb/remote-sim.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c index 5bfce2a9a31..3143b4213a6 100644 --- a/gdb/remote-sim.c +++ b/gdb/remote-sim.c @@ -682,7 +682,7 @@ gdbsim_target_open (const char *args, int from_tty) struct sim_inferior_data *sim_data; SIM_DESC gdbsim_desc; - const std::string &sysroot = gdb_sysroot; + const char *sysroot = gdb_sysroot.c_str (); if (is_target_filename (sysroot)) sysroot += strlen (TARGET_SYSROOT_PREFIX); @@ -703,7 +703,7 @@ gdbsim_target_open (const char *args, int from_tty) len = (7 + 1 /* gdbsim */ + strlen (" -E little") + strlen (" --architecture=xxxxxxxxxx") - + strlen (" --sysroot=") + sysroot.length () + + + strlen (" --sysroot=") + strlen (sysroot) + + (args ? strlen (args) : 0) + 50) /* slack */ ; arg_buf = (char *) alloca (len); @@ -730,7 +730,7 @@ gdbsim_target_open (const char *args, int from_tty) } /* Pass along gdb's concept of the sysroot. */ strcat (arg_buf, " --sysroot="); - strcat (arg_buf, sysroot.c_str ()); + strcat (arg_buf, sysroot); /* finally, any explicit args */ if (args) { -- 2.30.2