summary refs log tree commit diff
path: root/sysdeps/i386/i586
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /sysdeps/i386/i586
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.xz
glibc-a334319f6530564d22e775935d9c91663623a1b4.zip
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'sysdeps/i386/i586')
-rw-r--r--sysdeps/i386/i586/add_n.S20
-rw-r--r--sysdeps/i386/i586/addmul_1.S30
-rw-r--r--sysdeps/i386/i586/lshift.S37
-rw-r--r--sysdeps/i386/i586/memcpy.S10
-rw-r--r--sysdeps/i386/i586/memset.S6
-rw-r--r--sysdeps/i386/i586/memusage.h1
-rw-r--r--sysdeps/i386/i586/mul_1.S30
-rw-r--r--sysdeps/i386/i586/rshift.S37
-rw-r--r--sysdeps/i386/i586/strchr.S35
-rw-r--r--sysdeps/i386/i586/strcpy.S16
-rw-r--r--sysdeps/i386/i586/sub_n.S20
-rw-r--r--sysdeps/i386/i586/submul_1.S30
12 files changed, 38 insertions, 234 deletions
diff --git a/sysdeps/i386/i586/add_n.S b/sysdeps/i386/i586/add_n.S
index 57706b23b4..c2afc37ee3 100644
--- a/sysdeps/i386/i586/add_n.S
+++ b/sysdeps/i386/i586/add_n.S
@@ -1,6 +1,6 @@
 /* Pentium __mpn_add_n -- Add two limb vectors of the same length > 0 and store
    sum in a third limb vector.
-   Copyright (C) 1992,94,95,96,97,98,2000,2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -34,20 +34,13 @@ ENTRY (BP_SYM (__mpn_add_n))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 
 	movl	RES(%esp),%edi
-	cfi_rel_offset (edi, 12)
 	movl	S1(%esp),%esi
-	cfi_rel_offset (esi, 8)
 	movl	S2(%esp),%ebx
-	cfi_rel_offset (ebx, 0)
 	movl	SIZE(%esp),%ecx
 #if __BOUNDED_POINTERS__
 	shll	$2, %ecx		/* convert limbs to bytes */
@@ -57,7 +50,6 @@ ENTRY (BP_SYM (__mpn_add_n))
 	shrl	$2, %ecx
 #endif
 	movl	(%ebx),%ebp
-	cfi_rel_offset (ebp, 4)
 
 	decl	%ecx
 	movl	%ecx,%edx
@@ -66,7 +58,6 @@ ENTRY (BP_SYM (__mpn_add_n))
 	testl	%ecx,%ecx		/* zero carry flag */
 	jz	L(end)
 	pushl	%edx
-	cfi_adjust_cfa_offset (4)
 
 	ALIGN (3)
 L(oop):	movl	28(%edi),%eax		/* fetch destination cache line */
@@ -114,7 +105,6 @@ L(4):	movl	24(%esi),%eax
 	jnz	L(oop)
 
 	popl	%edx
-	cfi_adjust_cfa_offset (-4)
 L(end):
 	decl	%edx			/* test %edx w/o clobbering carry */
 	js	L(end2)
@@ -138,17 +128,9 @@ L(end2):
 	negl	%eax
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/addmul_1.S b/sysdeps/i386/i586/addmul_1.S
index 1890c5dfa1..9329637fe2 100644
--- a/sysdeps/i386/i586/addmul_1.S
+++ b/sysdeps/i386/i586/addmul_1.S
@@ -1,6 +1,6 @@
 /* Pentium __mpn_addmul_1 -- Multiply a limb vector with a limb and add
    the result to a second limb vector.
-   Copyright (C) 1992, 94, 96, 97, 98, 00, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 96, 97, 98, 00 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -38,22 +38,15 @@
 ENTRY (BP_SYM (__mpn_addmul_1))
 	ENTER
 
-	pushl	%res_ptr
-	cfi_adjust_cfa_offset (4)
-	pushl	%s1_ptr
-	cfi_adjust_cfa_offset (4)
+	pushl	%edi
+	pushl	%esi
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
-	pushl	%s2_limb
-	cfi_adjust_cfa_offset (4)
+	pushl	%ebx
 
 	movl	RES(%esp), %res_ptr
-	cfi_rel_offset (res_ptr, 12)
 	movl	S1(%esp), %s1_ptr
-	cfi_rel_offset (s1_ptr, 8)
 	movl	SIZE(%esp), %size
 	movl	S2LIMB(%esp), %s2_limb
-	cfi_rel_offset (s2_limb, 0)
 #if __BOUNDED_POINTERS__
 	shll	$2, %size	/* convert limbs to bytes */
 	CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %size)
