socsvn commit: r222672 - in soc2011/xxp/xxp-head: lib/libc/i386/gen lib/libc/i386/string lib/libc/i386/sys sys/i386/include sys/sys

xxp at FreeBSD.org xxp at FreeBSD.org
Wed Jun 1 14:19:30 UTC 2011


Author: xxp
Date: Wed Jun  1 14:19:27 2011
New Revision: 222672
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=222672

Log:
  Annotation to libc-i386

Modified:
  soc2011/xxp/xxp-head/lib/libc/i386/gen/_ctx_start.S
  soc2011/xxp/xxp-head/lib/libc/i386/gen/modf.S
  soc2011/xxp/xxp-head/lib/libc/i386/gen/rfork_thread.S
  soc2011/xxp/xxp-head/lib/libc/i386/gen/setjmp.S
  soc2011/xxp/xxp-head/lib/libc/i386/gen/sigsetjmp.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/bcmp.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/bcopy.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/bzero.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/index.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/memchr.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/memset.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/rindex.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/strcat.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/strchr.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/strcpy.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/strncmp.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/strrchr.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/swab.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/wcschr.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/wcscmp.S
  soc2011/xxp/xxp-head/lib/libc/i386/string/wmemchr.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/Ovfork.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/cerror.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/exect.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/getcontext.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/setlogin.S
  soc2011/xxp/xxp-head/lib/libc/i386/sys/syscall.S
  soc2011/xxp/xxp-head/sys/i386/include/asm.h
  soc2011/xxp/xxp-head/sys/sys/cdefs.h

Modified: soc2011/xxp/xxp-head/lib/libc/i386/gen/_ctx_start.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/gen/_ctx_start.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/gen/_ctx_start.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -40,12 +40,14 @@
  */
 ENTRY(_ctx_start)
 	popl	%eax		/* get start function */
+	cfi_adjust_cfa_offset(-4)
 	call	*%eax		/* call start function */
 	PIC_PROLOGUE
 	movl	%esi, %esp	/*
 				 * setup stack for completion routine;
 				 * ucp is now at top of stack
 				 */
+	cfi_register(%esi,%esp)
 	call	PIC_PLT(_ctx_done)	/* should never return */
 	call	PIC_PLT(abort)		/* fubar */
 	ret

Modified: soc2011/xxp/xxp-head/lib/libc/i386/gen/modf.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/gen/modf.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/gen/modf.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -48,7 +48,10 @@
 
 ENTRY(modf)
 	pushl %ebp
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebp,-8)
 	movl %esp,%ebp
+	cfi_register(%esp,%ebp)
 	/* Check for Inf/NaN */
 	movl 12(%ebp),%eax
 	andl $0x7fffffff,%eax
@@ -56,6 +59,7 @@
 	jae 1f
 	/* Finite value */
 	subl $16,%esp
+	cfi_adjust_cfa_offset(16)
 	fnstcw -12(%ebp)
 	movw -12(%ebp),%dx
 	orw $3072,%dx

Modified: soc2011/xxp/xxp-head/lib/libc/i386/gen/rfork_thread.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/gen/rfork_thread.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/gen/rfork_thread.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -45,8 +45,13 @@
 
 ENTRY(rfork_thread)
 	pushl	%ebp
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebp,-8)
 	movl	%esp, %ebp
+	cif_register(%esp,%ebp)
 	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebp,-12)
 
 	/*
 	 * Push thread info onto the new thread's stack
@@ -65,7 +70,9 @@
 	 * Prepare and execute the thread creation syscall
 	 */
 	pushl	8(%ebp)
+	cfi_adjust_cfa_offset(4)
 	pushl	$0
+	cfi_adjust_cfa_offset(4)
 	movl	$SYS_rfork, %eax
 	KERNCALL
 	jb 	2f
@@ -76,9 +83,14 @@
 	cmpl	$0, %edx
 	jnz	1f
 	addl	$8, %esp
