From owner-p4-projects@FreeBSD.ORG Sun Jun 1 15:55:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86A5337B404; Sun, 1 Jun 2003 15:55:09 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2025037B401 for ; Sun, 1 Jun 2003 15:55:09 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B101F43F75 for ; Sun, 1 Jun 2003 15:55:08 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h51Mt80U077502 for ; Sun, 1 Jun 2003 15:55:08 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h51Mt7rV077499 for perforce@freebsd.org; Sun, 1 Jun 2003 15:55:07 -0700 (PDT) Date: Sun, 1 Jun 2003 15:55:07 -0700 (PDT) Message-Id: <200306012255.h51Mt7rV077499@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 32331 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jun 2003 22:55:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=32331 Change 32331 by peter@peter_hammer on 2003/06/01 15:54:57 document offsets within jmpbuf Affected files ... .. //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#5 edit .. //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#7 edit .. //depot/projects/hammer/lib/libc/amd64/gen/sigsetjmp.S#7 edit .. //depot/projects/hammer/sys/amd64/include/setjmp.h#7 edit Differences ... ==== //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#5 (text+ko) ==== @@ -53,15 +53,15 @@ ENTRY(_setjmp) movq %rdi,%rax movq 0(%rsp),%rdx /* retval */ - movq %rdx, 0(%rax) /* retval */ - movq %rbx, 8(%rax) - movq %rsp,16(%rax) - movq %rbp,24(%rax) - movq %r12,32(%rax) - movq %r13,40(%rax) - movq %r14,48(%rax) - movq %r15,56(%rax) - fnstcw 64(%rax) + movq %rdx, 0(%rax) /* 0; retval */ + movq %rbx, 8(%rax) /* 1; rbx */ + movq %rsp,16(%rax) /* 2; rsp */ + movq %rbp,24(%rax) /* 3; rbp */ + movq %r12,32(%rax) /* 4; r12 */ + movq %r13,40(%rax) /* 5; r13 */ + movq %r14,48(%rax) /* 6; r14 */ + movq %r15,56(%rax) /* 7; r15 */ + fnstcw 64(%rax) /* 8; fpu cw */ xorq %rax,%rax ret ==== //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#7 (text+ko) ==== @@ -57,20 +57,20 @@ movq %rdi,%rcx movq $1,%rdi /* SIG_BLOCK */ movq $0,%rsi /* (sigset_t*)set */ - leaq 72(%rcx),%rdx /* (sigset_t*)oset */ + leaq 72(%rcx),%rdx /* 9,10; (sigset_t*)oset */ call PIC_PLT(CNAME(_sigprocmask)) popq %rdi movq %rdi,%rcx movq 0(%rsp),%rdx /* retval */ - movq %rdx, 0(%rcx) /* retval */ - movq %rbx, 8(%rcx) - movq %rsp,16(%rcx) - movq %rbp,24(%rcx) - movq %r12,32(%rcx) - movq %r13,40(%rcx) - movq %r14,48(%rcx) - movq %r15,56(%rcx) - fnstcw 64(%rcx) + movq %rdx, 0(%rcx) /* 0; retval */ + movq %rbx, 8(%rcx) /* 1; rbx */ + movq %rsp,16(%rcx) /* 2; rsp */ + movq %rbp,24(%rcx) /* 3; rbp */ + movq %r12,32(%rcx) /* 4; r12 */ + movq %r13,40(%rcx) /* 5; r13 */ + movq %r14,48(%rcx) /* 6; r14 */ + movq %r15,56(%rcx) /* 7; r15 */ + fnstcw 64(%rcx) /* 8; fpu cw */ xorq %rax,%rax ret ==== //depot/projects/hammer/lib/libc/amd64/gen/sigsetjmp.S#7 (text+ko) ==== @@ -58,27 +58,27 @@ */ ENTRY(sigsetjmp) - movl %esi,88(%rdi) + movl %esi,88(%rdi) /* 11; savemask */ testl %esi,%esi jz 2f pushq %rdi movq %rdi,%rcx movq $1,%rdi /* SIG_BLOCK */ movq $0,%rsi /* (sigset_t*)set */ - leaq 72(%rcx),%rdx /* (sigset_t*)oset */ + leaq 72(%rcx),%rdx /* 9,10 (sigset_t*)oset */ call PIC_PLT(CNAME(_sigprocmask)) popq %rdi 2: movq %rdi,%rcx movq 0(%rsp),%rdx /* retval */ - movq %rdx, 0(%rcx) /* retval */ - movq %rbx, 8(%rcx) - movq %rsp,16(%rcx) - movq %rbp,24(%rcx) - movq %r12,32(%rcx) - movq %r13,40(%rcx) - movq %r14,48(%rcx) - movq %r15,56(%rcx) - fnstcw 64(%rcx) + movq %rdx, 0(%rcx) /* 0; retval */ + movq %rbx, 8(%rcx) /* 1; rbx */ + movq %rsp,16(%rcx) /* 2; rsp */ + movq %rbp,24(%rcx) /* 3; rbp */ + movq %r12,32(%rcx) /* 4; r12 */ + movq %r13,40(%rcx) /* 5; r13 */ + movq %r14,48(%rcx) /* 6; r14 */ + movq %r15,56(%rcx) /* 7; r15 */ + fnstcw 64(%rcx) /* 8; fpu cw */ xorq %rax,%rax ret ==== //depot/projects/hammer/sys/amd64/include/setjmp.h#7 (text+ko) ==== @@ -37,7 +37,7 @@ #include -#define _JBLEN 11 /* Size of the jmp_buf on AMD64. */ +#define _JBLEN 12 /* Size of the jmp_buf on AMD64. */ /* * jmp_buf and sigjmp_buf are encapsulated in different structs to force @@ -45,9 +45,9 @@ * internally to avoid some run-time errors for mismatches. */ #if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE -typedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; +typedef struct _sigjmp_buf { long _sjb[_JBLEN]; } sigjmp_buf[1]; #endif -typedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1]; +typedef struct _jmp_buf { long _jb[_JBLEN]; } jmp_buf[1]; #endif /* !_MACHINE_SETJMP_H_ */