about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/Makefile3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-conf.c81
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-conf.h43
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-lock.c95
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-timed.c26
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-trylock.c71
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c33
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/force-elision.h31
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/hle.h75
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/init-arch.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/init-arch.h1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c22
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c22
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c22
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c22
15 files changed, 0 insertions, 548 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/Makefile b/nptl/sysdeps/unix/sysv/linux/x86/Makefile
deleted file mode 100644
index 61b7552bc9..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-libpthread-sysdep_routines += init-arch
-libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
-			      elision-trylock
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.c b/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.c
deleted file mode 100644
index e6f5d6d1ab..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* elision-conf.c: Lock elision tunable parameters.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-#include <pthreadP.h>
-#include <init-arch.h>
-#include <elision-conf.h>
-#include <unistd.h>
-
-/* Reasonable initial tuning values, may be revised in the future.
-   This is a conservative initial value.  */
-
-struct elision_config __elision_aconf =
-  {
-    /* How often to not attempt to use elision if a transaction aborted
-       because the lock is already acquired.  Expressed in number of lock
-       acquisition attempts.  */
-    .skip_lock_busy = 3,
-    /* How often to not attempt to use elision if a transaction aborted due
-       to reasons other than other threads' memory accesses.  Expressed in
-       number of lock acquisition attempts.  */
-    .skip_lock_internal_abort = 3,
-    /* How often we retry using elision if there is chance for the transaction
-       to finish execution (e.g., it wasn't aborted due to the lock being
-       already acquired.  */
-    .retry_try_xbegin = 3,
-    /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock.  */
-    .skip_trylock_internal_abort = 3,
-  };
-
-/* Set when the CPU supports elision.  When false elision is never attempted.
- */
-
-int __elision_available attribute_hidden;
-
-/* Force elision for all new locks.  This is used to decide whether existing
-   DEFAULT locks should be automatically upgraded to elision in
-   pthread_mutex_lock().  Disabled for suid programs.  Only used when elision
-   is available.  */
-
-int __pthread_force_elision attribute_hidden;
-
-/* Initialize elison.  */
-
-static void
-elision_init (int argc __attribute__ ((unused)),
-	      char **argv  __attribute__ ((unused)),
-	      char **environ)
-{
-  __elision_available = HAS_RTM;
-#ifdef ENABLE_LOCK_ELISION
-  __pthread_force_elision = __libc_enable_secure ? 0 : __elision_available;
-#endif
-}
-
-#ifdef SHARED
-# define INIT_SECTION ".init_array"
-#else
-# define INIT_SECTION ".preinit_array"
-#endif
-
-void (*const __pthread_init_array []) (int, char **, char **)
-  __attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
-{
-  &elision_init
-};
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.h b/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.h
deleted file mode 100644
index 6790b5aa13..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-conf.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* elision-conf.h: Lock elision tunable parameters.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-#ifndef _ELISION_CONF_H
-#define _ELISION_CONF_H 1
-
-#include <pthread.h>
-#include <cpuid.h>
-#include <time.h>
-
-/* Should make sure there is no false sharing on this.  */
-
-struct elision_config
-{
-  int skip_lock_busy;
-  int skip_lock_internal_abort;
-  int retry_try_xbegin;
-  int skip_trylock_internal_abort;
-};
-
-extern struct elision_config __elision_aconf attribute_hidden;
-
-extern int __elision_available attribute_hidden;
-extern int __pthread_force_elision attribute_hidden;
-
-/* Tell the test suite to test elision for this architecture.  */
-#define HAVE_ELISION 1
-
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-lock.c b/nptl/sysdeps/unix/sysv/linux/x86/elision-lock.c
deleted file mode 100644
index 385ac31a52..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-lock.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* elision-lock.c: Elided pthread mutex lock.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <pthread.h>
-#include "pthreadP.h"
-#include "lowlevellock.h"
-#include "hle.h"
-#include <elision-conf.h>
-
-#if !defined(LLL_LOCK) && !defined(EXTRAARG)
-/* Make sure the configuration code is always linked in for static
-   libraries.  */
-#include "elision-conf.c"
-#endif
-
-#ifndef EXTRAARG
-#define EXTRAARG
-#endif
-#ifndef LLL_LOCK
-#define LLL_LOCK(a,b) lll_lock(a,b), 0
-#endif
-
-#define aconf __elision_aconf
-
-/* Adaptive lock using transactions.
-   By default the lock region is run as a transaction, and when it
-   aborts or the lock is busy the lock adapts itself.  */
-
-int
-__lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private)
-{
-  if (*adapt_count <= 0)
-    {
-      unsigned status;
-      int try_xbegin;
-
-      for (try_xbegin = aconf.retry_try_xbegin;
-	   try_xbegin > 0;
-	   try_xbegin--)
-	{
-	  if ((status = _xbegin()) == _XBEGIN_STARTED)
-	    {
-	      if (*futex == 0)
-		return 0;
-
-	      /* Lock was busy.  Fall back to normal locking.
-		 Could also _xend here but xabort with 0xff code
-		 is more visible in the profiler.  */
-	      _xabort (_ABORT_LOCK_BUSY);
-	    }
-
-	  if (!(status & _XABORT_RETRY))
-	    {
-	      if ((status & _XABORT_EXPLICIT)
-			&& _XABORT_CODE (status) == _ABORT_LOCK_BUSY)
-	        {
-		  /* Right now we skip here.  Better would be to wait a bit
-		     and retry.  This likely needs some spinning.  */
-		  if (*adapt_count != aconf.skip_lock_busy)
-		    *adapt_count = aconf.skip_lock_busy;
-		}
-	      /* Internal abort.  There is no chance for retry.
-		 Use the normal locking and next time use lock.
-		 Be careful to avoid writing to the lock.  */
-	      else if (*adapt_count != aconf.skip_lock_internal_abort)
-		*adapt_count = aconf.skip_lock_internal_abort;
-	      break;
-	    }
-	}
-    }
-  else
-    {
-      /* Use a normal lock until the threshold counter runs out.
-	 Lost updates possible.  */
-      (*adapt_count)--;
-    }
-
-  /* Use a normal lock here.  */
-  return LLL_LOCK ((*futex), private);
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-timed.c b/nptl/sysdeps/unix/sysv/linux/x86/elision-timed.c
deleted file mode 100644
index 4fdaa0f9e9..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-timed.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* elision-timed.c: Lock elision timed lock.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <time.h>
-#include <elision-conf.h>
-#include "lowlevellock.h"
-#define __lll_lock_elision __lll_timedlock_elision
-#define EXTRAARG const struct timespec *t,
-#undef LLL_LOCK
-#define LLL_LOCK(a, b) lll_timedlock(a, t, b)
-#include "elision-lock.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-trylock.c b/nptl/sysdeps/unix/sysv/linux/x86/elision-trylock.c
deleted file mode 100644
index a478ac18e3..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-trylock.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* elision-trylock.c: Lock eliding trylock for pthreads.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <pthread.h>
-#include <pthreadP.h>
-#include <lowlevellock.h>
-#include "hle.h"
-#include <elision-conf.h>
-
-#define aconf __elision_aconf
-
-/* Try to elide a futex trylock.  FUTEX is the futex variable.  ADAPT_COUNT is
-   the adaptation counter in the mutex.  */
-
-int
-__lll_trylock_elision (int *futex, short *adapt_count)
-{
-  /* Implement POSIX semantics by forbiding nesting
-     trylock.  Sorry.  After the abort the code is re-executed
-     non transactional and if the lock was already locked
-     return an error.  */
-  _xabort (_ABORT_NESTED_TRYLOCK);
-
-  /* Only try a transaction if it's worth it.  */
-  if (*adapt_count <= 0)
-    {
-      unsigned status;
-
-      if ((status = _xbegin()) == _XBEGIN_STARTED)
-	{
-	  if (*futex == 0)
-	    return 0;
-
-	  /* Lock was busy.  Fall back to normal locking.
-	     Could also _xend here but xabort with 0xff code
-	     is more visible in the profiler.  */
-	  _xabort (_ABORT_LOCK_BUSY);
-	}
-
-      if (!(status & _XABORT_RETRY))
-        {
-          /* Internal abort.  No chance for retry.  For future
-             locks don't try speculation for some time.  */
-          if (*adapt_count != aconf.skip_trylock_internal_abort)
-            *adapt_count = aconf.skip_trylock_internal_abort;
-        }
-      /* Could do some retries here.  */
-    }
-  else
-    {
-      /* Lost updates are possible, but harmless.  */
-      (*adapt_count)--;
-    }
-
-  return lll_trylock (*futex);
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c b/nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c
deleted file mode 100644
index b9be19ccc4..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* elision-unlock.c: Commit an elided pthread lock.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include "pthreadP.h"
-#include "lowlevellock.h"
-#include "hle.h"
-
-int
-__lll_unlock_elision(int *lock, int private)
-{
-  /* When the lock was free we're in a transaction.
-     When you crash here you unlocked a free lock.  */
-  if (*lock == 0)
-    _xend();
-  else
-    lll_unlock ((*lock), private);
-  return 0;
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/force-elision.h b/nptl/sysdeps/unix/sysv/linux/x86/force-elision.h
deleted file mode 100644
index 945f8867fc..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/force-elision.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* force-elision.h: Automatic enabling of elision for mutexes
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Check for elision on this lock without upgrading.  */
-#define DO_ELISION(m)							\
-  (__pthread_force_elision						\
-   && (m->__data.__kind & PTHREAD_MUTEX_NO_ELISION_NP) == 0)		\
-
-/* Automatically enable elision for existing user lock kinds.  */
-#define FORCE_ELISION(m, s)						\
-  if (__pthread_force_elision						\
-      && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0)	\
-    {									\
-      mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP;			\
-      s;								\
-    }
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/hle.h b/nptl/sysdeps/unix/sysv/linux/x86/hle.h
deleted file mode 100644
index 4a7b9e3bf7..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/hle.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Shared RTM header.  Emulate TSX intrinsics for compilers and assemblers
-   that do not support the intrinsics and instructions yet.  */
-#ifndef _HLE_H
-#define _HLE_H 1
-
-#ifdef __ASSEMBLER__
-
-.macro XBEGIN target
-	.byte 0xc7,0xf8
-	.long \target-1f
-1:
-.endm
-
-.macro XEND
-	.byte 0x0f,0x01,0xd5
-.endm
-
-.macro XABORT code
-	.byte 0xc6,0xf8,\code
-.endm
-
-.macro XTEST
-	 .byte 0x0f,0x01,0xd6
-.endm
-
-#endif
-
-/* Official RTM intrinsics interface matching gcc/icc, but works
-   on older gcc compatible compilers and binutils.
-   We should somehow detect if the compiler supports it, because
-   it may be able to generate slightly better code.  */
-
-#define _XBEGIN_STARTED		(~0u)
-#define _XABORT_EXPLICIT	(1 << 0)
-#define _XABORT_RETRY		(1 << 1)
-#define _XABORT_CONFLICT	(1 << 2)
-#define _XABORT_CAPACITY	(1 << 3)
-#define _XABORT_DEBUG		(1 << 4)
-#define _XABORT_NESTED		(1 << 5)
-#define _XABORT_CODE(x)		(((x) >> 24) & 0xff)
-
-#define _ABORT_LOCK_BUSY 	0xff
-#define _ABORT_LOCK_IS_LOCKED	0xfe
-#define _ABORT_NESTED_TRYLOCK	0xfd
-
-#ifndef __ASSEMBLER__
-
-#define __force_inline __attribute__((__always_inline__)) inline
-
-static __force_inline int _xbegin(void)
-{
-  int ret = _XBEGIN_STARTED;
-  asm volatile (".byte 0xc7,0xf8 ; .long 0" : "+a" (ret) :: "memory");
-  return ret;
-}
-
-static __force_inline void _xend(void)
-{
-  asm volatile (".byte 0x0f,0x01,0xd5" ::: "memory");
-}
-
-static __force_inline void _xabort(const unsigned int status)
-{
-  asm volatile (".byte 0xc6,0xf8,%P0" :: "i" (status) : "memory");
-}
-
-static __force_inline int _xtest(void)
-{
-  unsigned char out;
-  asm volatile (".byte 0x0f,0x01,0xd6 ; setnz %0" : "=r" (out) :: "memory");
-  return out;
-}
-
-#endif
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/init-arch.c b/nptl/sysdeps/unix/sysv/linux/x86/init-arch.c
deleted file mode 100644
index 00a94d83dc..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/init-arch.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/multiarch/init-arch.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/init-arch.h b/nptl/sysdeps/unix/sysv/linux/x86/init-arch.h
deleted file mode 100644
index cd2d0befee..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/init-arch.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/multiarch/init-arch.h>
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c b/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
deleted file mode 100644
index 34c705235a..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* The cond lock is not actually elided yet, but we still need to handle
-   already elided locks.  */
-#include <elision-conf.h>
-
-#include "sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c b/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
deleted file mode 100644
index b8a33c1869..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_lock.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_lock.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c b/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
deleted file mode 100644
index d33dd2a112..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_timedlock.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_timedlock.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c b/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
deleted file mode 100644
index 6534e9693b..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_trylock.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_trylock.c"