@@ -64,7 +57,6 @@ ENTRY (BP_SYM (__mpn_addmul_1))
 	leal	(%s1_ptr,%size,4), %s1_ptr
 	negl	%size
 	xorl	%ebp, %ebp
-	cfi_rel_offset (ebp, 4)
 	ALIGN (3)
 
 L(oop):	adcl	$0, %ebp
@@ -86,18 +78,10 @@ L(oop):	adcl	$0, %ebp
 
 	adcl	$0, %ebp
 	movl	%ebp, %eax
-	popl	%s2_limb
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s2_limb)
+	popl	%ebx
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
-	popl	%s1_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s1_ptr)
-	popl	%res_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (res_ptr)
+	popl	%esi
+	popl	%edi
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/lshift.S b/sysdeps/i386/i586/lshift.S
index bc73ee6f3c..59d587934e 100644
--- a/sysdeps/i386/i586/lshift.S
+++ b/sysdeps/i386/i586/lshift.S
@@ -1,5 +1,5 @@
 /* Pentium optimized __mpn_lshift --
-   Copyright (C) 1992,94,95,96,97,98,2000,2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,21 +33,13 @@ ENTRY (BP_SYM (__mpn_lshift))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (ebp, 0)
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 
 	movl	RES(%esp),%edi
-	cfi_rel_offset (edi, 12)
 	movl	S(%esp),%esi
-	cfi_rel_offset (esi, 8)
 	movl	SIZE(%esp),%ebx
-	cfi_rel_offset (ebx, 0)
 	movl	CNT(%esp),%ecx
 #if __BOUNDED_POINTERS__
 	shll	$2, %ebx		/* convert limbs to bytes */
@@ -75,11 +67,9 @@ L(normal):
 	xorl	%eax,%eax
 	shldl	%cl,%edx,%eax		/* compute carry limb */
 	pushl	%eax			/* push carry limb onto stack */
-	cfi_adjust_cfa_offset (4)
 
 	decl	%ebx
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 	shrl	$3,%ebx
 	jz	L(end)
 
@@ -123,7 +113,6 @@ L(oop):	movl	-28(%edi),%eax		/* fetch destination cache line */
 	jnz	L(oop)
 
 L(end):	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
 	andl	$7,%ebx
 	jz	L(end2)
 L(oop2):
@@ -141,20 +130,11 @@ L(end2):
 	movl	%edx,(%edi)		/* store it */
 
 	popl	%eax			/* pop carry limb */
-	cfi_adjust_cfa_offset (-4)
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
@@ -164,18 +144,12 @@ L(end2):
    function is documented to work for overlapping source and destination.
 */
 
-	cfi_adjust_cfa_offset (16)
-	cfi_rel_offset (edi, 12)
-	cfi_rel_offset (esi, 8)
-	cfi_rel_offset (ebp, 4)
-	cfi_rel_offset (ebx, 0)
 L(special):
 	movl	(%esi),%edx
 	addl	$4,%esi
 
 	decl	%ebx
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 	shrl	$3,%ebx
 
 	addl	%edx,%edx
@@ -225,7 +199,6 @@ L(Loop):
 
 L(Lend):
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
 	sbbl	%eax,%eax		/* save carry in %eax */
 	andl	$7,%ebx
 	jz	L(Lend2)
