about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-07-26 05:27:49 +0000
committerUlrich Drepper <drepper@redhat.com>2008-07-26 05:27:49 +0000
commitb41f1d14f2b3055019a7138891e3bdcd9e9c370d (patch)
tree2ada216bf24535972489cfe0f24abbd48cb45214
parent3703468e367995d84b683f27652e03e8f26c94d0 (diff)
downloadglibc-b41f1d14f2b3055019a7138891e3bdcd9e9c370d.tar.gz
glibc-b41f1d14f2b3055019a7138891e3bdcd9e9c370d.tar.xz
glibc-b41f1d14f2b3055019a7138891e3bdcd9e9c370d.zip
* sysdeps/i386/i686/memcmp.S: Fix unwind information.
	Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/i386/i686/memcmp.S5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ee26594c72..510a145eb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-07-25  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/i386/i686/memcmp.S: Fix unwind information.
+	Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.
+
 	[BZ #6698]
 	* stdio-common/_i18n_number.h (_i18n_number_rewrite): Take additional
 	parameter for end of buffer.  If temporary copy is too large use
diff --git a/sysdeps/i386/i686/memcmp.S b/sysdeps/i386/i686/memcmp.S
index 4fa6adea98..24f6804b0c 100644
--- a/sysdeps/i386/i686/memcmp.S
+++ b/sysdeps/i386/i686/memcmp.S
@@ -29,8 +29,7 @@
 #define ENTRANCE	pushl %ebx; cfi_adjust_cfa_offset (4); \
 			cfi_rel_offset (ebx, 0); ENTER
 #define RETURN		popl %ebx; cfi_adjust_cfa_offset (-4); \
-			cfi_restore (ebx); LEAVE; ret; \
-			cfi_adjust_cfa_offset (4); cfi_rel_offset (ebx, 0);
+			cfi_restore (ebx); LEAVE; ret
 
 /* Load an entry in a jump table into EBX.  TABLE is a jump table
    with relative offsets.  INDEX is a register contains the index
@@ -71,6 +70,8 @@ L(bye):
 	xorl	%eax, %eax
 	RETURN
 
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (ebx, 0)
 L(neq):
 	sbbl	%eax, %eax
 	sbbl	$-1, %eax