[gdb/testsuite] Handle remote host in escape_for_host
authorTom de Vries <tdevries@suse.de>
Fri, 17 Mar 2023 12:29:13 +0000 (13:29 +0100)
committerTom de Vries <tdevries@suse.de>
Fri, 17 Mar 2023 12:29:13 +0000 (13:29 +0100)
With test-case gdb.arch/ftrace-insn-reloc.exp and host board
local-remote-host-notty and target board native-gdbserver, I run into:
...
FAIL: gdb.arch/ftrace-insn-reloc.exp: IPA loaded
...
due to having:
...
$ readelf -d ftrace-insn-reloc | grep RUNPATH
 0x000000000000001d (RUNPATH)            Library runpath: []
...
instead of:
...
$ readelf -d ftrace-insn-reloc | grep RUNPATH
 0x000000000000001d (RUNPATH)            Library runpath: [$ORIGIN]
...

Handle this in escape_for_host.

Tested on x86_64-linux.

gdb/testsuite/lib/gdb.exp

index b45c73fcc1aaac33409b723679f095a2eedd2d24..8b1127ce0bc2e29423bd09ea712797476aa422a0 100644 (file)
@@ -4656,8 +4656,14 @@ set gdb_saved_set_unbuffered_mode_obj ""
 # Escape STR sufficiently for use on host commandline.
 
 proc escape_for_host { str } {
-    set map {
-       {$} {\$}
+    if { [is_remote host] } {
+       set map {
+           {$} {\\$}
+       }
+    } else {
+       set map {
+           {$} {\$}
+       }
     }
 
     return [string map $map $str]