@@ -250,17 +223,9 @@ L(L1):	movl	%edx,(%edi)		/* store last limb */
 	negl	%eax
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S
index 6ab457fc55..d8181ffa1b 100644
--- a/sysdeps/i386/i586/memcpy.S
+++ b/sysdeps/i386/i586/memcpy.S
@@ -1,5 +1,5 @@
 /* Highly optimized version for i586.
-   Copyright (C) 1997, 2000, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -39,14 +39,10 @@ ENTRY (BP_SYM (memcpy))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 
 	movl	DEST(%esp), %edi
-	cfi_rel_offset (edi, 4)
 	movl	SRC(%esp), %esi
-	cfi_rel_offset (esi, 0)
 	movl	LEN(%esp), %ecx
 	CHECK_BOUNDS_BOTH_WIDE (%edi, DEST(%esp), %ecx)
 	CHECK_BOUNDS_BOTH_WIDE (%esi, SRC(%esp), %ecx)
@@ -115,11 +111,7 @@ L(1):	rep; movsb
 #endif
 
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	RET_PTR
diff --git a/sysdeps/i386/i586/memset.S b/sysdeps/i386/i586/memset.S
index c21e9f7a71..0b59849f9e 100644
--- a/sysdeps/i386/i586/memset.S
+++ b/sysdeps/i386/i586/memset.S
@@ -1,6 +1,6 @@
 /* memset/bzero -- set memory area to CH/0
    Highly optimized version for ix86, x>=5.
-   Copyright (C) 1996, 1997, 2000, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Torbjorn Granlund, <tege@matematik.su.se>
 
@@ -42,10 +42,8 @@ ENTRY (BP_SYM (memset))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 
 	movl	DEST(%esp), %edi
-	cfi_rel_offset (edi, 0)
 	movl	LEN(%esp), %edx
 	CHECK_BOUNDS_BOTH_WIDE (%edi, DEST(%esp), %edx)
 #if BZERO_P
@@ -108,8 +106,6 @@ L(2):	shrl	$2, %ecx	/* convert byte count to longword count */
 	RETURN_BOUNDED_POINTER (DEST(%esp))
 #endif
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 #if BZERO_P
diff --git a/sysdeps/i386/i586/memusage.h b/sysdeps/i386/i586/memusage.h
deleted file mode 100644
index c8170874d0..0000000000
--- a/sysdeps/i386/i586/memusage.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../i686/memusage.h"
diff --git a/sysdeps/i386/i586/mul_1.S b/sysdeps/i386/i586/mul_1.S
index 15765d758f..f7865697e6 100644
--- a/sysdeps/i386/i586/mul_1.S
+++ b/sysdeps/i386/i586/mul_1.S
@@ -1,6 +1,6 @@
 /* Pentium __mpn_mul_1 -- Multiply a limb vector with a limb and store
    the result in a second limb vector.
-   Copyright (C) 1992, 94, 96, 97, 98, 00, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 96, 97, 98, 00 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -38,22 +38,15 @@
 ENTRY (BP_SYM (__mpn_mul_1))
 	ENTER
 
-	pushl	%res_ptr
-	cfi_adjust_cfa_offset (4)
-	pushl	%s1_ptr
-	cfi_adjust_cfa_offset (4)
+	pushl	%edi
+	pushl	%esi
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
-	pushl	%s2_limb
-	cfi_adjust_cfa_offset (4)
+	pushl	%ebx
 
 	movl	RES(%esp), %res_ptr
-	cfi_rel_offset (res_ptr, 12)
 	movl	S1(%esp), %s1_ptr
-	cfi_rel_offset (s1_ptr, 8)
 	movl	SIZE(%esp), %size
 	movl	S2LIMB(%esp), %s2_limb
-	cfi_rel_offset (s2_limb, 0)
 #if __BOUNDED_POINTERS__
 	shll	$2, %size	/* convert limbs to bytes */
 	CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %size)
@@ -64,7 +57,6 @@ ENTRY (BP_SYM (__mpn_mul_1))
 	leal	(%s1_ptr,%size,4), %s1_ptr
 	negl	%size
 	xorl	%ebp, %ebp
-	cfi_rel_offset (ebp, 4)
 	ALIGN (3)
 
 L(oop):	adcl	$0, %ebp
@@ -82,18 +74,10 @@ L(oop):	adcl	$0, %ebp
 
 	adcl	$0, %ebp
 	movl	%ebp, %eax
