aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog66
-rw-r--r--NEWS2
-rw-r--r--README1
-rwxr-xr-xscripts/build-many-glibcs.py2
-rw-r--r--sysdeps/tile/__tls_get_addr.S11
-rw-r--r--sysdeps/tile/crti.S13
-rw-r--r--sysdeps/tile/dl-machine.h248
-rw-r--r--sysdeps/tile/dl-start.S5
-rw-r--r--sysdeps/tile/memcmp.c5
-rw-r--r--sysdeps/tile/memcopy.h8
-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
-rw-r--r--sysdeps/tile/preconfigure2
-rw-r--r--sysdeps/tile/stackguard-macros.h17
-rw-r--r--sysdeps/tile/stackinfo.h2
-rw-r--r--sysdeps/tile/start.S25
-rw-r--r--sysdeps/tile/sysdep.h29
-rw-r--r--sysdeps/tile/tilepro/Implies2
-rw-r--r--sysdeps/tile/tilepro/atomic-machine.h99
-rw-r--r--sysdeps/tile/tilepro/bits/wordsize.h6
-rw-r--r--sysdeps/tile/tilepro/memchr.c76
-rw-r--r--sysdeps/tile/tilepro/memcpy.S397
-rw-r--r--sysdeps/tile/tilepro/memset.c151
-rw-r--r--sysdeps/tile/tilepro/memusage.h29
-rw-r--r--sysdeps/tile/tilepro/rawmemchr.c45
-rw-r--r--sysdeps/tile/tilepro/strchr.c68
-rw-r--r--sysdeps/tile/tilepro/strchrnul.c65
-rw-r--r--sysdeps/tile/tilepro/strlen.c39
-rw-r--r--sysdeps/tile/tilepro/strrchr.c73
-rw-r--r--sysdeps/tile/tls-macros.h19
-rw-r--r--sysdeps/tile/wordcopy.c4
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/environments.h4
-rw-r--r--sysdeps/unix/sysv/linux/tile/sysconf.c4
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/Implies3
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data67
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h6
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h25
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist2137
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist749
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist122
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist226
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist92
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h111
53 files changed, 98 insertions, 5106 deletions
diff --git a/ChangeLog b/ChangeLog
index 35d1d102f6..43dfbf2a5e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,71 @@
2017-12-20 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+ * 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.
+
* nptl/Makefile (libpthread-routines): Add pthread_join_common.
* nptl/pthreadP.h (__pthread_timedjoin_ex): New prototype.
* nptl/pthread_join_common.c: New file: common function used on
diff --git a/NEWS b/NEWS
index a43ff26e83..d60b31575d 100644
--- a/NEWS
+++ b/NEWS
@@ -106,6 +106,8 @@ Deprecated and removed features, and other changes affecting compatibility:
* The libresolv function p_secstodate is no longer supported for new
programs.
+* The tilepro-*-linux-gnu configuration is no longer supported.
+
Changes to build and runtime requirements:
* bison version 2.7 or later is required to generate code in the 'intl'
diff --git a/README b/README
index c3d17d1378..d0e99ea7d5 100644
--- a/README
+++ b/README
@@ -43,7 +43,6 @@ The GNU C Library supports these configurations for using Linux kernels:
sparc*-*-linux-gnu
sparc64*-*-linux-gnu
tilegx-*-linux-gnu
- tilepro-*-linux-gnu
If you are interested in doing a port, please contact the glibc
maintainers; see http://www.gnu.org/software/libc/ for more
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index b86d6c1387..b183cd2696 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -359,8 +359,6 @@ class Context(object):
os_name='linux-gnu',
glibcs=[{},
{'variant': '32', 'ccopts': '-m32'}])
- self.add_config(arch='tilepro',
- os_name='linux-gnu')
self.add_config(arch='x86_64',
os_name='linux-gnu',
gcc_cfg=['--with-multilib-list=m64,m32,mx32'],
diff --git a/sysdeps/tile/__tls_get_addr.S b/sysdeps/tile/__tls_get_addr.S
index 3b2b95522f..2402bd1e9a 100644
--- a/sysdeps/tile/__tls_get_addr.S
+++ b/sysdeps/tile/__tls_get_addr.S
@@ -37,7 +37,6 @@ ENTRY (__tls_get_addr)
ADDI_PTR r27, tp, DTV_OFFSET
}
.Llnk:
-#ifdef __tilegx__
{
LD_PTR r27, r27 /* r27 = THREAD_DTV() */
moveli r26, hw1_last(_rtld_local + TLS_GENERATION_OFFSET - .Llnk)
@@ -47,16 +46,6 @@ ENTRY (__tls_get_addr)
ADD_PTR r25, r25, r26
LD_PTR r26, r0 /* r26 = ti_module */
}
-#else
- {
- LD_PTR r27, r27 /* r27 = THREAD_DTV() */
- addli r25, r25, lo16(_rtld_local + TLS_GENERATION_OFFSET - .Llnk)
- }
- {
- auli r25, r25, ha16(_rtld_local + TLS_GENERATION_OFFSET - .Llnk)
- LD_PTR r26, r0 /* r26 = ti_module */
- }
-#endif
LD_PTR r25, r25 /* r25 = DL(dl_tls_generation) */
{
LD_PTR r28, r27 /* r28 = THREAD_DTV()->counter */
diff --git a/sysdeps/tile/crti.S b/sysdeps/tile/crti.S
index 522373aff5..1d714ab483 100644
--- a/sysdeps/tile/crti.S
+++ b/sysdeps/tile/crti.S
@@ -70,7 +70,6 @@ _init:
#if PREINIT_FUNCTION_WEAK
lnk r2
0:
-# ifdef __tilegx__
moveli r1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 0b)
{
shl16insli r1, r1, hw1(_GLOBAL_OFFSET_TABLE_ - 0b)
@@ -80,22 +79,12 @@ _init:
shl16insli r1, r1, hw0(_GLOBAL_OFFSET_TABLE_ - 0b)
shl16insli r0, r0, hw0_got(PREINIT_FUNCTION)
}
-# else
- {
- moveli r1, lo16(_GLOBAL_OFFSET_TABLE_ - 0b)
- moveli r0, got_lo16(PREINIT_FUNCTION)
- }
- {
- auli r1, r1, ha16(_GLOBAL_OFFSET_TABLE_ - 0b)
- auli r0, r0, got_ha16(PREINIT_FUNCTION)
- }
-# endif
ADD_PTR r0, r0, r1
ADD_PTR r0, r0, r2
LD_PTR r0, r0
BEQZ r0, .Lno_weak_fn
jalr r0
-#elif defined(__tilegx__) && !defined(NO_PLT_PCREL)
+#elif !defined(NO_PLT_PCREL)
/* Since we are calling from the start of the object to the PLT,
call by loading the full address into a register. */
lnk r2
diff --git a/sysdeps/tile/dl-machine.h b/sysdeps/tile/dl-machine.h
index f7af7c3848..d745a9c07f 100644
--- a/sysdeps/tile/dl-machine.h
+++ b/sysdeps/tile/dl-machine.h
@@ -20,11 +20,7 @@
#ifndef dl_machine_h
#define dl_machine_h
-#ifdef __tilegx__
#define ELF_MACHINE_NAME "tilegx"
-#else
-#define ELF_MACHINE_NAME "tilepro"
-#endif
#include <sys/param.h>
#include <string.h>
@@ -37,18 +33,12 @@
static inline int
elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
{
-#if defined __tilegx__
if (ehdr->e_machine != EM_TILEGX)
return 0;
-# if __WORDSIZE == 32
+#if __WORDSIZE == 32
return (ehdr->e_ident[EI_CLASS] == ELFCLASS32);
-# else
- return (ehdr->e_ident[EI_CLASS] == ELFCLASS64);
-# endif
-#elif defined __tilepro__
- return ehdr->e_machine == EM_TILEPRO;
#else
-# error "Unknown tile architecture."
+ return (ehdr->e_ident[EI_CLASS] == ELFCLASS64);
#endif
}
@@ -62,19 +52,12 @@ elf_machine_dynamic (void)
{
ElfW(Addr) *got;
-#ifdef __tilegx__
ElfW(Addr) tmp;
asm( " { lnk %0; moveli %1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1f) }\n"
"1: shl16insli %1, %1, hw1(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
" shl16insli %1, %1, hw0(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
" add %0, %0, %1"
: "=r" (got), "=r" (tmp));
-#else
- asm( " lnk %0\n"
- "1: addli %0, %0, lo16(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " auli %0, %0, ha16(_GLOBAL_OFFSET_TABLE_ - 1b)"
- : "=r" (got));
-#endif
return *got;
}
@@ -86,9 +69,8 @@ elf_machine_load_address (void)
{
ElfW(Addr) *got;
ElfW(Addr) dynamic;
-
-#ifdef __tilegx__
ElfW(Addr) tmp;
+
asm( " lnk %2\n"
"1: {\n"
" moveli %0, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
@@ -107,18 +89,6 @@ elf_machine_load_address (void)
" add %1, %1, %2\n"
" }"
: "=r" (got), "=r" (dynamic), "=r" (tmp));
-#else
- asm( " lnk %0\n"
- "1: {\n"
- " addli %0, %0, lo16(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " addli %1, %0, lo16(_DYNAMIC - 1b)\n"
- " }\n"
- " {\n"
- " auli %0, %0, ha16(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " auli %1, %1, ha16(_DYNAMIC - 1b)\n"
- " }\n"
- : "=r" (got), "=r" (dynamic));
-#endif
return dynamic - *got;
}
@@ -197,15 +167,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#endif
/* Wrap a generic Tilera relocation type. */
-#ifdef __tilegx__
#define R_TILE(x) R_TILEGX_##x
#define __R_TILE_TLS(x,c) R_TILEGX_TLS_##x##c
#define _R_TILE_TLS(x,c) __R_TILE_TLS(x,c)
#define R_TILE_TLS(x) _R_TILE_TLS(x,__ELF_NATIVE_CLASS)
-#else
-#define R_TILE(x) R_TILEPRO_##x
-#define R_TILE_TLS(x) R_TILEPRO_TLS_##x##32
-#endif
/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
TLS variable, so undefined references should not be allowed to
@@ -272,13 +237,8 @@ struct reloc_howto
/* Right shift operand by this number of bits. */
unsigned char right_shift;
-#ifdef __tilegx__
/* If nonzero, this is updating a code bundle. */
unsigned char is_bundle_update;
-#else
- /* If nonzero, add 0x8000 to the value. */
- unsigned char add_0x8000;
-#endif
/* If nonzero, subtract the containing address from the address. */
unsigned char is_pcrel;
@@ -291,19 +251,17 @@ struct reloc_howto
because then the table would not be position-independent. */
static const struct reloc_howto howto[] =
{
-#ifdef __tilegx__
-
-# if __WORDSIZE == 32
+#if __WORDSIZE == 32
/* The GX -m32 loader only handles 32-bit types, so it will be confused
by shifts larger than that. We convert them to just sign-exte