about summary refs log tree commit diff
path: root/sysdeps/i386/dl-trampoline.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-10-07 05:31:00 +0000
committerUlrich Drepper <drepper@redhat.com>2007-10-07 05:31:00 +0000
commita6fa53288f51eac715cf9899ffe3cfd66e7dc42c (patch)
tree5536782944443a3e3e580c9bcbf7c1e7295bb9ca /sysdeps/i386/dl-trampoline.S
parent506073094cda49a449c421c5b60f60616a6f898a (diff)
downloadglibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.tar.gz
glibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.tar.xz
glibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.zip
[BZ #3924]
	* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
	more little bugs in creating the stack frame when pltexit has to
	be called.
Diffstat (limited to 'sysdeps/i386/dl-trampoline.S')
-rw-r--r--sysdeps/i386/dl-trampoline.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/i386/dl-trampoline.S b/sysdeps/i386/dl-trampoline.S
index af9eaf6d56..73b08ba67e 100644
--- a/sysdeps/i386/dl-trampoline.S
+++ b/sysdeps/i386/dl-trampoline.S
@@ -113,6 +113,7 @@ _dl_runtime_profile:
 	movl %ebx, %ecx
 	orl $4, %ebx		# Increase frame size if necessary to align
 				# stack for the function call
+	andl $~3, %ebx
 	movl %esp, %edi
 	subl %ebx, %edi
 	movl %esp, %ebx
@@ -121,9 +122,9 @@ _dl_runtime_profile:
 	shrl $2, %ecx
 	rep
 	movsl
-	movl (%edi), %esi
+	movl (%ebx), %esi
 	cfi_restore (esi)
-	movl 4(%edi), %edi
+	movl 4(%ebx), %edi
 	cfi_restore (edi)
 	/*
 	   %ebx+40  return address