-	popl	%s2_limb
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s2_limb)
+	popl	%ebx
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
-	popl	%s1_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s1_ptr)
-	popl	%res_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (res_ptr)
+	popl	%esi
+	popl	%edi
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/rshift.S b/sysdeps/i386/i586/rshift.S
index 7b88289d3e..db9326a442 100644
--- a/sysdeps/i386/i586/rshift.S
+++ b/sysdeps/i386/i586/rshift.S
@@ -1,5 +1,5 @@
 /* Pentium optimized __mpn_rshift --
-   Copyright (C) 1992,94,95,96,97,98,2000,2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -33,21 +33,13 @@ ENTRY (BP_SYM (__mpn_rshift))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (ebp, 0)
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 
 	movl	RES(%esp),%edi
-	cfi_rel_offset (edi, 12)
 	movl	S(%esp),%esi
-	cfi_rel_offset (esi, 8)
 	movl	SIZE(%esp),%ebx
-	cfi_rel_offset (ebx, 0)
 	movl	CNT(%esp),%ecx
 #if __BOUNDED_POINTERS__
 	shll	$2, %ebx		/* convert limbs to bytes */
@@ -72,11 +64,9 @@ L(normal):
 	xorl	%eax,%eax
 	shrdl	%cl,%edx,%eax		/* compute carry limb */
 	pushl	%eax			/* push carry limb onto stack */
-	cfi_adjust_cfa_offset (4)
 
 	decl	%ebx
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 	shrl	$3,%ebx
 	jz	L(end)
 
@@ -120,7 +110,6 @@ L(oop):	movl	28(%edi),%eax		/* fetch destination cache line */
 	jnz	L(oop)
 
 L(end):	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
 	andl	$7,%ebx
 	jz	L(end2)
 L(oop2):
@@ -138,20 +127,11 @@ L(end2):
 	movl	%edx,(%edi)		/* store it */
 
 	popl	%eax			/* pop carry limb */
-	cfi_adjust_cfa_offset (-4)
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
@@ -161,11 +141,6 @@ L(end2):
    function is documented to work for overlapping source and destination.
 */
 
-	cfi_adjust_cfa_offset (16)
-	cfi_rel_offset (edi, 12)
-	cfi_rel_offset (esi, 8)
-	cfi_rel_offset (ebp, 4)
-	cfi_rel_offset (ebx, 0)
 L(special):
 	leal	-4(%edi,%ebx,4),%edi
 	leal	-4(%esi,%ebx,4),%esi
@@ -175,7 +150,6 @@ L(special):
 
 	decl	%ebx
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 	shrl	$3,%ebx
 
 	shrl	$1,%edx
@@ -225,7 +199,6 @@ L(Loop):
 
 L(Lend):
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
 	sbbl	%eax,%eax		/* save carry in %eax */
 	andl	$7,%ebx
 	jz	L(Lend2)
@@ -250,17 +223,9 @@ L(L1):	movl	%edx,(%edi)		/* store last limb */
 	rcrl	$1,%eax
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/strchr.S b/sysdeps/i386/i586/strchr.S
index 136b19a3f3..9df504d335 100644
--- a/sysdeps/i386/i586/strchr.S
+++ b/sysdeps/i386/i586/strchr.S
@@ -1,6 +1,6 @@
 /* Find character CH in a NUL terminated string.
    Highly optimized version for ix85, x>=5.
-   Copyright (C) 1995,1996,1997,2000,2003,2005 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
 
@@ -47,21 +47,16 @@ ENTRY (BP_SYM (strchr))
 	ENTER
 
 	pushl %edi		/* Save callee-safe registers.  */
-	cfi_adjust_cfa_offset (-4)
 	pushl %esi
-	cfi_adjust_cfa_offset (-4)
 
 	pushl %ebx
-	cfi_adjust_cfa_offset (-4)
 	pushl %ebp
-	cfi_adjust_cfa_offset (-4)
 
 	movl STR(%esp), %eax
 	movl CHR(%esp), %edx
 	CHECK_BOUNDS_LOW (%eax, STR(%esp))
 
 	movl %eax, %edi		/* duplicate string pointer for later */
