It's a faux pas to revert commits like that without discussing it with said
committer, but since it caused a SEGFAULT on Cygwin and I figured
you were asleep I didn't want you to wake up to a flurry of emails
about Cygwin SEGFAULTs...

Your fix was correct, but not complete, hence the SEGFAULT...

> Well... I committed it for you as r1790, and it was just reverted in
> r1793.  I must therefore assume that the proper solution will be... an
> #if/#ifdef conditional on DARWIN or IS_CYGWIN to wrap that definition?
> I am not sure at this point, but somebody needs to dig into this.
>
> Øyvind?  You're one of our Jim experts.... :)

How's the attached patch?

Tested on:

- cygwin
- embedded host, where Jim Tcl is provided by athttpd and not embedded into
OpenOCD

Missing tests:

- mac
- linux

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/helper/command.h
===================================================================
--- src/helper/command.h        (revision 1793)
+++ src/helper/command.h        (working copy)
@@ -32,7 +32,6 @@
 /* Jim is provied by eCos */
 #include <cyg/jimtcl/jim.h>
 #else
-#define JIM_EMBEDDED
 #include "jim.h"
 #endif
 
Index: src/helper/command.c
===================================================================
--- src/helper/command.c        (revision 1793)
+++ src/helper/command.c        (working copy)
@@ -30,6 +30,11 @@
 #include "config.h"
 #endif
 
+#if !BUILD_ECOSBOARD
+/* see Embedder-HOWTO.txt in Jim Tcl project hosted on BerliOS*/
+#define JIM_EMBEDDED
+#endif
+
 // @todo the inclusion of target.h here is a layering violation
 #include "target.h"
 #include "command.h"
@@ -675,7 +680,7 @@
        context->output_handler = NULL;
        context->output_handler_priv = NULL;
 
-#ifdef JIM_EMBEDDED
+#if !BUILD_ECOSBOARD
        Jim_InitEmbedded();
        /* Create an interpreter */
        interp = Jim_CreateInterp();
@@ -721,7 +726,7 @@
 
        add_default_dirs();
 
-#ifdef JIM_EMBEDDED
+#if !BUILD_ECOSBOARD
        Jim_EventLoopOnLoad(interp);
 #endif
        if (Jim_Eval_Named(interp, startup_tcl, 
"embedded:startup.tcl",1)==JIM_ERR)
@@ -800,7 +805,7 @@
 
 void process_jim_events(void)
 {
-#ifdef JIM_EMBEDDED
+#if !BUILD_ECOSBOARD
        static int recursion = 0;
 
        if (!recursion)
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to