glibc/sysdeps/unix/sysv/linux/i386
Adhemerval Zanella c50e1c263e x86: Remove arch-specific low level lock implementation
This patch removes the arch-specific x86 assembly implementation for
low level locking and consolidate both 64 bits and 32 bits in a
single implementation.

Different than other architectures, x86 lll_trylock, lll_lock, and
lll_unlock implements a single-thread optimization to avoid atomic
operation, using cmpxchgl instead.  This patch implements by using
the new single-thread.h definitions in a generic way, although using
the previous semantic.

The lll_cond_trylock, lll_cond_lock, and lll_timedlock just use
atomic operations plus calls to lll_lock_wait*.

For __lll_lock_wait_private and __lll_lock_wait the generic implemtation
there is no indication that assembly implementation is required
performance-wise.

Checked on x86_64-linux-gnu and i686-linux-gnu.

	* sysdeps/nptl/lowlevellock.h (__lll_trylock): New macro.
	(lll_trylock): Call __lll_trylock.
	* sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S: Remove file.
	* sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Include
	lowlevellock-futex.h.
2019-05-14 08:48:02 -03:00
..
i686 Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
i786 Move remaining nptl/sysdeps/unix/sysv/linux/i386/ files. 2014-05-14 13:37:40 -07:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
_exit.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
c++-types.data x86: Move abilist files out of nptl/ subdirectories. 2014-05-14 15:45:23 -07:00
clone.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
configure Require Linux kernel 3.2 or later on x86 / x86_64. 2017-05-08 10:45:20 +00:00
configure.ac Require Linux kernel 3.2 or later on x86 / x86_64. 2017-05-08 10:45:20 +00:00
dl-librecon.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dl-procinfo.h Fix output of LD_SHOW_AUXV=1. 2019-03-13 10:45:35 +01:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstatat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
init-first.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
jmp_buf-macros.h Add jmp_buf-macros.h 2017-11-09 05:10:03 -08:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ld.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
libanl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libBrokenLocale.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libc-do-syscall.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
libc.abilist misc: Add twalk_r function 2019-05-02 11:42:51 +02:00
libcrypt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libdl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libm.abilist Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
libnsl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libpthread.abilist nptl: Add abilist symbols for C11 threads 2018-07-24 14:07:18 -03:00
libresolv.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
librt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libthread_db.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libutil.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
localplt.data ld.so: Introduce struct dl_exception 2017-08-10 16:54:57 +02:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
makecontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Makefile i386: Fix i386 sigaction sa_restorer initialization (BZ#21269) 2018-03-05 18:08:27 -03:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readelflib.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shlib-versions Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
smp.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
startup.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscalls.list posix: Consolidate Linux waitpid syscall 2017-05-18 18:06:47 -03:00
sysdep.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
time.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-bz21269.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ucontext_i.sym * sysdeps/unix/sysv/linux/i386/ucontext_i.h: File removed. 2005-12-22 05:18:34 +00:00
Versions Clean pthread functions namespaces for C11 threads 2017-06-23 17:38:17 -03:00
vfork.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00