aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386
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
parent506073094cda49a449c421c5b60f60616a6f898a (diff)
downloadglibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.tar
glibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.tar.gz
glibc-a6fa53288f51eac715cf9899ffe3cfd66e7dc42c.tar.bz2
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')
-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