Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:Update
glibc.i686.26366
pthread-cond-wait-stack-align.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pthread-cond-wait-stack-align.patch of Package glibc.i686.26366
Index: glibc-2.22/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S =================================================================== --- glibc-2.22.orig/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S +++ glibc-2.22/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S @@ -44,6 +44,9 @@ __pthread_cond_timedwait: cfi_lsda(DW_EH_PE_udata4, .LexceptSTART) #endif + subl $4,%esp + cfi_adjust_cfa_offset(4) + pushl %ebp cfi_adjust_cfa_offset(4) cfi_rel_offset(%ebp, 0) @@ -57,10 +60,10 @@ __pthread_cond_timedwait: cfi_adjust_cfa_offset(4) cfi_rel_offset(%ebx, 0) - movl 20(%esp), %ebx - movl 28(%esp), %ebp + movl 24(%esp), %ebx + movl 32(%esp), %ebp - LIBC_PROBE (cond_timedwait, 3, %ebx, 24(%esp), %ebp) + LIBC_PROBE (cond_timedwait, 3, %ebx, 28(%esp), %ebp) cmpl $1000000000, 4(%ebp) movl $EINVAL, %eax @@ -108,7 +111,7 @@ __pthread_cond_timedwait: /* Store the reference to the mutex. If there is already a different value in there this is a bad user bug. */ 2: cmpl $-1, dep_mutex(%ebx) - movl 24(%esp), %eax + movl 28(%esp), %eax je 17f movl %eax, dep_mutex(%ebx) @@ -245,7 +248,7 @@ __pthread_cond_timedwait: ENTER_KERNEL subl $cond_futex, %ebx .Lsub_cond_futex: - movl 28+FRAME_SIZE(%esp), %ebp + movl 32+FRAME_SIZE(%esp), %ebp movl %eax, %esi 41: movl (%esp), %eax @@ -351,7 +354,7 @@ __pthread_cond_timedwait: #endif jne 10f -11: movl 24+FRAME_SIZE(%esp), %eax +11: movl 28+FRAME_SIZE(%esp), %eax /* With requeue_pi, the mutex lock is held in the kernel. */ movl 16(%esp), %ecx testl %ecx, %ecx @@ -384,6 +387,9 @@ __pthread_cond_timedwait: cfi_adjust_cfa_offset(-4) cfi_restore(%ebp) + addl $4,%esp + cfi_adjust_cfa_offset(-4) + ret cfi_restore_state @@ -523,7 +529,7 @@ __pthread_cond_timedwait: /* Store the reference to the mutex. If there is already a different value in there this is a bad user bug. */ 102: cmpl $-1, dep_mutex(%ebx) - movl 24(%esp), %eax + movl 28(%esp), %eax je 117f movl %eax, dep_mutex(%ebx) @@ -887,7 +893,7 @@ __condvar_tw_cleanup: in case of PI mutexes, if we got cancelled after a successful return of the futex syscall and before disabling async cancellation. */ -5: movl 24+FRAME_SIZE(%esp), %eax +5: movl 28+FRAME_SIZE(%esp), %eax movl MUTEX_KIND(%eax), %ebx andl $(ROBUST_BIT|PI_BIT), %ebx cmpl $PI_BIT, %ebx Index: glibc-2.22/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S =================================================================== --- glibc-2.22.orig/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +++ glibc-2.22/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S @@ -45,6 +45,9 @@ __pthread_cond_wait: cfi_lsda(DW_EH_PE_udata4, .LexceptSTART) #endif + subl $4,%esp + cfi_adjust_cfa_offset(4) + pushl %ebp cfi_adjust_cfa_offset(4) cfi_rel_offset(%ebp, 0) @@ -59,9 +62,9 @@ __pthread_cond_wait: cfi_rel_offset(%ebx, 0) xorl %esi, %esi - movl 20(%esp), %ebx + movl 24(%esp), %ebx - LIBC_PROBE (cond_wait, 2, 24(%esp), %ebx) + LIBC_PROBE (cond_wait, 2, 28(%esp), %ebx) /* Get internal lock. */ movl $1, %edx @@ -77,7 +80,7 @@ __pthread_cond_wait: /* Store the reference to the mutex. If there is already a different value in there this is a bad user bug. */ 2: cmpl $-1, dep_mutex(%ebx) - movl 24(%esp), %eax + movl 28(%esp), %eax je 15f movl %eax, dep_mutex(%ebx) @@ -265,7 +268,7 @@ __pthread_cond_wait: jne 10f /* With requeue_pi, the mutex lock is held in the kernel. */ -11: movl 24+FRAME_SIZE(%esp), %eax +11: movl 28+FRAME_SIZE(%esp), %eax movl 16(%esp), %ecx testl %ecx, %ecx jnz 21f @@ -287,6 +290,9 @@ __pthread_cond_wait: cfi_adjust_cfa_offset(-4) cfi_restore(%ebp) + addl $4,%esp + cfi_adjust_cfa_offset(-4) + /* We return the result of the mutex_lock operation. */ ret @@ -570,7 +576,7 @@ __condvar_w_cleanup: in case of PI mutexes, if we got cancelled after a successful return of the futex syscall and before disabling async cancellation. */ -5: movl 24+FRAME_SIZE(%esp), %eax +5: movl 28+FRAME_SIZE(%esp), %eax movl MUTEX_KIND(%eax), %ebx andl $(ROBUST_BIT|PI_BIT), %ebx cmpl $PI_BIT, %ebx
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor