diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/i386/dl-trampoline.S | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 58df8983d0..3a00dd5823 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-08-23 Ulrich Drepper <drepper@redhat.com> + [BZ #3924] + * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly + align for function call in case pltexit has to be called later. + * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid implicit atomic operation when storing function pointer. (_dl_runtime_profile): Likewise. diff --git a/sysdeps/i386/dl-trampoline.S b/sysdeps/i386/dl-trampoline.S index 5856a2f8a0..af9eaf6d56 100644 --- a/sysdeps/i386/dl-trampoline.S +++ b/sysdeps/i386/dl-trampoline.S @@ -111,9 +111,10 @@ _dl_runtime_profile: cfi_rel_offset (esi, 0) leal 44(%esp), %esi movl %ebx, %ecx + orl $4, %ebx # Increase frame size if necessary to align + # stack for the function call movl %esp, %edi subl %ebx, %edi - andl $0xfffffff0, %edi # Align stack movl %esp, %ebx cfi_def_cfa_register (ebx) movl %edi, %esp |