diff --git a/src/thread/i386/__set_thread_area.s b/src/thread/i386/__set_thread_area.s index ad5381513804787fcd6969e8552c6904041425cb..1d852689faed383561c41db9bb408db6dfe08cc8 100644 --- a/src/thread/i386/__set_thread_area.s +++ b/src/thread/i386/__set_thread_area.s @@ -6,7 +6,11 @@ __set_thread_area: push $0x51 push $0xfffff push 16(%esp) - push $-1 + xor %edx,%edx + mov %gs,%dx + sub $3,%edx + sar $3,%edx + push %edx mov %esp,%ebx xor %eax,%eax mov $243,%al