openocd: revert workarounds for 'expr' syntax change
With OpenOCD v0.12.0 released, drop the workarounds for 'expr' syntax change by reverting: - commit320043c054
("openocd: fix for polling during "expr" computation"); - commitc7eaaf6204
("openocd: prepare for jimtcl 0.81 'expr' syntax change"). Replace the call to target_call_timer_callbacks_now() with call to target_call_timer_callbacks(). Change-Id: Iae5afc50e3f688e11176a52648efc9a6577a9a11 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7405 Tested-by: jenkins
This commit is contained in:
parent
da34e36cdb
commit
95603fae18
|
@ -936,19 +936,7 @@ static int jim_command_dispatch(Jim_Interp *interp, int argc, Jim_Obj * const *a
|
||||||
if (!command_can_run(cmd_ctx, c, Jim_GetString(argv[0], NULL)))
|
if (!command_can_run(cmd_ctx, c, Jim_GetString(argv[0], NULL)))
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
|
|
||||||
/*
|
target_call_timer_callbacks();
|
||||||
* TODO: to be removed after v0.12.0
|
|
||||||
* workaround for https://sourceforge.net/p/openocd/tickets/362/
|
|
||||||
* After syntax change of "expr" in jimtcl 0.81
|
|
||||||
* the replacement of jimtcl "expr" with openocd version in
|
|
||||||
* https://review.openocd.org/6510/
|
|
||||||
* introduces too many target polling during math expressions with
|
|
||||||
* "expr" commands.
|
|
||||||
* After v0.12.0 replace the following two lines with
|
|
||||||
* target_call_timer_callbacks();
|
|
||||||
*/
|
|
||||||
if (strcmp(c->name, "expr"))
|
|
||||||
target_call_timer_callbacks_now();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Black magic of overridden current target:
|
* Black magic of overridden current target:
|
||||||
|
|
|
@ -230,65 +230,6 @@ static int openocd_register_commands(struct command_context *cmd_ctx)
|
||||||
return register_commands(cmd_ctx, NULL, openocd_command_handlers);
|
return register_commands(cmd_ctx, NULL, openocd_command_handlers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO: to be removed after v0.12.0
|
|
||||||
* workaround for syntax change of "expr" in jimtcl 0.81
|
|
||||||
* replace "expr" with openocd version that prints the deprecated msg
|
|
||||||
*/
|
|
||||||
struct jim_scriptobj {
|
|
||||||
void *token;
|
|
||||||
Jim_Obj *filename_obj;
|
|
||||||
int len;
|
|
||||||
int subst_flags;
|
|
||||||
int in_use;
|
|
||||||
int firstline;
|
|
||||||
int linenr;
|
|
||||||
int missing;
|
|
||||||
};
|
|
||||||
|
|
||||||
static int jim_expr_command(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
|
|
||||||
{
|
|
||||||
if (argc == 2)
|
|
||||||
return Jim_EvalExpression(interp, argv[1]);
|
|
||||||
|
|
||||||
if (argc > 2) {
|
|
||||||
Jim_Obj *obj = Jim_ConcatObj(interp, argc - 1, argv + 1);
|
|
||||||
Jim_IncrRefCount(obj);
|
|
||||||
const char *s = Jim_String(obj);
|
|
||||||
struct jim_scriptobj *script = Jim_GetIntRepPtr(interp->currentScriptObj);
|
|
||||||
if (interp->currentScriptObj == interp->emptyObj ||
|
|
||||||
strcmp(interp->currentScriptObj->typePtr->name, "script") ||
|
|
||||||
script->subst_flags ||
|
|
||||||
script->filename_obj == interp->emptyObj)
|
|
||||||
LOG_WARNING("DEPRECATED! use 'expr { %s }' not 'expr %s'", s, s);
|
|
||||||
else
|
|
||||||
LOG_WARNING("DEPRECATED! (%s:%d) use 'expr { %s }' not 'expr %s'",
|
|
||||||
Jim_String(script->filename_obj), script->linenr, s, s);
|
|
||||||
int retcode = Jim_EvalExpression(interp, obj);
|
|
||||||
Jim_DecrRefCount(interp, obj);
|
|
||||||
return retcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "expression ?...?");
|
|
||||||
return JIM_ERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct command_registration expr_handler[] = {
|
|
||||||
{
|
|
||||||
.name = "expr",
|
|
||||||
.jim_handler = jim_expr_command,
|
|
||||||
.mode = COMMAND_ANY,
|
|
||||||
.help = "",
|
|
||||||
.usage = "",
|
|
||||||
},
|
|
||||||
COMMAND_REGISTRATION_DONE
|
|
||||||
};
|
|
||||||
|
|
||||||
static int workaround_for_jimtcl_expr(struct command_context *cmd_ctx)
|
|
||||||
{
|
|
||||||
return register_commands(cmd_ctx, NULL, expr_handler);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct command_context *global_cmd_ctx;
|
struct command_context *global_cmd_ctx;
|
||||||
|
|
||||||
static struct command_context *setup_command_handler(Jim_Interp *interp)
|
static struct command_context *setup_command_handler(Jim_Interp *interp)
|
||||||
|
@ -301,7 +242,6 @@ static struct command_context *setup_command_handler(Jim_Interp *interp)
|
||||||
/* register subsystem commands */
|
/* register subsystem commands */
|
||||||
typedef int (*command_registrant_t)(struct command_context *cmd_ctx_value);
|
typedef int (*command_registrant_t)(struct command_context *cmd_ctx_value);
|
||||||
static const command_registrant_t command_registrants[] = {
|
static const command_registrant_t command_registrants[] = {
|
||||||
&workaround_for_jimtcl_expr,
|
|
||||||
&openocd_register_commands,
|
&openocd_register_commands,
|
||||||
&server_register_commands,
|
&server_register_commands,
|
||||||
&gdb_register_commands,
|
&gdb_register_commands,
|
||||||
|
|
Loading…
Reference in New Issue