summaryrefslogtreecommitdiff
path: root/src/user/lib/tce/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/lib/tce/syscall.c')
-rw-r--r--src/user/lib/tce/syscall.c4
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));