Fix GCC assembler broken during Keil port

ugfx_release_2.7
inmarket 2016-12-08 10:12:23 +10:00
parent ad29f4fee0
commit e927bff089
3 changed files with 6 additions and 6 deletions

View File

@ -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))]

View File

@ -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))]

View File

@ -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))]