about summary refs log tree commit diff
path: root/sysdeps/tile/nptl
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-12-12 19:15:45 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-12-20 16:55:24 -0200
commited95f6114928f00f5f8fe76ccf2ec9e77872cbad (patch)
tree0161d2bc2599666e4dab69cfb07a75a445760f79 /sysdeps/tile/nptl
parent4735850f7a4f07f05ee9ff405238332f4bb3ab50 (diff)
downloadglibc-ed95f6114928f00f5f8fe76ccf2ec9e77872cbad.tar.gz
glibc-ed95f6114928f00f5f8fe76ccf2ec9e77872cbad.tar.xz
glibc-ed95f6114928f00f5f8fe76ccf2ec9e77872cbad.zip
Remove tilepro-*-linux-gnu support
As from previous discussions [1] this patch removes tileprox-*-linux-gnu
support from GLIBC.  This patch is a straigthfoward one, which just remove
tilepro specific implementation and configurations (no sysdep simplfication
or reorganization is done).

	* README: Remove tilepro-*-linux-gnu from supported architecture.
	* scripts/build-many-glibcs.py: Likewise.
	* sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise.
	* sysdeps/tile/crti.S (PREINIT_FUNCTION): Likewise.
	* sysdeps/tile/dl-machine.h (ELF_MACHINE_NAME,
	elf_machine_matches_host, elf_machine_dynamic,
	elf_machine_load_address, elf_machine_runtime_setup, reloc_howto
	howto, elf_machine_rela): Likewise
	* sysdeps/tile/dl-start.S (_start): Likewise.
	* sysdeps/tile/memcmp.c (DBLALIGN, REVBYTES): Likewise.
	* sysdeps/tile/memcopy.h (MEMCPY_OK_FOR_FWD_MEMMOVE,
	MEMCPY_OK_FOR_FWD_MEMMOVE, op_t): Likewise.
	* sysdeps/tile/nptl/pthread_spin_lock.c (TNS, CMPTNS): Likewise.
	* sysdeps/tile/nptl/pthread_spin_trylock.c (TNS): Likewise.
	* sysdeps/tile/nptl/pthread_spin_unlock.c (pthread_spin_unlock):
	Likewise.
	* sysdeps/tile/nptl/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/tile/preconfigure: Likewise.
	* sysdeps/tile/stackguard-macros.h (STACK_CHK_GUARD,
	POINTER_CHK_GUARD): Likewise.
	* sysdeps/tile/stackinfo.h (__stackinfo_sub): Likewise.
	* sysdeps/tile/start.S (_start): Likewise.
	* sysdeps/tile/tls-macros.h (TLS_GD_OFFSET, TLS_IE_OFFSET, _TLS_LE):
	Likewise.
	* sysdeps/tile/sysdep.h (REGSIZE): Likewise.
	(LD, LD4U, ST, ST4, BNEZ, BEQZ, BEQZT, BGTZ, CMPEQI, CMPEQ, CMOVEQZ,
	CMOVNEZ): Remove.
	* sysdeps/unix/sysv/linux/tile/bits/environments.h
	(__ILP32_OFF32_CFLAGS, __ILP32_OFFBIG_CFLAGS, __ILP32_OFF32_LDFLAGS,
	__ILP32_OFFBIG_LDFLAGS, __LP64_OFF64_CFLAGS, __LP64_OFF64_LDFLAGS):
	Likewise.
	* sysdeps/tile/wordcopy.c (DBLALIGN): Likewise.
	* sysdeps/tile/tilepro/Implies: Remove file.
	* sysdeps/tile/tilepro/atomic-machine.h: Likewise.
	* sysdeps/tile/tilepro/bits/wordsize.h: Likewise.
	* sysdeps/tile/tilepro/memchr.c: Likewise.
	* sysdeps/tile/tilepro/memcpy.S: Likewise.
	* sysdeps/tile/tilepro/memset.c: Likewise.
	* sysdeps/tile/tilepro/memusage.h: Likewise.
	* sysdeps/tile/tilepro/rawmemchr.c: Likewise.
	* sysdeps/tile/tilepro/strchr.c: Likewise.
	* sysdeps/tile/tilepro/strchrnul.c: Likewise.
	* sysdeps/tile/tilepro/strlen.c: Likewise.
	* sysdeps/tile/tilepro/strrchr.c: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/Implies: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: Likewise.
	* sysdeps/unix/sysv/linux/tile/sysconf.c (linux_sysconf): Remove
	tilepro mention in comment.

