浏览代码

fix i386 __set_thread_area fallback

this code is only needed for pre-2.6 kernels, which are not actually
supported anyway, and was never tested. the fallback path using
SYS_modify_ldt failed to clear the upper bits of %eax (all ones due to
SYS_set_thread_area's return value being an error) before modifying
%al to attempt a new syscall.
Rich Felker 4 年之前
父节点
当前提交
0b06402193
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      src/thread/i386/__set_thread_area.s

+ 1 - 0
src/thread/i386/__set_thread_area.s

@@ -28,6 +28,7 @@ __set_thread_area:
 	ret
 2:
 	mov %ebx,%ecx
+	xor %eax,%eax
 	xor %ebx,%ebx
 	xor %edx,%edx
 	mov %ebx,(%esp)