+	cfi_adjust_cfa_offset(-8)
 	popl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_restore(%esi)
 	movl	%ebp, %esp
+	cfi_offset(%ebp,%esp)
 	popl	%ebp
+	cfi_adjust_cfa_offset(-4)
 	ret
 	.p2align 2
 
@@ -89,15 +101,20 @@
 	 */
 1:
 	movl	%esi,%esp
+	cfi_offset(%esi,%esp)
 	popl	%eax 
+	cfi_adjust_cfa_offset(-4)
 	call	*%eax
 	addl	$4, %esp
+	cfi_adjust_cfa_offset(-4)
 
 	/*
 	 * Exit system call
 	 */
 	pushl	%eax
+	cfi_adjust_cfa_offset(4)
 	pushl	$0
+	cfi_adjust_cfa_offset(4)
 #ifdef SYS_exit
 	movl	$SYS_exit, %eax
 #else
@@ -110,9 +127,13 @@
 	 */
 2:
 	addl	$8, %esp
+	cfi_adjust_cfa_offset(-8)
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
 	movl	%ebp, %esp
+	cfi_register(%ebp, %esp)
 	popl	%ebp
+	cfi_adjust_cfa_offset(-4)
 	PIC_PROLOGUE
 	jmp	PIC_PLT(HIDENAME(cerror))
 END(rfork_thread)

Modified: soc2011/xxp/xxp-head/lib/libc/i386/gen/setjmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/gen/setjmp.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/gen/setjmp.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -53,10 +53,15 @@
 	PIC_PROLOGUE
 	leal	28(%ecx), %eax
 	pushl	%eax			/* (sigset_t*)oset */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%eax,-8)
 	pushl	$0			/* (sigset_t*)set  */
+	cfi_adjust_cfa_offset(4)
 	pushl	$1			/* SIG_BLOCK       */
+	cfi_adjust_cfa_offset(4)
 	call	PIC_PLT(CNAME(_sigprocmask))
 	addl	$12,%esp
+	cfi_adjust_cfa_offset(-12)
 	PIC_EPILOGUE
 	movl	4(%esp),%ecx
 	movl	0(%esp),%edx
@@ -77,11 +82,16 @@
 	movl	4(%esp),%edx
 	PIC_PROLOGUE
 	pushl	$0			/* (sigset_t*)oset */
+	cfi_adjust_cfa_offset(4)
 	leal	28(%edx), %eax
 	pushl	%eax			/* (sigset_t*)set  */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%eax,-8)
 	pushl	$3			/* SIG_SETMASK     */
+	cfi_adjust_cfa_offset(4)
 	call	PIC_PLT(CNAME(_sigprocmask))
 	addl	$12,%esp
+	cfi_adjust_cfa_offset(-12)
 	PIC_EPILOGUE
 	movl	4(%esp),%edx
 	movl	8(%esp),%eax

Modified: soc2011/xxp/xxp-head/lib/libc/i386/gen/sigsetjmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/gen/sigsetjmp.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/gen/sigsetjmp.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -62,10 +62,15 @@
 	PIC_PROLOGUE
 	leal	28(%ecx), %eax
 	pushl	%eax			/* (sigset_t*)oset */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%eax,-8)
 	pushl	$0			/* (sigset_t*)set  */
+	cfi_adjust_cfa_offset(4)
 	pushl	$1			/* SIG_BLOCK       */
+	cfi_adjust_cfa_offset(4)
 	call	PIC_PLT(CNAME(_sigprocmask))
 	addl	$12,%esp
+	cfi_adjust_cfa_offset(-12)
 	PIC_EPILOGUE
 	movl	4(%esp),%ecx
 2:	movl	0(%esp),%edx
@@ -88,11 +93,16 @@
 	jz	2f
 	PIC_PROLOGUE
 	pushl	$0			/* (sigset_t*)oset */
+	cfi_adjust_cfa_offset(4)
 	leal	28(%edx), %eax
 	pushl	%eax			/* (sigset_t*)set  */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%eax,-12)
 	pushl	$3			/* SIG_SETMASK     */
