On Thu, Nov 25, 2010 at 15:45, Domen Puncer <[email protected]> wrote:
> I can reliably reproduce this one with:
> jtag_khz 1000
> verify_image my_image.elf
> # some prints about too high clock
> reset init
> # openocd aborts

Additional info.

valgrind:
==32465== Invalid free() / delete / delete[]
==32465==    at 0x4C270BD: free (vg_replace_malloc.c:366)
==32465==    by 0x4B4CD9: Jim_EvalObj (jim.c:527)
==32465==    by 0x4B6DB2: Jim_Eval_Named (jim.c:9644)
==32465==    by 0x424AA4: handle_reset_command (target.c:505)
==32465==    by 0x42F448: script_command_run (command.c:627)
==32465==    by 0x4B4E30: Jim_EvalObj (jim.c:9398)
==32465==    by 0x4B60E8: Jim_EvalCoreCommand (jim.c:11557)
==32465==    by 0x4B4E30: Jim_EvalObj (jim.c:9398)
==32465==    by 0x4B83CC: Jim_CatchCoreCommand (jim.c:12372)
==32465==    by 0x4B4E30: Jim_EvalObj (jim.c:9398)
==32465==    by 0x4B6F8B: Jim_EvalExpression (jim.c:8227)
==32465==    by 0x4B7482: Jim_GetBoolFromExpr (jim.c:8269)
==32465==  Address 0x7feffeb00 is on thread 1's stack
==32465==

And it's really bugging me, because I can't figure out where exactly.

It disappears if I configure jimtcl with ./configure CFLAGS=-g, also
disappeared when I inserted some printfs in Jim_EvalObj.

I do have some questions about some code:
1.
In jim.c Jim_EvalObj there's a loop:

                /* Now copy in the expanded version */
                for (k = 0; k < len; k++) {
                    argv[j++] = wordObjPtr->internalRep.listValue.ele[k];
                    Jim_IncrRefCount(wordObjPtr->internalRep.listValue.ele[k]);
                }

but code only allocates space for extra len-1 objects.


2.
src/target/target.c:
In handle_reg_command, there is:
        /* display a register */
        if ((CMD_ARGC == 1) || ((CMD_ARGC == 2) && !((CMD_ARGV[1][0] >= '0')
&& (CMD_ARGV[1][0] <= '9'))))

it seems to be that should be written as:
        if ((CMD_ARGC == 1) || ((CMD_ARGC == 2) && !((CMD_ARGV[0][0] >= '0')
&& (CMD_ARGV[0][0] <= '9'))))
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to