openocd/src
Antonio Borneo 5ebb1bdea1 server/gdb: fix return of gdb remote monitor command
Current implementation for gdb remote monitor command uses the
command_run_line() to execute the command.
While command_run_line() has several advantages, it unfortunately
hides the error codes and outputs the result of the command
through LOG_USER(), which is not what gdb requires. See 'qRcmd' in
https://sourceware.org/gdb/onlinedocs/gdb/General-Query-Packets.html

Replace command_run_line() with Jim_EvalObj() and parse the output
to provide the proper result to gdb.

Can be tested by defining in OpenOCD:
	proc a {} {return hello}
	proc b {} {return -code 4}
	proc c {} {return -code 4 "This is an error!"}
then by executing in gdb console:
	monitor a
	monitor b
	monitor c
	monitor foo

Change-Id: I1b85554d59221560e97861a499e16764e70c1172
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reported-by: Torbjorn Svensson <torbjorn.svensson@st.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6886
Tested-by: jenkins
2022-04-23 09:25:43 +00:00
..
flash flash/nor/stm32f1x: lock flash in case of error 2022-04-13 16:56:18 +00:00
helper helper/bits: add BIT_ULL and GENMASK macros 2022-03-26 13:35:55 +00:00
jtag drivers/cmsis-dap: Remove stray whitespace 2022-04-03 20:12:43 +00:00
pld openocd: use single line for register_commands*() 2021-11-23 11:03:38 +00:00
rtos helper/bits: add BIT_ULL and GENMASK macros 2022-03-26 13:35:55 +00:00
rtt openocd: include config.h in every file .c 2022-03-26 13:32:57 +00:00
server server/gdb: fix return of gdb remote monitor command 2022-04-23 09:25:43 +00:00
svf openocd: fix Yoda conditions with checkpatch 2021-07-24 10:38:31 +01:00
target openocd: include config.h in every file .c 2022-03-26 13:32:57 +00:00
transport openocd: remove NULL comparisons with checkpatch [1/2] 2021-07-24 10:38:00 +01:00
xsvf openocd: fix simple cases of NULL comparison 2021-07-24 10:37:49 +01:00
hello.c openocd: fix simple cases of Yoda condition 2021-07-20 14:55:24 +01:00
hello.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
main.c Cleanup of config/includes. 2021-05-01 14:35:09 +01:00
Makefile.am build: Fix out-of-tree with --disable-dependency-tracking configure flag 2021-04-05 23:24:14 +01:00
openocd.c log: fix memory leak when log to file is enabled 2022-01-22 10:15:48 +00:00
openocd.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00