瀏覽代碼

fix errno setting

Mike Frysinger 18 年之前
父節點
當前提交
1c294afa13
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      libc/sysdeps/linux/x86_64/__syscall_error.c

+ 4 - 2
libc/sysdeps/linux/x86_64/__syscall_error.c

@@ -13,7 +13,9 @@
 int __syscall_error(void) attribute_hidden;
 int __syscall_error(void)
 {
-	register int err_no asm("%rax");
-	__set_errno(-err_no);
+	register int err_no __asm__ ("%rcx");
+	__asm__ ("mov %rax, %rcx\n\t"
+	         "neg %rcx");
+	__set_errno(err_no);
 	return -1;
 }