socsvn commit: r225262 - in soc2011/xxp/xxp-head/lib:
libc/amd64/gen libthr/arch/amd64/amd64
xxp at FreeBSD.org
xxp at FreeBSD.org
Fri Aug 19 09:26:51 UTC 2011
Author: xxp
Date: Fri Aug 19 09:26:48 2011
New Revision: 225262
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=225262
Log:
Review amd64.
Modified:
soc2011/xxp/xxp-head/lib/libc/amd64/gen/rfork_thread.S
soc2011/xxp/xxp-head/lib/libc/amd64/gen/setjmp.S
soc2011/xxp/xxp-head/lib/libc/amd64/gen/sigsetjmp.S
soc2011/xxp/xxp-head/lib/libthr/arch/amd64/amd64/_umtx_op_err.S
Modified: soc2011/xxp/xxp-head/lib/libc/amd64/gen/rfork_thread.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/amd64/gen/rfork_thread.S Fri Aug 19 08:29:10 2011 (r225261)
+++ soc2011/xxp/xxp-head/lib/libc/amd64/gen/rfork_thread.S Fri Aug 19 09:26:48 2011 (r225262)
@@ -47,10 +47,14 @@
ENTRY(rfork_thread)
pushq %rbx
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%rbx, 0)
pushq %r12
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%r12, 0)
movq %rdx, %rbx
+ cfi_register(%rdx, %rbx)
movq %rcx, %r12
+ cfi_register(%rcx, %r12)
/*
* Prepare and execute the thread creation syscall
@@ -66,8 +70,10 @@
jnz 1f
popq %r12
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%r12)
popq %rbx
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rbx)
ret
/*
@@ -77,7 +83,9 @@
*/
1:
movq %rsi, %rsp
+ cfi_register(%rsi, %rsp)
movq %r12, %rdi
+ cfi_register(%r12, %rdi)
call *%rbx
movl %eax, %edi
@@ -97,8 +105,10 @@
2:
popq %r12
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%r12)
popq %rbx
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rbx)
#ifdef PIC
movq PIC_GOT(HIDENAME(cerror)), %rdx
jmp *%rdx
Modified: soc2011/xxp/xxp-head/lib/libc/amd64/gen/setjmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/amd64/gen/setjmp.S Fri Aug 19 08:29:10 2011 (r225261)
+++ soc2011/xxp/xxp-head/lib/libc/amd64/gen/setjmp.S Fri Aug 19 09:26:48 2011 (r225262)
@@ -51,14 +51,18 @@
ENTRY(setjmp)
pushq %rdi
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%rdi, 0)
movq %rdi,%rcx
+ cfi_register(%rdi, %rcx)
movq $1,%rdi /* SIG_BLOCK */
movq $0,%rsi /* (sigset_t*)set */
leaq 72(%rcx),%rdx /* 9,10; (sigset_t*)oset */
call PIC_PLT(CNAME(_sigprocmask))
popq %rdi
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rdi)
movq %rdi,%rcx
+ cfi_register(%rdi, %rcx)
movq 0(%rsp),%rdx /* retval */
movq %rdx, 0(%rcx) /* 0; retval */
movq %rbx, 8(%rcx) /* 1; rbx */
Modified: soc2011/xxp/xxp-head/lib/libc/amd64/gen/sigsetjmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/amd64/gen/sigsetjmp.S Fri Aug 19 08:29:10 2011 (r225261)
+++ soc2011/xxp/xxp-head/lib/libc/amd64/gen/sigsetjmp.S Fri Aug 19 09:26:48 2011 (r225262)
@@ -59,14 +59,18 @@
jz 2f
pushq %rdi
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%rdi, 0)
movq %rdi,%rcx
+ cfi_register(%rdi, %rcx)
movq $1,%rdi /* SIG_BLOCK */
movq $0,%rsi /* (sigset_t*)set */
leaq 72(%rcx),%rdx /* 9,10 (sigset_t*)oset */
call PIC_PLT(CNAME(_sigprocmask))
popq %rdi
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rdi)
2: movq %rdi,%rcx
+ cfi_register(%rdi, %rcx)
movq 0(%rsp),%rdx /* retval */
movq %rdx, 0(%rcx) /* 0; retval */
movq %rbx, 8(%rcx) /* 1; rbx */
@@ -87,20 +91,27 @@
cmpl $0,88(%rdi)
jz 2f
movq %rdi,%rdx
+ cfi_register(%rdi, %rdx)
pushq %rdi
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%rdi, 0)
pushq %rsi
cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%rsi, 0)
movq $3,%rdi /* SIG_SETMASK */
leaq 72(%rdx),%rsi /* (sigset_t*)set */
movq $0,%rdx /* (sigset_t*)oset */
call PIC_PLT(CNAME(_sigprocmask))
popq %rsi
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rsi)
popq %rdi /* jmpbuf */
cfi_adjust_cfa_offset(-8)
+ cfi_restore(%rdi)
2: movq %rdi,%rdx
+ cfi_register(%rdi, %rdx)
movq %rsi,%rax /* retval */
+ cfi_register(%rsi, %rax)
movq 0(%rdx),%rcx
movq 8(%rdx),%rbx
movq 16(%rdx),%rsp
Modified: soc2011/xxp/xxp-head/lib/libthr/arch/amd64/amd64/_umtx_op_err.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libthr/arch/amd64/amd64/_umtx_op_err.S Fri Aug 19 08:29:10 2011 (r225261)
+++ soc2011/xxp/xxp-head/lib/libthr/arch/amd64/amd64/_umtx_op_err.S Fri Aug 19 09:26:48 2011 (r225262)
@@ -32,7 +32,7 @@
#define RSYSCALL_ERR(x) ENTRY(__CONCAT(x, _err)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; ret;
-#define KERNCALL movq %rcx, %r10; syscall
+#define KERNCALL movq %rcx, %r10; cfi_register(%rcx, %r10); syscall
RSYSCALL_ERR(_umtx_op)
More information about the svn-soc-all
mailing list