From 360609eb7abe93c477ab410eb8ab511fdb98f9f9 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 7 Sep 2017 17:47:22 +0200 Subject: Debugger: Add to solib-search-path, don't replace it Task-number: QTCREATORBUG-18812 Change-Id: I0fb8d81d55e9928bd3825c510a11ab426ec082c6 Reviewed-by: Orgad Shaneh --- share/qtcreator/debugger/gdbbridge.py | 5 +++++ src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index 17719ac77b..16a11929db 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -1054,6 +1054,11 @@ class Dumper(DumperBase): cmd = 'set variable (%s)=%s' % (expr, value) gdb.execute(cmd) + def appendSolibSearchPath(self, args): + new = list(map(self.hexdecode, args['path'])) + old = [gdb.parameter('solib-search-path')] + gdb.execute('set solib-search-path %s' % args['separator'].join(old + new)) + def watchPoint(self, args): self.reportToken(args) ns = self.qtNamespace() diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index cf55a82dc6..20dfce0261 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -167,9 +167,12 @@ void GdbRemoteServerEngine::setupInferior() // if (!remoteArch.isEmpty()) // postCommand("set architecture " + remoteArch); - const QString solibSearchPath = rp.solibSearchPath.join(HostOsInfo::pathListSeparator()); - if (!solibSearchPath.isEmpty()) - runCommand({"set solib-search-path " + solibSearchPath}); + if (!rp.solibSearchPath.isEmpty()) { + DebuggerCommand cmd("appendSolibSearchPath"); + cmd.arg("path", rp.solibSearchPath); + cmd.arg("separator", HostOsInfo::pathListSeparator()); + runCommand(cmd); + } if (!args.isEmpty()) runCommand({"-exec-arguments " + args}); -- cgit v1.2.1