-	cfi_rel_offset (edi, 12)
 	xorl %ecx, %ecx		/* clear %ecx */
 
 	/* At the moment %edx contains C.  What we need for the
@@ -112,10 +107,6 @@ L(0):	movb (%eax), %cl	/* load single byte */
 
 	incl %eax		/* increment pointer */
 
-	cfi_rel_offset (esi, 8)
-	cfi_rel_offset (ebx, 4)
-	cfi_rel_offset (ebp, 0)
-
 	/* The following code is the preparation for the loop.  The
 	   four instruction up to `L1' will not be executed in the loop
 	   because the same code is found at the end of the loop, but
@@ -292,28 +283,15 @@ L(5):	subl $4, %eax		/* adjust pointer */
 
 L(2):	CHECK_BOUNDS_HIGH (%eax, STR(%esp), jb)
 	RETURN_BOUNDED_POINTER (STR(%esp))
-L(out):	popl %ebp		/* restore saved registers */
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
+	popl %ebp		/* restore saved registers */
 	popl %ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 
 	popl %esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl %edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	RET_PTR
 
-	cfi_adjust_cfa_offset (16)
-	cfi_rel_offset (edi, 12)
-	cfi_rel_offset (esi, 8)
-	cfi_rel_offset (ebx, 4)
-	cfi_rel_offset (ebp, 0)
 	/* We know there is a NUL byte in the word.  But we have to test
 	   whether there is an C byte before it in the word.  */
 L(4):	subl $4, %eax		/* adjust pointer */
@@ -349,7 +327,14 @@ L(4):	subl $4, %eax		/* adjust pointer */
 
 L(3):	xorl %eax, %eax
 	RETURN_NULL_BOUNDED_POINTER
-	jmp L(out)
+	popl %ebp		/* restore saved registers */
+	popl %ebx
+
+	popl %esi
+	popl %edi
+
+	LEAVE
+	RET_PTR
 END (BP_SYM (strchr))
 
 #undef index
diff --git a/sysdeps/i386/i586/strcpy.S b/sysdeps/i386/i586/strcpy.S
index 5426e59749..f7c1986b4b 100644
--- a/sysdeps/i386/i586/strcpy.S
+++ b/sysdeps/i386/i586/strcpy.S
@@ -1,5 +1,5 @@
 /* strcpy/stpcpy implementation for i586.
-   Copyright (C) 1997, 2000, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -39,16 +39,11 @@ ENTRY (BP_SYM (STRCPY))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 
 	movl	DEST(%esp), %edi
-	cfi_rel_offset (edi, 8)
 	movl	SRC(%esp), %esi
-	cfi_rel_offset (esi, 4)
 	CHECK_BOUNDS_LOW (%edi, DEST(%esp))
 	CHECK_BOUNDS_LOW (%esi, SRC(%esp))
 
@@ -56,14 +51,11 @@ ENTRY (BP_SYM (STRCPY))
 	leal	-1(%esi), %ecx
 
 	movl	$magic, %ebx
-	cfi_rel_offset (ebx, 0)
 	andl	$3, %ecx
 
 #ifdef PIC
 	call	2f
-	cfi_adjust_cfa_offset (4)
 2:	popl	%edx
-	cfi_adjust_cfa_offset (-4)
 	/* 0xb is the distance between 2: and 1: but we avoid writing
 	   1f-2b because the assembler generates worse code.  */
 	leal	0xb(%edx,%ecx,8), %ecx
@@ -161,14 +153,8 @@ L(end2):
 #endif
 	RETURN_BOUNDED_POINTER (DEST(%esp))
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	RET_PTR
diff --git a/sysdeps/i386/i586/sub_n.S b/sysdeps/i386/i586/sub_n.S
index 7c32c1adb6..fcc9cba4ad 100644
--- a/sysdeps/i386/i586/sub_n.S
+++ b/sysdeps/i386/i586/sub_n.S
@@ -1,6 +1,6 @@
 /* Pentium __mpn_sub_n -- Subtract two limb vectors of the same length > 0
    and store difference in a third limb vector.
-   Copyright (C) 1992,94,95,96,97,98,2000,2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -34,20 +34,13 @@ ENTRY (BP_SYM (__mpn_sub_n))
 	ENTER
 
 	pushl	%edi
-	cfi_adjust_cfa_offset (4)
 	pushl	%esi
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
 	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
 
 	movl	RES(%esp),%edi
-	cfi_rel_offset (edi, 12)
 	movl	S1(%esp),%esi
-	cfi_rel_offset (esi, 8)
 	movl	S2(%esp),%ebx
-	cfi_rel_offset (ebx, 0)
 	movl	SIZE(%esp),%ecx
 #if __BOUNDED_POINTERS__
 	shll	$2, %ecx	/* convert limbs to bytes */