+	cfi_adjust_cfa_offset(4)
 	call	PIC_PLT(CNAME(_sigprocmask))
 	addl	$12,%esp
+	cfi_adjust_cfa_offset(-12)
 	PIC_EPILOGUE
 	movl	4(%esp),%edx
 2:	movl	8(%esp),%eax

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/bcmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/bcmp.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/bcmp.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -40,7 +40,11 @@
 
 ENTRY(bcmp)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	pushl	%esi
+	cfi_offset(%esi,-12)
+	cfi_adjust_cfa_offset(4)
 	movl	12(%esp),%edi
 	movl	16(%esp),%esi
 	cld				/* set compare direction forward */
@@ -59,7 +63,11 @@
 	setne	%al
 	movsbl	%al,%eax
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(bcmp)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/bcopy.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/bcopy.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/bcopy.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -51,7 +51,11 @@
 #endif
 #endif
 	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%esi,-8)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%esi,-12)
 #if defined(MEMCOPY) || defined(MEMMOVE)
 	movl	12(%esp),%edi
 	movl	16(%esp),%esi
@@ -75,7 +79,9 @@
 	rep
 	movsb
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
 	ret
 1:
 	addl	%ecx,%edi	/* copy backwards. */
@@ -94,7 +100,11 @@
 	rep
 	movsl
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	popl	%esi
+	cfi_restore(%esi)
+	cfi_adjust_cfa_offset(-4)
 	cld
 	ret
 #ifdef MEMCOPY

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/bzero.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/bzero.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/bzero.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -41,7 +41,11 @@
 
 ENTRY(bzero)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-12)
 	movl	12(%esp),%edi
 	movl	16(%esp),%ecx
 
@@ -77,7 +81,11 @@
 	stosb
 
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(bzero)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/index.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/index.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/index.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -47,6 +47,8 @@
 
 ENTRY(index)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 	movl	8(%esp),%eax
 	movb	12(%esp),%cl
 	.align 2,0x90
@@ -60,6 +62,8 @@
 	xorl	%eax,%eax
 L2:
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 END(index)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/memchr.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/memchr.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/memchr.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -41,6 +41,8 @@
 
 ENTRY(memchr)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	movl	8(%esp),%edi		/* string address */
 	movl	12(%esp),%eax		/* set character to search for */
 	movl	16(%esp),%ecx		/* set length of search */
@@ -55,6 +57,8 @@
 	.align 2,0x90
 L1:	xorl	%eax,%eax
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(memchr)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/memset.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/memset.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/memset.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -42,11 +42,17 @@
 
 ENTRY(memset)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-12)
 	movl	12(%esp),%edi
 	movzbl	16(%esp),%eax		/* unsigned char, zero extend */
 	movl	20(%esp),%ecx
 	pushl	%edi			/* push address of buffer */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-16)
 
 	cld				/* set fill direction forward */
 
@@ -84,8 +90,13 @@
 	stosb
 
 	popl	%eax			/* pop address of buffer */
+	cfi_adjust_cfa_offset(-4)
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(memset)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/rindex.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/rindex.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/rindex.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -47,6 +47,8 @@
  
 ENTRY(rindex)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 	movl	8(%esp),%edx
 	movb	12(%esp),%cl
 	xorl	%eax,%eax		/* init pointer to null */
@@ -61,6 +63,8 @@
 	testb	%bl,%bl			/* null terminator??? */
 	jne	L1
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 END(rindex)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/strcat.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/strcat.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/strcat.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -48,9 +48,13 @@
 
 ENTRY(strcat)
 	pushl	%edi			/* save edi */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	movl	8(%esp),%edi		/* dst address */
 	movl	12(%esp),%edx		/* src address */
 	pushl	%edi			/* push destination address */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-12)
 
 	cld				/* set search forward */
 	xorl	%eax,%eax		/* set search for null terminator */
@@ -96,7 +100,10 @@
 	testb	%al,%al
 	jne	L1
 L2:	popl	%eax			/* pop destination address */
