From e927bff0890b6b2a1f5a223f804aa1de71f091a6 Mon Sep 17 00:00:00 2001 From: inmarket Date: Thu, 8 Dec 2016 10:12:23 +1000 Subject: [PATCH] Fix GCC assembler broken during Keil port --- src/gos/gos_x_threads_cortexm01.h | 4 ++-- src/gos/gos_x_threads_cortexm347.h | 4 ++-- src/gos/gos_x_threads_cortexm47fp.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gos/gos_x_threads_cortexm01.h b/src/gos/gos_x_threads_cortexm01.h index 8dfe1683..8a44bd35 100644 --- a/src/gos/gos_x_threads_cortexm01.h +++ b/src/gos/gos_x_threads_cortexm01.h @@ -55,7 +55,7 @@ : "memory"); // Run the users function - gfxThreadExit(current->fn(current->param)); + gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); } #elif GFX_COMPILER == GFX_COMPILER_KEIL || GFX_COMPILER == GFX_COMPILER_ARMCC @@ -100,7 +100,7 @@ ldr sp, [r1,#__cpp(offsetof(thread,cxt))] // newt->cxt // Run the users function - we save some code because gfxThreadExit() never returns - // gfxThreadExit(current->fn(current->param)); + // gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); LDR r2,__cpp(&_gfxCurrentThread) LDR r2,[r2,#0] LDR r0,[r2,#__cpp(offsetof(thread,param))] diff --git a/src/gos/gos_x_threads_cortexm347.h b/src/gos/gos_x_threads_cortexm347.h index 522fe9b8..03c13052 100644 --- a/src/gos/gos_x_threads_cortexm347.h +++ b/src/gos/gos_x_threads_cortexm347.h @@ -41,7 +41,7 @@ : "memory"); // Run the users function - gfxThreadExit(current->fn(current->param)); + gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); } #elif GFX_COMPILER == GFX_COMPILER_KEIL || GFX_COMPILER == GFX_COMPILER_ARMCC @@ -71,7 +71,7 @@ ldr sp, [r1,#__cpp(offsetof(thread,cxt))] // newt->cxt // Run the users function - we save some code because gfxThreadExit() never returns - // gfxThreadExit(current->fn(current->param)); + // gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); LDR r2,__cpp(&_gfxCurrentThread) LDR r2,[r2,#0] LDR r0,[r2,#__cpp(offsetof(thread,param))] diff --git a/src/gos/gos_x_threads_cortexm47fp.h b/src/gos/gos_x_threads_cortexm47fp.h index 2fc15d3c..9767ac9a 100644 --- a/src/gos/gos_x_threads_cortexm47fp.h +++ b/src/gos/gos_x_threads_cortexm47fp.h @@ -43,7 +43,7 @@ : "memory"); // Run the users function - gfxThreadExit(current->fn(current->param)); + gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); } #elif GFX_COMPILER == GFX_COMPILER_KEIL || GFX_COMPILER == GFX_COMPILER_ARMCC @@ -76,7 +76,7 @@ ldr sp, [r1,#__cpp(offsetof(thread,cxt))] // newt->cxt // Run the users function - we save some code because gfxThreadExit() never returns - // gfxThreadExit(current->fn(current->param)); + // gfxThreadExit(_gfxCurrentThread->fn(_gfxCurrentThread->param)); LDR r2,__cpp(&_gfxCurrentThread) LDR r2,[r2,#0] LDR r0,[r2,#__cpp(offsetof(thread,param))]