@@ -57,7 +50,6 @@ ENTRY (BP_SYM (__mpn_sub_n))
 	shrl	$2, %ecx
 #endif
 	movl	(%ebx),%ebp
-	cfi_rel_offset (ebp, 4)
 
 	decl	%ecx
 	movl	%ecx,%edx
@@ -66,7 +58,6 @@ ENTRY (BP_SYM (__mpn_sub_n))
 	testl	%ecx,%ecx		/* zero carry flag */
 	jz	L(end)
 	pushl	%edx
-	cfi_adjust_cfa_offset (4)
 
 	ALIGN (3)
 L(oop):	movl	28(%edi),%eax		/* fetch destination cache line */
@@ -114,7 +105,6 @@ L(4):	movl	24(%esi),%eax
 	jnz	L(oop)
 
 	popl	%edx
-	cfi_adjust_cfa_offset (-4)
 L(end):
 	decl	%edx			/* test %edx w/o clobbering carry */
 	js	L(end2)
@@ -138,17 +128,9 @@ L(end2):
 	negl	%eax
 
 	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
 	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
 	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
 
 	LEAVE
 	ret
diff --git a/sysdeps/i386/i586/submul_1.S b/sysdeps/i386/i586/submul_1.S
index e8bc6478c1..542200110f 100644
--- a/sysdeps/i386/i586/submul_1.S
+++ b/sysdeps/i386/i586/submul_1.S
@@ -1,6 +1,6 @@
 /* Pentium __mpn_submul_1 -- Multiply a limb vector with a limb and subtract
    the result from a second limb vector.
-   Copyright (C) 1992, 94, 96, 97, 98, 00, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1992, 94, 96, 97, 98, 00 Free Software Foundation, Inc.
    This file is part of the GNU MP Library.
 
    The GNU MP Library is free software; you can redistribute it and/or modify
@@ -38,22 +38,15 @@
 ENTRY (BP_SYM (__mpn_submul_1))
 	ENTER
 
-	pushl	%res_ptr
-	cfi_adjust_cfa_offset (4)
-	pushl	%s1_ptr
-	cfi_adjust_cfa_offset (4)
+	pushl	%edi
+	pushl	%esi
 	pushl	%ebp
-	cfi_adjust_cfa_offset (4)
-	pushl	%s2_limb
-	cfi_adjust_cfa_offset (4)
+	pushl	%ebx
 
 	movl	RES(%esp), %res_ptr
-	cfi_rel_offset (res_ptr, 12)
 	movl	S1(%esp), %s1_ptr
-	cfi_rel_offset (s1_ptr, 8)
 	movl	SIZE(%esp), %size
 	movl	S2LIMB(%esp), %s2_limb
-	cfi_rel_offset (s2_limb, 0)
 #if __BOUNDED_POINTERS__
 	shll	$2, %sizeP	/* convert limbs to bytes */
 	CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %sizeP)
@@ -64,7 +57,6 @@ ENTRY (BP_SYM (__mpn_submul_1))
 	leal	(%s1_ptr,%size,4), %s1_ptr
 	negl	%size
 	xorl	%ebp, %ebp
-	cfi_rel_offset (ebp, 4)
 	ALIGN (3)
 
 L(oop):	adcl	$0, %ebp
@@ -86,18 +78,10 @@ L(oop):	adcl	$0, %ebp
 
 	adcl	$0, %ebp
 	movl	%ebp, %eax
-	popl	%s2_limb
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s2_limb)
+	popl	%ebx
 	popl	%ebp
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebp)
-	popl	%s1_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (s1_ptr)
-	popl	%res_ptr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (res_ptr)
+	popl	%esi
+	popl	%edi
 
 	LEAVE
 	ret