+	cfi_adjust_cfa_offset(-4)
 	popl	%edi			/* restore edi */
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(strcat)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/strchr.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/strchr.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/strchr.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -47,6 +47,8 @@
 
 ENTRY(strchr)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 	movl	8(%esp),%eax
 	movb	12(%esp),%cl
 	.align 2,0x90
@@ -60,6 +62,8 @@
 	xorl	%eax,%eax
 L2:
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 END(strchr)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/strcpy.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/strcpy.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/strcpy.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -49,6 +49,8 @@
 	movl	4(%esp),%ecx		/* dst address */
 	movl	8(%esp),%edx		/* src address */
 	pushl	%ecx			/* push dst address */
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ecx,-8)
 
 	.align 2,0x90
 L1:	movb	(%edx),%al		/* unroll loop, but not too much */
@@ -86,6 +88,8 @@
 	testb	%al,%al
 	jne	L1
 L2:	popl	%eax			/* pop dst address */
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%eax)
 	ret
 END(strcpy)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/strncmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/strncmp.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/strncmp.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -55,6 +55,8 @@
 
 ENTRY(strncmp)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 	movl	8(%esp),%eax
 	movl	12(%esp),%ecx
 	movl	16(%esp),%edx
@@ -159,10 +161,14 @@
 	movzbl	(%ecx),%ecx
 	subl	%ecx,%eax
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 	.align 2,0x90
 L4:	xorl	%eax,%eax
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 END(strncmp)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/strrchr.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/strrchr.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/strrchr.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -47,6 +47,8 @@
 
 ENTRY(strrchr)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 	movl	8(%esp),%edx
 	movb	12(%esp),%cl
 	xorl	%eax,%eax		/* init pointer to null */
@@ -61,6 +63,8 @@
 	testb	%bl,%bl			/* null terminator??? */
 	jne	L1
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	ret
 END(strrchr)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/swab.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/swab.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/swab.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -46,7 +46,11 @@
 
 ENTRY(swab)
 	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%esi,-8)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-12)
 	movl	12(%esp),%esi
 	movl	16(%esp),%edi
 	movl	20(%esp),%ecx
@@ -95,7 +99,11 @@
 	jnz	L3
 
 L4:	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
 	ret
 END(swab)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/wcschr.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/wcschr.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/wcschr.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -37,6 +37,8 @@
 	movl	4(%esp),%ecx		/* String */
 	movl	8(%esp),%eax		/* Character */
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-8)
 .p2align 4,0x90
 L1:	movl	(%ecx),%ebx
 	cmpl	%eax,%ebx
@@ -68,10 +70,14 @@
 found1:	leal	4(%ecx),%ecx
 .p2align 2,0x90
 found0: popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	movl	%ecx,%eax
 	ret
 .p2align 2,0x90
 no:	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	xorl	%eax,%eax
 	ret
 END(wcschr)

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/wcscmp.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/wcscmp.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/wcscmp.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -35,7 +35,11 @@
  */
 ENTRY(wcscmp)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%esi,-12)
 	movl	12(%esp),%edi		/* s1 */
 	movl	16(%esp),%esi		/* s2 */
 .p2align 4,0x90
@@ -64,7 +68,11 @@
 .p2align 2,0x90
 same:	xorl	%eax,%eax
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 .p2align 2,0x90
 no12:	leal	4(%esi),%esi
@@ -75,7 +83,11 @@
 .p2align 2,0x90
 no0:	subl	(%esi),%eax
 	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(wcscmp)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/string/wmemchr.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/string/wmemchr.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/string/wmemchr.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -36,7 +36,11 @@
  */
 ENTRY(wmemchr)
 	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edi,-8)
 	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx,-12)
 	movl	12(%esp),%edi		/* Buffer */
 	movl	16(%esp),%eax		/* Wide character */
 	movl	20(%esp),%ecx		/* Length of buffer */