[1] https://sourceware.org/ml/libc-alpha/2017-12/msg00038.html
Diffstat (limited to 'sysdeps/tile/nptl')
-rw-r--r--sysdeps/tile/nptl/pthread_spin_lock.c10
-rw-r--r--sysdeps/tile/nptl/pthread_spin_trylock.c4
-rw-r--r--sysdeps/tile/nptl/pthread_spin_unlock.c5
-rw-r--r--sysdeps/tile/nptl/tls.h7
4 files changed, 3 insertions, 23 deletions
diff --git a/sysdeps/tile/nptl/pthread_spin_lock.c b/sysdeps/tile/nptl/pthread_spin_lock.c
index 16ef021de0..21c5ed4c0e 100644
--- a/sysdeps/tile/nptl/pthread_spin_lock.c
+++ b/sysdeps/tile/nptl/pthread_spin_lock.c
@@ -26,16 +26,10 @@
 /* Initial cycle delay for exponential backoff */
 #define BACKOFF_START 32
 
-#ifdef __tilegx__
 /* Use cmpexch() after the initial fast-path exch to avoid
    invalidating the cache line of the lock holder.  */
-# define TNS(p) atomic_exchange_acq((p), 1)
-# define CMPTNS(p) atomic_compare_and_exchange_val_acq((p), 1, 0)
-#else
-# define TNS(p) __insn_tns(p)
-# define CMPTNS(p) __insn_tns(p)
-# define SPR_CYCLE SPR_CYCLE_LOW   /* The low 32 bits are sufficient. */
-#endif
+#define TNS(p) atomic_exchange_acq((p), 1)
+#define CMPTNS(p) atomic_compare_and_exchange_val_acq((p), 1, 0)
 
 int
 pthread_spin_lock (pthread_spinlock_t *lock)
diff --git a/sysdeps/tile/nptl/pthread_spin_trylock.c b/sysdeps/tile/nptl/pthread_spin_trylock.c
index c2d6766fd1..6974a09983 100644
--- a/sysdeps/tile/nptl/pthread_spin_trylock.c
+++ b/sysdeps/tile/nptl/pthread_spin_trylock.c
@@ -19,11 +19,7 @@
 #include "pthreadP.h"
 #include <errno.h>
 
-#ifdef __tilegx__
 #define TNS(p) __insn_exch4((p), 1)
-#else
-#define TNS(p) __insn_tns(p)
-#endif
 
 int
 pthread_spin_trylock (pthread_spinlock_t *lock)
diff --git a/sysdeps/tile/nptl/pthread_spin_unlock.c b/sysdeps/tile/nptl/pthread_spin_unlock.c
index 63bc814985..be23478e39 100644
--- a/sysdeps/tile/nptl/pthread_spin_unlock.c
+++ b/sysdeps/tile/nptl/pthread_spin_unlock.c
@@ -22,12 +22,7 @@
 int
 pthread_spin_unlock (pthread_spinlock_t *lock)
 {
-#ifdef __tilegx__
   /* Use exchange() to bypass the write buffer. */
   atomic_exchange_rel (lock, 0);
-#else
-  atomic_full_barrier ();
-  *lock = 0;
-#endif
   return 0;
 }
diff --git a/sysdeps/tile/nptl/tls.h b/sysdeps/tile/nptl/tls.h
index 7314843cfb..5ddae18d15 100644
--- a/sysdeps/tile/nptl/tls.h
+++ b/sysdeps/tile/nptl/tls.h
@@ -113,13 +113,8 @@ register void *__thread_pointer asm ("tp");
 			 - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
 
 /* Magic for libthread_db to know how to do THREAD_SELF.  */
-#ifdef __tilegx__
 # define DB_THREAD_SELF \
-  REGISTER (64, 64, REG_TP * 8, - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)
-#else
-# define DB_THREAD_SELF \
-  REGISTER (32, 32, REG_TP * 4, - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)
-#endif
+ REGISTER (64, 64, REG_TP * 8, - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)
 
 /* Read member of the thread descriptor directly.  */
 # define THREAD_GETMEM(descr, member) (descr->member)