2002-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Correct
	access to __libc_locking_needed for PIC.
This commit is contained in:
Ulrich Drepper 2002-12-12 18:26:13 +00:00
parent aa80bf8661
commit 22f2067436
3 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2002-12-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Correct
access to __libc_locking_needed for PIC.
2002-12-12 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-lock.h (__libc_locking_needed): Only

View File

@ -48,7 +48,13 @@ __lll_lock_wait:
orl $-1, %eax /* Load -1. */
#ifndef UP
# ifdef PIC
call __i686.get_pc_thunk.bx
addl $_GLOBAL_OFFSET_TABLE_, %ebx
cmpl $0, __libc_locking_needed@GOTOFF(%ebx)
# else
cmpl $0, __libc_locking_needed
# endif
je,pt 0f
lock
0:
@ -77,7 +83,13 @@ lll_unlock_wake_cb:
movl 20(%esp), %ebx
#ifndef UP
# ifdef PIC
call __i686.get_pc_thunk.bx
addl $_GLOBAL_OFFSET_TABLE_, %ebx
cmpl $0, __libc_locking_needed@GOTOFF(%ebx)
# else
cmpl $0, __libc_locking_needed
# endif
je,pt 0f
lock
0:
@ -182,3 +194,12 @@ __lll_timedwait_tid:
6: movl $ETIMEDOUT, %eax
jmp 3b
.size __lll_timedwait_tid,.-__lll_timedwait_tid
.section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
.globl __i686.get_pc_thunk.bx
.hidden __i686.get_pc_thunk.bx
.type __i686.get_pc_thunk.bx,@function
__i686.get_pc_thunk.bx:
movl (%esp), %ebx
ret

View File

@ -94,6 +94,7 @@
__i686.get_pc_thunk.reg: \
movl (%esp), %e##reg; \
ret; \
.size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg; \
.previous; \
call __i686.get_pc_thunk.reg
# endif