@@ -101,7 +105,11 @@
 	jnz	smltop
 no:	xorl	%eax,%eax
 	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
 	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
 	ret
 END(wmemchr)
 

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/Ovfork.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/Ovfork.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/Ovfork.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -44,12 +44,14 @@
 	.set	vfork,__sys_vfork
 ENTRY(__sys_vfork)
 	popl	%ecx		/* my rta into ecx */
+	cfi_adjust_cfa_offset(-4)
 	mov	$SYS_vfork,%eax
 	KERNCALL
 	jb	1f
 	jmp	*%ecx
 1:
 	pushl	%ecx
+	cfi_adjust_cfa_offset(4)
 	PIC_PROLOGUE
 	jmp     PIC_PLT(HIDENAME(cerror))
 END(__sys_vfork)

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/cerror.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/cerror.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/cerror.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -49,14 +49,17 @@
 	.type	CNAME(__error), at function
 HIDENAME(cerror):
 	pushl	%eax
+	cfi_adjust_cfa_offset(4)
 #ifdef PIC
 	/* The caller must execute the PIC prologue before jumping to cerror. */
 	call	PIC_PLT(CNAME(__error))
 	popl	%ecx
+	cfi_adjust_cfa_offset(-4)
 	PIC_EPILOGUE
 #else
 	call	CNAME(__error)
 	popl	%ecx
+	cfi_adjust_cfa_offset(-4)
 #endif
 	movl	%ecx,(%eax)
 	movl	$-1,%eax

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/exect.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/exect.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/exect.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -42,10 +42,14 @@
 ENTRY(exect)
 	mov	$SYS_execve,%eax
 	pushf
+	cfi_adjust_cfa_offset(2)
 	popl	%edx
+	cfi_adjust_cfa_offset(-4)
 	orl	$ PSL_T,%edx
 	pushl	%edx
+	cfi_adjust_cfa_offset(4)
 	popf
+	cfi_adjust_cfa_offset(-2)
 	KERNCALL
 	PIC_PROLOGUE
 	jmp	PIC_PLT(HIDENAME(cerror))	/* exect(file, argv, env); */

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/getcontext.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/getcontext.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/getcontext.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -44,6 +44,7 @@
 	KERNCALL
 	jb	1f
 	addl	$4,%esp		/* remove stale (setcontext) return address */
+	cfi_adjust_cfa_offset(-4)
 	jmp	*%ecx		/* restore return address */
 1:
 	PIC_PROLOGUE

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/setlogin.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/setlogin.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/setlogin.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -44,9 +44,11 @@
 #ifdef PIC
 	PIC_PROLOGUE
 	pushl	%eax
+	cfi_adjust_cfa_offset(4)
 	movl	PIC_GOT(CNAME(_logname_valid)),%eax
 	movl	$0,(%eax)
 	popl	%eax
+	cfi_adjust_cfa_offset(-4)
 	PIC_EPILOGUE
 #else
 	movl	$0,CNAME(_logname_valid)

Modified: soc2011/xxp/xxp-head/lib/libc/i386/sys/syscall.S
==============================================================================
--- soc2011/xxp/xxp-head/lib/libc/i386/sys/syscall.S	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/lib/libc/i386/sys/syscall.S	Wed Jun  1 14:19:27 2011	(r222672)
@@ -40,11 +40,15 @@
 
 ENTRY(syscall)
 	pop	%ecx	/* rta */
+	cfi_adjust_cfa_offset(-4)
 	pop	%eax	/* syscall number */
+	cfi_adjust_cfa_offset(-4)
 	push	%ecx
+	cfi_adjust_cfa_offset(4)
 	KERNCALL
 	push	%ecx	/* need to push a word to keep stack frame intact
 			   upon return; the word must be the return address. */
+	cfi_adjust_cfa_offset(4)
 	jb	1f
 	ret
 1:

