summaryrefslogtreecommitdiff
path: root/coroutine/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'coroutine/amd64')
-rw-r--r--coroutine/amd64/Context.S5
-rw-r--r--coroutine/amd64/Context.h2
2 files changed, 3 insertions, 4 deletions
diff --git a/coroutine/amd64/Context.S b/coroutine/amd64/Context.S
index eebf9bf18e..4b94d31f30 100644
--- a/coroutine/amd64/Context.S
+++ b/coroutine/amd64/Context.S
@@ -10,12 +10,11 @@
* one at the bottom of this file */
#define TOKEN_PASTE(x,y) x##y
-#define PREFIXED_SYMBOL(prefix,name) TOKEN_PASTE(prefix,name)
.text
-.globl PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)
-PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):
+.globl PREFIXED_SYMBOL(coroutine_transfer)
+PREFIXED_SYMBOL(coroutine_transfer):
#if defined(__CET__) && (__CET__ & 0x01) != 0
/* IBT landing pad */
diff --git a/coroutine/amd64/Context.h b/coroutine/amd64/Context.h
index 44daa4e01a..65aa638304 100644
--- a/coroutine/amd64/Context.h
+++ b/coroutine/amd64/Context.h
@@ -69,7 +69,7 @@ static inline void coroutine_initialize(
context->stack_pointer = (void**)((uintptr_t)top & ~0xF);
*--context->stack_pointer = NULL;
- *--context->stack_pointer = (void*)start;
+ *--context->stack_pointer = (void*)(uintptr_t)start;
context->stack_pointer -= COROUTINE_REGISTERS;
memset(context->stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);