From owner-svn-soc-all@FreeBSD.ORG Fri Aug 19 09:26:51 2011 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id 05BAD1065670 for ; Fri, 19 Aug 2011 09:26:49 +0000 (UTC) (envelope-from xxp@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Fri, 19 Aug 2011 09:26:49 +0000 Date: Fri, 19 Aug 2011 09:26:49 +0000 From: xxp@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20110819092649.05BAD1065670@hub.freebsd.org> Cc: Subject: socsvn commit: r225262 - in soc2011/xxp/xxp-head/lib: libc/amd64/gen libthr/arch/amd64/amd64 X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Aug 2011 09:26:51 -0000 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)