Modified: soc2011/xxp/xxp-head/sys/i386/include/asm.h
==============================================================================
--- soc2011/xxp/xxp-head/sys/i386/include/asm.h	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/sys/i386/include/asm.h	Wed Jun  1 14:19:27 2011	(r222672)
@@ -41,12 +41,15 @@
 #ifdef PIC
 #define	PIC_PROLOGUE	\
 	pushl	%ebx;	\
+	cfi_adjust_cfa_offset(4);	\
 	call	1f;	\
 1:			\
 	popl	%ebx;	\
+	cfi_adjust_cfa_offset(-4);	\
 	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b],%ebx
 #define	PIC_EPILOGUE	\
-	popl	%ebx
+	popl	%ebx	\
+	cfi_adjust_cfa_offset(-4); 	\
 #define	PIC_PLT(x)	x at PLT
 #define	PIC_GOT(x)	x at GOT(%ebx)
 #else
@@ -70,19 +73,29 @@
 #define _START_ENTRY	.text; .p2align 2,0x90
 
 #define _ENTRY(x)	_START_ENTRY; \
-			.globl CNAME(x); .type CNAME(x), at function; CNAME(x):
-#define	END(x)		.size x, . - x
+			.globl CNAME(x); .type CNAME(x), at function; CNAME(x):; \
+			cfi_startproc;
+#define	END(x)		cfi_endproc; \
+			.size x, . - x
 
 #ifdef PROF
 #define	ALTENTRY(x)	_ENTRY(x); \
-			pushl %ebp; movl %esp,%ebp; \
+			pushl %ebp; \
+			cfi_adjust_cfa_offset(4); cfi_offset(%ebp,-4); \
+			movl %esp,%ebp; \
+			cfi_register(%esp,%ebp); \
 			call PIC_PLT(HIDENAME(mcount)); \
 			popl %ebp; \
+			cfi_def_cfa(%esp,4); cfi_restore(%ebp); \
 			jmp 9f
 #define	ENTRY(x)	_ENTRY(x); \
-			pushl %ebp; movl %esp,%ebp; \
+			pushl %ebp; \
+			cfi_adjust_cfa_offset(4); cfi_offset(%ebp,-4); \
+			movl %esp,%ebp; \
+			cfi_register(%esp,%ebp); cfi_def_cfa_register(%ebp); \
 			call PIC_PLT(HIDENAME(mcount)); \
 			popl %ebp; \
+			cfi_def_cfa(%esp,4); cfi_restore(%ebp); \
 			9:
 #else
 #define	ALTENTRY(x)	_ENTRY(x)

Modified: soc2011/xxp/xxp-head/sys/sys/cdefs.h
==============================================================================
--- soc2011/xxp/xxp-head/sys/sys/cdefs.h	Wed Jun  1 13:15:24 2011	(r222671)
+++ soc2011/xxp/xxp-head/sys/sys/cdefs.h	Wed Jun  1 14:19:27 2011	(r222672)
@@ -574,4 +574,22 @@
 #endif
 #endif
 
+/* Macros to generate eh_frame unwind information. */
+#  define cfi_startproc			.cfi_startproc
+#  define cfi_endproc			.cfi_endproc
+#  define cfi_def_cfa(reg, off)		.cfi_def_cfa reg, off
+#  define cfi_def_cfa_register(reg)	.cfi_def_cfa_register reg
+#  define cfi_def_cfa_offset(off)	.cfi_def_cfa_offset off
+#  define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
+#  define cfi_offset(reg, off)		.cfi_offset reg, off
+#  define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
+#  define cfi_register(r1, r2)		.cfi_register r1, r2
+#  define cfi_return_column(reg)	.cfi_return_column reg
+#  define cfi_restore(reg)		.cfi_restore reg
+#  define cfi_same_value(reg)		.cfi_same_value reg
+#  define cfi_undefined(reg)		.cfi_undefined reg
+#  define cfi_remember_state		.cfi_remember_state
+#  define cfi_restore_state		.cfi_restore_state
+#  define cfi_window_save		.cfi_window_save
+
 #endif /* !_SYS_CDEFS_H_ */


More information about the svn-soc-all mailing list