diff -urN ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h ecos/packages/hal/i386/arch/current/include/hal_arch.h --- ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h 2006-05-13 15:55:16.000000000 -0400 +++ ecos/packages/hal/i386/arch/current/include/hal_arch.h 2006-05-13 16:29:57.000000000 -0400 @@ -182,7 +182,7 @@ #define HAL_THREAD_INIT_CONTEXT( _sparg_, _thread_, _entry_, _id_ ) \ CYG_MACRO_START \ - register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15)); \ + register CYG_WORD* _sp_ = ((CYG_WORD*)(((CYG_ADDRWORD)(_sparg_)) &~15)); \ register CYG_WORD *_fpspace_ = NULL; \ register HAL_SavedRegisters *_regs_; \ \ diff -urN ecos-2006-05-13/packages/redboot/current/src/main.c ecos/packages/redboot/current/src/main.c --- ecos-2006-05-13/packages/redboot/current/src/main.c 2006-05-13 15:55:52.000000000 -0400 +++ ecos/packages/redboot/current/src/main.c 2006-05-13 16:23:38.000000000 -0400 @@ -397,7 +397,7 @@ CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); // set up a temporary context that will take us to the trampoline - HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end, + HAL_THREAD_INIT_CONTEXT(workspace_end, breakpoint, trampoline,0); // switch context to trampoline (get GDB stubs started) @@ -597,7 +597,7 @@ HAL_ICACHE_INVALIDATE_ALL(); HAL_DCACHE_INVALIDATE_ALL(); // set up a temporary context that will take us to the trampoline - HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end, + HAL_THREAD_INIT_CONTEXT(workspace_end, entry, trampoline, 0); // switch context to trampoline