diff options
Diffstat (limited to 'src/user/lib')
-rw-r--r-- | src/user/lib/tce/syscall.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/user/lib/tce/syscall.c b/src/user/lib/tce/syscall.c index 4e81475..3e8d75e 100644 --- a/src/user/lib/tce/syscall.c +++ b/src/user/lib/tce/syscall.c @@ -44,8 +44,8 @@ void thread_start(void *data) { mutex_lock(&_stack_freeing_mutex); if (_stack_to_free != 0) free(_stack_to_free); _stack_to_free = tsd->stack; - asm volatile("movl %0, (_stack_freeing_mutex); int $64;" :: - "a"(SC_THREAD_EXIT), "r"(MUTEX_UNLOCKED)); + asm volatile("movl %%ebx, (_stack_freeing_mutex); int $64;" :: + "a"(SC_THREAD_EXIT), "b"(MUTEX_UNLOCKED)); } void thread_new(void (*entry)(void*), void *data) { struct thread_start_data *tsd = malloc(sizeof(struct thread_start_data)); |