From patchwork Wed Dec 13 19:19:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 121849 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5874615qgn; Wed, 13 Dec 2017 11:21:02 -0800 (PST) X-Google-Smtp-Source: ACJfBosIXO7fh43QMPxk/SSaW8eRNe6RfppyDKSQf3y5WwH0NQuh7OIfEkEt4VPNvlfYamHyf3KN X-Received: by 10.98.201.216 with SMTP id l85mr7106442pfk.217.1513192862315; Wed, 13 Dec 2017 11:21:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513192862; cv=none; d=google.com; s=arc-20160816; b=eaDo8S2fbSKL9WgxoKcpu1t3IxUCPVMiIEZI/8KlRqPtLnC7OqBBk6RYueg1jkK4/5 6vdrfDo4QAzk8Wt92wKMpW21lRS1k02ZqypNL0sq+Si9YLrcFcI2zva7pYSQlr0Yh0wA Nou9bI5AJdpvDfiWMcgGC+xYVMm275fvQI77R0tipOflQlDdlyw8ZiIiI41utJ4Zr08M zR0oOUuUZhOLwlbAnrQbo9x6H/jeIMJctTnZzlBS6X7k8C9gJrjmQeVKGAJOa/zyMf5B JUAtKm5TK360a4PZfA0yZs3/wyPUSqTJGIyvcPljuw6j6BzHUa7ygQaiLb6KNHpUW7Iy FcYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:to:from:delivered-to:sender:list-help :list-post:list-archive:list-subscribe:list-unsubscribe:list-id :precedence:mailing-list:dkim-signature:domainkey-signature :arc-authentication-results; bh=PyMYWvMSaOABw51Jgd+iGGkfmMnmsRkX5zi/A/yMcss=; b=xL0kwUUZCc95iEjJjJZSK8+quiQUemiUaKkijfHWHvSujBGo5TFUettA9R0PLFvs12 cgyoXRlKX4JWMtrKRK4Wkc+9oExyHr+KabbqknPrqlN7MinG2Lpaq9MxYT+jvPJaraUo LVFAxsJtUK4kvl58T090n/ekuwYukOzSRgPP2E7sHdaTrw7aXGGGlooUw/k0xJWitp4b 8nbTQJvWm69JY68AVPkVoYS/z13H9PeB+wAVe36a+ezdELn89jeMS4tV4wklOEfgbfOR IynrcxTuTqU598WE8R6xi9hYcml/5abI709lKrKMD1AjLdICkKM9Y+jsfhN6qQI7Jyl1 wYtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=RFIgabJC; spf=pass (google.com: domain of libc-alpha-return-88114-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88114-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id d67si1666413pgc.607.2017.12.13.11.21.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 11:21:02 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-88114-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=RFIgabJC; spf=pass (google.com: domain of libc-alpha-return-88114-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88114-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; q=dns; s= default; b=VvrYDslI7nGIl7mFJ9aaBt1D8gCM2mrEhLVbMF/QzFbPXnU/k81V5 LJqIg2UL8HeIwPldYBy9XDiG/NxQMa0Ux1o3gY7uvBOgqJo1MG2MAagKzinsCGdX VQb40SmkudbUobFaAmrWyRli+rhtEOlTk9kaTXI4d/JceIp9Z3vcXY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; s=default; bh=HIQaD6+WrW9NXSCH10fTPAD5czg=; b=RFIgabJCFAD60mLneTj2KRC2gmuf B2RBjW221PwD8fdSxf3wK2XN/zWoHDWyqd0A5rJWtNR39qb/GF27AcE8xkQmsXql VQ5FUt+9zpyznMq9DFfp9+Hjs1rUcmgxfENNakwfAvrPFCgcz2j6Y85VI2emBP8Y +BJPJs0yh4XjNtg= Received: (qmail 91078 invoked by alias); 13 Dec 2017 19:20:19 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 91013 invoked by uid 89); 13 Dec 2017 19:20:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=rtf, erf, expl, sendto X-HELO: mail-qk0-f170.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=PyMYWvMSaOABw51Jgd+iGGkfmMnmsRkX5zi/A/yMcss=; b=e3o2xiwxoxGg3wxsIoSMG8qFABp2gXNJaVI+1zdHcKsUEla4F8zg1imXhCJPNZ9Hut Khq7LLpRTsjQd6VTPUdCeAt5CPpOzyz1PFk/f4hDoKX7dUvj8iW+2vxIKIaIdJbYtt54 XWw1l8i4BxDWnATkfed1jKTVx9kJSL1Xfyz3bcyKHg+elmlrcZGym+MRvQyXH6BYweX6 iHXdCYd+lOEIEy3VSE2XvkKzoGLUtjlKlbikGsuzgqYh1YA61Z/fhTol9/bF/Z8L6qdK EphpS+lD8No1bcGCj2Ns7086jNw7UVcR7r6826hvsvVDEgkUVc5MiLwZMblNKU7TM8AZ VdVQ== X-Gm-Message-State: AKGB3mJaY4NKnqenrg4Hf5UCbKojey6zIT5/WJGSa0mrENSPwZVJfpGR mpjkCuerc3q3dXtCpM13neEYgBF6tWY= X-Received: by 10.55.115.130 with SMTP id o124mr12408469qkc.260.1513192793269; Wed, 13 Dec 2017 11:19:53 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 1/3] Remove tilepro-*-linux-gnu support Date: Wed, 13 Dec 2017 17:19:43 -0200 Message-Id: <1513192785-27450-1-git-send-email-adhemerval.zanella@linaro.org> 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 --- ChangeLog | 68 + NEWS | 2 + README | 1 - scripts/build-many-glibcs.py | 2 - sysdeps/tile/__tls_get_addr.S | 11 - sysdeps/tile/crti.S | 13 +- sysdeps/tile/dl-machine.h | 248 +-- sysdeps/tile/dl-start.S | 5 - sysdeps/tile/memcmp.c | 5 - sysdeps/tile/memcopy.h | 8 +- sysdeps/tile/nptl/pthread_spin_lock.c | 10 +- sysdeps/tile/nptl/pthread_spin_trylock.c | 4 - sysdeps/tile/nptl/pthread_spin_unlock.c | 5 - sysdeps/tile/nptl/tls.h | 7 +- sysdeps/tile/preconfigure | 2 - sysdeps/tile/stackguard-macros.h | 17 +- sysdeps/tile/stackinfo.h | 2 +- sysdeps/tile/start.S | 25 +- sysdeps/tile/sysdep.h | 29 +- sysdeps/tile/tilepro/Implies | 2 - sysdeps/tile/tilepro/atomic-machine.h | 99 - sysdeps/tile/tilepro/bits/wordsize.h | 6 - sysdeps/tile/tilepro/memchr.c | 76 - sysdeps/tile/tilepro/memcpy.S | 397 ---- sysdeps/tile/tilepro/memset.c | 151 -- sysdeps/tile/tilepro/memusage.h | 29 - sysdeps/tile/tilepro/rawmemchr.c | 45 - sysdeps/tile/tilepro/strchr.c | 68 - sysdeps/tile/tilepro/strchrnul.c | 65 - sysdeps/tile/tilepro/strlen.c | 39 - sysdeps/tile/tilepro/strrchr.c | 73 - sysdeps/tile/tls-macros.h | 19 - sysdeps/tile/wordcopy.c | 4 - sysdeps/unix/sysv/linux/tile/bits/environments.h | 4 +- sysdeps/unix/sysv/linux/tile/sysconf.c | 4 +- sysdeps/unix/sysv/linux/tile/tilepro/Implies | 3 - .../unix/sysv/linux/tile/tilepro/c++-types.data | 67 - .../unix/sysv/linux/tile/tilepro/jmp_buf-macros.h | 6 - sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist | 9 - sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h | 25 - .../linux/tile/tilepro/libBrokenLocale.abilist | 2 - .../unix/sysv/linux/tile/tilepro/libanl.abilist | 5 - sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist | 2137 -------------------- .../unix/sysv/linux/tile/tilepro/libcrypt.abilist | 8 - sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist | 10 - sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 749 ------- .../unix/sysv/linux/tile/tilepro/libnsl.abilist | 122 -- .../sysv/linux/tile/tilepro/libpthread.abilist | 226 --- .../unix/sysv/linux/tile/tilepro/libresolv.abilist | 92 - sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist | 41 - .../sysv/linux/tile/tilepro/libthread_db.abilist | 41 - .../unix/sysv/linux/tile/tilepro/libutil.abilist | 7 - .../unix/sysv/linux/tile/tilepro/register-dump.h | 111 - 53 files changed, 100 insertions(+), 5106 deletions(-) delete mode 100644 sysdeps/tile/tilepro/Implies delete mode 100644 sysdeps/tile/tilepro/atomic-machine.h delete mode 100644 sysdeps/tile/tilepro/bits/wordsize.h delete mode 100644 sysdeps/tile/tilepro/memchr.c delete mode 100644 sysdeps/tile/tilepro/memcpy.S delete mode 100644 sysdeps/tile/tilepro/memset.c delete mode 100644 sysdeps/tile/tilepro/memusage.h delete mode 100644 sysdeps/tile/tilepro/rawmemchr.c delete mode 100644 sysdeps/tile/tilepro/strchr.c delete mode 100644 sysdeps/tile/tilepro/strchrnul.c delete mode 100644 sysdeps/tile/tilepro/strlen.c delete mode 100644 sysdeps/tile/tilepro/strrchr.c delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/Implies delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist delete mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h -- 2.7.4 diff --git a/NEWS b/NEWS index 2dd0c16..26f8279 100644 --- a/NEWS +++ b/NEWS @@ -91,6 +91,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 c3d17d1..d0e99ea 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 599e12e..e66a712 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -356,8 +356,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 3b2b955..2402bd1 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 522373a..1d714ab 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 f7af7c3..d745a9c 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 #include @@ -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-extend; they usually indicate a program bug or missed optimization, but we have to handle them correctly anyway. */ -# define S32 31 -# define S48 31 -# else -# define S32 32 -# define S48 48 -# endif +# define S32 31 +# define S48 31 +#else +# define S32 32 +# define S48 48 +#endif /* R_TILEGX_NONE */ { 0, 0, 0, 0 }, /* R_TILEGX_64 */ { 0, 0, 0, 8 }, @@ -417,93 +375,6 @@ static const struct reloc_howto howto[] = /* R_TILEGX_TLS_DTPMOD32 */ { 0, 0, 0, 0 }, /* R_TILEGX_TLS_DTPOFF32 */ { 0, 0, 0, 0 }, /* R_TILEGX_TLS_TPOFF32 */ { 0, 0, 0, 0 } -#else - /* R_TILEPRO_NONE */ { 0, 0, 0, 0 }, - /* R_TILEPRO_32 */ { 0, 0, 0, 4 }, - /* R_TILEPRO_16 */ { 0, 0, 0, 2 }, - /* R_TILEPRO_8 */ { 0, 0, 0, 1 }, - /* R_TILEPRO_32_PCREL */ { 0, 0, 1, 4 }, - /* R_TILEPRO_16_PCREL */ { 0, 0, 1, 2 }, - /* R_TILEPRO_8_PCREL */ { 0, 0, 1, 1 }, - /* R_TILEPRO_LO16 */ { 0, 0, 0, 2 }, - /* R_TILEPRO_HI16 */ { 16, 0, 0, 2 }, - /* R_TILEPRO_HA16 */ { 16, 1, 0, 2 }, - /* R_TILEPRO_COPY */ { 0, 0, 0, 0 }, - /* R_TILEPRO_GLOB_DAT */ { 0, 0, 0, 4 }, - /* R_TILEPRO_JMP_SLOT */ { 0, 0, 0, 0 }, - /* R_TILEPRO_RELATIVE */ { 0, 0, 0, 0 }, - /* R_TILEPRO_BROFF_X1 */ { 3, 0, 1, 8 }, - /* R_TILEPRO_JOFFLONG_X1 */ { 3, 0, 1, 8 }, - /* R_TILEPRO_JOFFLONG_X1_PLT */ { 3, 0, 1, 8 }, - /* R_TILEPRO_IMM8_X0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM8_Y0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM8_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM8_Y1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_MT_IMM15_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_MF_IMM15_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_IMM16_X1_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_IMM16_X0_PCREL */ { 0, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X1_PCREL */ { 0, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X0_LO_PCREL */ { 0, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X1_LO_PCREL */ { 0, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X0_HI_PCREL */ { 16, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X1_HI_PCREL */ { 16, 0, 1, 8 }, - /* R_TILEPRO_IMM16_X0_HA_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEPRO_IMM16_X1_HA_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEPRO_IMM16_X0_GOT */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X1_GOT */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X0_GOT_LO */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X1_GOT_LO */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X0_GOT_HI */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X1_GOT_HI */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X0_GOT_HA */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X1_GOT_HA */ { 0, 0, 0, 0 }, - /* R_TILEPRO_MMSTART_X0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_MMEND_X0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_MMSTART_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_MMEND_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_SHAMT_X0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_SHAMT_X1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_SHAMT_Y0 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_SHAMT_Y1 */ { 0, 0, 0, 8 }, - /* R_TILEPRO_SN_BROFF */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_IMM8 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_UIMM8 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_BYTE0 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_BYTE1 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_BYTE2 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_BYTE3 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_SPCREL0 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_SPCREL1 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_SPCREL2 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_SN_SPCREL3 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_IMM16_X0_TLS_GD */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_GD */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_GD_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_GD_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_GD_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_GD_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_GD_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_GD_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_IE */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_IE */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_IE_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_IE_LO */ { 0, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_IE_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_IE_HI */ { 16, 0, 0, 8 }, - /* R_TILEPRO_IMM16_X0_TLS_IE_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_IMM16_X1_TLS_IE_HA */ { 16, 1, 0, 8 }, - /* R_TILEPRO_TLS_DTPMOD32 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_TLS_DTPOFF32 */ { 0, 0, 0, 0 }, - /* R_TILEPRO_TLS_TPOFF32 */ { 0, 0, 0, 0 }, -#endif }; #if __ELF_NATIVE_CLASS == 32 @@ -653,11 +524,6 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, if (h->is_pcrel) value -= (ElfW(Addr)) reloc_addr; -#ifndef __tilegx__ - if (h->add_0x8000) - value += 0x8000; -#endif - value = ((long) value) >> h->right_shift; switch (h->byte_size) @@ -671,14 +537,12 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, case 4: *(int *) reloc_addr = value; return; -#ifdef __tilegx__ case 8: if (!h->is_bundle_update) { *(ElfW(Addr) *) reloc_addr = value; return; } -#endif } /* We are updating a bundle, so use the function pointer that @@ -704,7 +568,6 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, switch (r_type) { -#ifdef __tilegx__ case R_TILEGX_BROFF_X1: MUNGE_SIGNED (BrOff_X1, 17); break; @@ -796,97 +659,6 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, case R_TILEGX_SHAMT_Y1: MUNGE (ShAmt_Y1); break; -#else - case R_TILEPRO_BROFF_X1: - MUNGE_SIGNED (BrOff_X1, 17); - break; - case R_TILEPRO_JOFFLONG_X1: - case R_TILEPRO_JOFFLONG_X1_PLT: - MUNGE_NOCHECK (JOffLong_X1); /* holds full 32-bit value */ - break; - case R_TILEPRO_IMM8_X0: - MUNGE_SIGNED (Imm8_X0, 8); - break; - case R_TILEPRO_IMM8_Y0: - MUNGE_SIGNED (Imm8_Y0, 8); - break; - case R_TILEPRO_IMM8_X1: - MUNGE_SIGNED (Imm8_X1, 8); - break; - case R_TILEPRO_IMM8_Y1: - MUNGE_SIGNED (Imm8_Y1, 8); - break; - case R_TILEPRO_MT_IMM15_X1: - MUNGE (MT_Imm15_X1); - break; - case R_TILEPRO_MF_IMM15_X1: - MUNGE (MF_Imm15_X1); - break; - case R_TILEPRO_IMM16_X0_LO: - case R_TILEPRO_IMM16_X0_HI: - case R_TILEPRO_IMM16_X0_HA: - case R_TILEPRO_IMM16_X0_LO_PCREL: - case R_TILEPRO_IMM16_X0_HI_PCREL: - case R_TILEPRO_IMM16_X0_HA_PCREL: - case R_TILEPRO_IMM16_X0_TLS_GD_LO: - case R_TILEPRO_IMM16_X0_TLS_GD_HI: - case R_TILEPRO_IMM16_X0_TLS_GD_HA: - case R_TILEPRO_IMM16_X0_TLS_IE_LO: - case R_TILEPRO_IMM16_X0_TLS_IE_HI: - case R_TILEPRO_IMM16_X0_TLS_IE_HA: - MUNGE_NOCHECK (Imm16_X0); - break; - case R_TILEPRO_IMM16_X0: - case R_TILEPRO_IMM16_X0_PCREL: - case R_TILEPRO_IMM16_X0_TLS_GD: - case R_TILEPRO_IMM16_X0_TLS_IE: - MUNGE_SIGNED (Imm16_X0, 16); - break; - case R_TILEPRO_IMM16_X1_LO: - case R_TILEPRO_IMM16_X1_HI: - case R_TILEPRO_IMM16_X1_HA: - case R_TILEPRO_IMM16_X1_LO_PCREL: - case R_TILEPRO_IMM16_X1_HI_PCREL: - case R_TILEPRO_IMM16_X1_HA_PCREL: - case R_TILEPRO_IMM16_X1_TLS_GD_LO: - case R_TILEPRO_IMM16_X1_TLS_GD_HI: - case R_TILEPRO_IMM16_X1_TLS_GD_HA: - case R_TILEPRO_IMM16_X1_TLS_IE_LO: - case R_TILEPRO_IMM16_X1_TLS_IE_HI: - case R_TILEPRO_IMM16_X1_TLS_IE_HA: - MUNGE_NOCHECK (Imm16_X1); - break; - case R_TILEPRO_IMM16_X1: - case R_TILEPRO_IMM16_X1_PCREL: - case R_TILEPRO_IMM16_X1_TLS_GD: - case R_TILEPRO_IMM16_X1_TLS_IE: - MUNGE_SIGNED (Imm16_X1, 16); - break; - case R_TILEPRO_MMSTART_X0: - MUNGE (MMStart_X0); - break; - case R_TILEPRO_MMEND_X0: - MUNGE (MMEnd_X0); - break; - case R_TILEPRO_MMSTART_X1: - MUNGE (MMStart_X1); - break; - case R_TILEPRO_MMEND_X1: - MUNGE (MMEnd_X1); - break; - case R_TILEPRO_SHAMT_X0: - MUNGE (ShAmt_X0); - break; - case R_TILEPRO_SHAMT_X1: - MUNGE (ShAmt_X1); - break; - case R_TILEPRO_SHAMT_Y0: - MUNGE (ShAmt_Y0); - break; - case R_TILEPRO_SHAMT_Y1: - MUNGE (ShAmt_Y1); - break; -#endif } #undef MUNGE *p = bits; diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S index 4f807a9..1782c9c 100644 --- a/sysdeps/tile/dl-start.S +++ b/sysdeps/tile/dl-start.S @@ -20,14 +20,9 @@ /* Get address of "sym" in "reg" assuming r51 holds ".Llink". */ .macro pic_addr reg, sym -#ifdef __tilegx__ moveli \reg, hw1_last(\sym - .Llink) shl16insli \reg, \reg, hw0(\sym - .Llink) ADD_PTR \reg, r51, \reg -#else - ADDLI_PTR \reg, r51, lo16(\sym - .Llink) - auli \reg, \reg, ha16(\sym - .Llink) -#endif .endm .text diff --git a/sysdeps/tile/memcmp.c b/sysdeps/tile/memcmp.c index c3ed88b..07305d0 100644 --- a/sysdeps/tile/memcmp.c +++ b/sysdeps/tile/memcmp.c @@ -59,13 +59,8 @@ typedef unsigned char byte; /* Provide the appropriate builtins to shift two registers based on the alignment of a pointer held in a third register, and to reverse the bytes in a word. */ -#ifdef __tilegx__ #define DBLALIGN __insn_dblalign #define REVBYTES __insn_revbytes -#else -#define DBLALIGN __insn_dword_align -#define REVBYTES __insn_bytex -#endif #ifdef WORDS_BIGENDIAN # define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1) diff --git a/sysdeps/tile/memcopy.h b/sysdeps/tile/memcopy.h index d934165..1579bee 100644 --- a/sysdeps/tile/memcopy.h +++ b/sysdeps/tile/memcopy.h @@ -20,14 +20,12 @@ #include /* The tilegx implementation of memcpy is safe to use for memmove. */ -#ifdef __tilegx__ -# undef MEMCPY_OK_FOR_FWD_MEMMOVE -# define MEMCPY_OK_FOR_FWD_MEMMOVE 1 -#endif +#undef MEMCPY_OK_FOR_FWD_MEMMOVE +#define MEMCPY_OK_FOR_FWD_MEMMOVE 1 /* Support more efficient copying on tilegx32, which supports long long as a native 64-bit type. */ -#if defined (__tilegx__) && __WORDSIZE == 32 +#if __WORDSIZE == 32 # undef op_t # define op_t unsigned long long int #endif diff --git a/sysdeps/tile/nptl/pthread_spin_lock.c b/sysdeps/tile/nptl/pthread_spin_lock.c index 16ef021..21c5ed4 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 c2d6766..6974a09 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 -#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 63bc814..be23478 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 7314843..5ddae18 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) diff --git a/sysdeps/tile/preconfigure b/sysdeps/tile/preconfigure index f3e5d7e..d2165c3 100644 --- a/sysdeps/tile/preconfigure +++ b/sysdeps/tile/preconfigure @@ -1,7 +1,5 @@ # This is a -*- sh -*- case "$machine" in - tilepro) - base_machine=tile machine=tile/tilepro ;; tilegx*) base_machine=tile if $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep -q __LP64__; then diff --git a/sysdeps/tile/stackguard-macros.h b/sysdeps/tile/stackguard-macros.h index f2e041b..c3ea0ad 100644 --- a/sysdeps/tile/stackguard-macros.h +++ b/sysdeps/tile/stackguard-macros.h @@ -1,20 +1,13 @@ #include -#ifdef __tilegx__ -# if __WORDSIZE == 64 -# define STACK_CHK_GUARD \ +#if __WORDSIZE == 64 +# define STACK_CHK_GUARD \ ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; }) -# define POINTER_CHK_GUARD \ +# define POINTER_CHK_GUARD \ ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; }) -# else -# define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) -# define POINTER_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) -# endif #else # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; }) + ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) # define POINTER_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -12; lw %0, %0" : "=r" (x)); x; }) + ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) #endif diff --git a/sysdeps/tile/stackinfo.h b/sysdeps/tile/stackinfo.h index 0bef407..d79c6b0 100644 --- a/sysdeps/tile/stackinfo.h +++ b/sysdeps/tile/stackinfo.h @@ -35,7 +35,7 @@ (unnecessary) parameters. */ #define stackinfo_get_sp() \ ({ void *p__; asm volatile ("move %0, sp" : "=r" (p__)); p__; }) -#if defined __tilegx__ && __WORDSIZE == 32 +#if __WORDSIZE == 32 #define __stackinfo_sub "subx" #else #define __stackinfo_sub "sub" diff --git a/sysdeps/tile/start.S b/sysdeps/tile/start.S index c790c26..da3ba9c 100644 --- a/sysdeps/tile/start.S +++ b/sysdeps/tile/start.S @@ -129,7 +129,6 @@ _start: /* Pass address of main() in r0, and of our own entry points to .fini and .init in r3 and r4. */ -#ifdef __tilegx__ moveli r0, hw2_last(main - .Lmy_pc) } { @@ -162,30 +161,12 @@ _start: } { ADD_PTR r4, r4, r13 -# ifdef NO_PLT_PCREL +#ifdef NO_PLT_PCREL j plt(__libc_start_main) -# else - jr r12 -# endif - } #else - addli r0, r13, lo16(main - .Lmy_pc) - } - { - auli r0, r0, ha16(main - .Lmy_pc) - addli r3, r13, lo16(__libc_csu_init - .Lmy_pc) - } - { - auli r3, r3, ha16(__libc_csu_init - .Lmy_pc) - addli r4, r13, lo16(__libc_csu_fini - .Lmy_pc) - } - { - auli r4, r4, ha16(__libc_csu_fini - .Lmy_pc) - /* Call the user's main function, and exit with its value. - But let the libc call main. */ - j plt(__libc_start_main) - } + jr r12 #endif + } { /* Tell backtracer to give up (_start has no caller). */ diff --git a/sysdeps/tile/sysdep.h b/sysdeps/tile/sysdep.h index cd94e77..0f4b64d 100644 --- a/sysdeps/tile/sysdep.h +++ b/sysdeps/tile/sysdep.h @@ -60,34 +60,11 @@ #define L(name) .L##name /* Specify the size in bytes of a machine register. */ -#ifdef __tilegx__ #define REGSIZE 8 -#else -#define REGSIZE 4 -#endif - -/* Support a limited form of shared assembly between tilepro and tilegx. - The presumption is that LD/ST are used for manipulating registers. - Since opcode parsing is case-insensitive, we don't need to provide - definitions for these on tilegx. */ -#ifndef __tilegx__ -#define LD lw -#define LD4U lw -#define ST sw -#define ST4 sw -#define BNEZ bnz -#define BEQZ bz -#define BEQZT bzt -#define BGTZ bgz -#define CMPEQI seqi -#define CMPEQ seq -#define CMOVEQZ mvz -#define CMOVNEZ mvnz -#endif /* Provide "pointer-oriented" instruction variants. These differ not just for tilepro vs tilegx, but also for tilegx -m64 vs -m32. */ -#if defined __tilegx__ && __WORDSIZE == 32 +#if __WORDSIZE == 32 #define ADD_PTR addx #define ADDI_PTR addxi #define ADDLI_PTR addxli @@ -100,11 +77,7 @@ #define ADDLI_PTR addli #define LD_PTR LD #define ST_PTR ST -#ifdef __tilegx__ #define SHL_PTR_ADD shl3add -#else -#define SHL_PTR_ADD s2a -#endif #endif #endif /* __ASSEMBLER__ */ diff --git a/sysdeps/tile/tilepro/Implies b/sysdeps/tile/tilepro/Implies deleted file mode 100644 index 709e1dc..0000000 --- a/sysdeps/tile/tilepro/Implies +++ /dev/null @@ -1,2 +0,0 @@ -tile -wordsize-32 diff --git a/sysdeps/tile/tilepro/atomic-machine.h b/sysdeps/tile/tilepro/atomic-machine.h deleted file mode 100644 index 45e36de..0000000 --- a/sysdeps/tile/tilepro/atomic-machine.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#ifndef _ATOMIC_MACHINE_H -#define _ATOMIC_MACHINE_H 1 - -#include - -#define __HAVE_64B_ATOMICS 0 -#define USE_ATOMIC_COMPILER_BUILTINS 0 -#define ATOMIC_EXCHANGE_USES_CAS 0 - -/* 32-bit integer compare-and-exchange. */ -static __inline __attribute__ ((always_inline)) -int __atomic_cmpxchg_32 (volatile int *mem, int newval, int oldval) -{ - int result; - __asm__ __volatile__ ("swint1" - : "=R00" (result), "=m" (*mem) - : "R10" (__NR_FAST_cmpxchg), "R00" (mem), - "R01" (oldval), "R02" (newval), "m" (*mem) - : "r20", "r21", "r22", "r23", "r24", - "r25", "r26", "r27", "r28", "r29", "memory"); - return result; -} - -#define atomic_compare_and_exchange_val_acq(mem, n, o) \ - ({ \ - if (sizeof (*(mem)) != 4) \ - __atomic_error_bad_argument_size (); \ - (__typeof (*(mem))) \ - __atomic_cmpxchg_32 ((int *) (mem), (int) (n), (int) (o)); \ - }) - -/* Atomically compute: - int old = *ptr; - *ptr = (old & mask) + addend; - return old; */ - -static __inline __attribute__ ((always_inline)) -int __atomic_update_32 (volatile int *mem, int mask, int addend) -{ - int result; - __asm__ __volatile__ ("swint1" - : "=R00" (result), "=m" (*mem) - : "R10" (__NR_FAST_atomic_update), "R00" (mem), - "R01" (mask), "R02" (addend), "m" (*mem) - : "r20", "r21", "r22", "r23", "r24", - "r25", "r26", "r27", "r28", "r29", "memory"); - return result; -} - -/* Size-checked verson of __atomic_update_32. */ -#define __atomic_update(mem, mask, addend) \ - ({ \ - if (sizeof (*(mem)) != 4) \ - __atomic_error_bad_argument_size (); \ - (__typeof (*(mem))) \ - __atomic_update_32 ((int *) (mem), (int) (mask), (int) (addend)); \ - }) - -#define atomic_exchange_acq(mem, newvalue) \ - __atomic_update ((mem), 0, (newvalue)) -#define atomic_exchange_and_add(mem, value) \ - __atomic_update ((mem), -1, (value)) -#define atomic_and_val(mem, mask) \ - __atomic_update ((mem), (mask), 0) -#define atomic_or_val(mem, mask) \ - ({ __typeof (mask) __att1_v = (mask); \ - __atomic_update ((mem), ~__att1_v, __att1_v); }) - -/* - * We must use the kernel atomics for atomic_store, since otherwise an - * unsynchronized store could become visible after another core's - * kernel-atomic implementation had read the memory word in question, - * but before it had written the updated value to it, which would - * cause the unsynchronized store to be lost. - */ -#define atomic_store_relaxed(mem, val) atomic_exchange_acq (mem, val) -#define atomic_store_release(mem, val) atomic_exchange_rel (mem, val) - -#include - -#endif /* atomic-machine.h */ diff --git a/sysdeps/tile/tilepro/bits/wordsize.h b/sysdeps/tile/tilepro/bits/wordsize.h deleted file mode 100644 index d2c4a35..0000000 --- a/sysdeps/tile/tilepro/bits/wordsize.h +++ /dev/null @@ -1,6 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#define __WORDSIZE 32 -#define __WORDSIZE_TIME64_COMPAT32 0 -#define __WORDSIZE32_SIZE_ULONG 0 -#define __WORDSIZE32_PTRDIFF_LONG 0 diff --git a/sysdeps/tile/tilepro/memchr.c b/sysdeps/tile/tilepro/memchr.c deleted file mode 100644 index fba1f70..0000000 --- a/sysdeps/tile/tilepro/memchr.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -void * -__memchr (const void *s, int c, size_t n) -{ - const uint32_t *last_word_ptr; - const uint32_t *p; - const char *last_byte_ptr; - uintptr_t s_int; - uint32_t goal, before_mask, v, bits; - char *ret; - - if (__builtin_expect (n == 0, 0)) - { - /* Don't dereference any memory if the array is empty. */ - return NULL; - } - - /* Get an aligned pointer. */ - s_int = (uintptr_t) s; - p = (const uint32_t *) (s_int & -4); - - /* Create four copies of the byte for which we are looking. */ - goal = 0x01010101 * (uint8_t) c; - - /* Read the first word, but munge it so that bytes before the array - will not match goal. Note that this shift count expression works - because we know shift counts are taken mod 32. */ - before_mask = (1 << (s_int << 3)) - 1; - v = (*p | before_mask) ^ (goal & before_mask); - - /* Compute the address of the last byte. */ - last_byte_ptr = (const char *) s + n - 1; - - /* Handle possible addition overflow. */ - if (__glibc_unlikely ((uintptr_t) last_byte_ptr < (uintptr_t) s)) - last_byte_ptr = (const char *) UINTPTR_MAX; - - /* Compute the address of the word containing the last byte. */ - last_word_ptr = (const uint32_t *) ((uintptr_t) last_byte_ptr & -4); - - while ((bits = __insn_seqb (v, goal)) == 0) - { - if (__builtin_expect (p == last_word_ptr, 0)) - { - /* We already read the last word in the array, so give up. */ - return NULL; - } - v = *++p; - } - - /* We found a match, but it might be in a byte past the end of the array. */ - ret = ((char *) p) + (__insn_ctz (bits) >> 3); - return (ret <= last_byte_ptr) ? ret : NULL; -} -weak_alias (__memchr, memchr) -libc_hidden_builtin_def (memchr) diff --git a/sysdeps/tile/tilepro/memcpy.S b/sysdeps/tile/tilepro/memcpy.S deleted file mode 100644 index 0f73ccb..0000000 --- a/sysdeps/tile/tilepro/memcpy.S +++ /dev/null @@ -1,397 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - - .text -ENTRY (__memcpy) - FEEDBACK_ENTER(__memcpy) - - /* r0 is the dest, r1 is the source, r2 is the size. */ - - /* Save aside original dest so we can return it at the end. */ - { sw sp, lr; move r23, r0; or r4, r0, r1 } - cfi_offset (lr, 0) - - /* Check for an empty size. */ - { bz r2, .Ldone; andi r4, r4, 3 } - - /* Check for an unaligned source or dest. */ - { bnz r4, .Lcopy_unaligned_maybe_many; addli r4, r2, -256 } - -.Lcheck_aligned_copy_size: - /* If we are copying < 256 bytes, branch to simple case. */ - { blzt r4, .Lcopy_8_check; slti_u r8, r2, 8 } - - /* Copying >= 256 bytes, so jump to complex prefetching loop. */ - { andi r6, r1, 63; j .Lcopy_many } - -/* Aligned 4 byte at a time copy loop. */ - -.Lcopy_8_loop: - /* Copy two words at a time to hide load latency. */ - { lw r3, r1; addi r1, r1, 4; slti_u r8, r2, 16 } - { lw r4, r1; addi r1, r1, 4 } - { sw r0, r3; addi r0, r0, 4; addi r2, r2, -4 } - { sw r0, r4; addi r0, r0, 4; addi r2, r2, -4 } -.Lcopy_8_check: - { bzt r8, .Lcopy_8_loop; slti_u r4, r2, 4 } - - /* Copy odd leftover word, if any. */ - { bnzt r4, .Lcheck_odd_stragglers } - { lw r3, r1; addi r1, r1, 4 } - { sw r0, r3; addi r0, r0, 4; addi r2, r2, -4 } - -.Lcheck_odd_stragglers: - { bnz r2, .Lcopy_unaligned_few } - -.Ldone: - { move r0, r23; jrp lr } - -/* Prefetching multiple cache line copy handler (for large transfers). */ - - /* Copy words until r1 is cache-line-aligned. */ -.Lalign_loop: - { lw r3, r1; addi r1, r1, 4 } - { andi r6, r1, 63 } - { sw r0, r3; addi r0, r0, 4; addi r2, r2, -4 } -.Lcopy_many: - { bnzt r6, .Lalign_loop; addi r9, r0, 63 } - - { addi r3, r1, 60; andi r9, r9, -64 } - - /* No need to prefetch dst, we'll just do the wh64 - right before we copy a line. */ - { lw r5, r3; addi r3, r3, 64; movei r4, 1 } - /* Intentionally stall for a few cycles to leave L2 cache alone. */ - { bnzt zero, .; move r27, lr } - { lw r6, r3; addi r3, r3, 64 } - /* Intentionally stall for a few cycles to leave L2 cache alone. */ - { bnzt zero, . } - { lw r7, r3; addi r3, r3, 64 } - /* Intentionally stall for a few cycles to leave L2 cache alone. */ - { bz zero, .Lbig_loop2 } - - /* On entry to this loop: - - r0 points to the start of dst line 0 - - r1 points to start of src line 0 - - r2 >= (256 - 60), only the first time the loop trips. - - r3 contains r1 + 128 + 60 [pointer to end of source line 2] - This is our prefetch address. When we get near the end - rather than prefetching off the end this is changed to point - to some "safe" recently loaded address. - - r5 contains *(r1 + 60) [i.e. last word of source line 0] - - r6 contains *(r1 + 64 + 60) [i.e. last word of source line 1] - - r9 contains ((r0 + 63) & -64) - [start of next dst cache line.] */ - -.Lbig_loop: - { jal .Lcopy_line2; add r15, r1, r2 } - -.Lbig_loop2: - /* Copy line 0, first stalling until r5 is ready. */ - { move r12, r5; lw r16, r1 } - { bz r4, .Lcopy_8_check; slti_u r8, r2, 8 } - /* Prefetch several lines ahead. */ - { lw r5, r3; addi r3, r3, 64 } - { jal .Lcopy_line } - - /* Copy line 1, first stalling until r6 is ready. */ - { move r12, r6; lw r16, r1 } - { bz r4, .Lcopy_8_check; slti_u r8, r2, 8 } - /* Prefetch several lines ahead. */ - { lw r6, r3; addi r3, r3, 64 } - { jal .Lcopy_line } - - /* Copy line 2, first stalling until r7 is ready. */ - { move r12, r7; lw r16, r1 } - { bz r4, .Lcopy_8_check; slti_u r8, r2, 8 } - /* Prefetch several lines ahead. */ - { lw r7, r3; addi r3, r3, 64 } - /* Use up a caches-busy cycle by jumping back to the top of the - loop. Might as well get it out of the way now. */ - { j .Lbig_loop } - - - /* On entry: - - r0 points to the destination line. - - r1 points to the source line. - - r3 is the next prefetch address. - - r9 holds the last address used for wh64. - - r12 = WORD_15 - - r16 = WORD_0. - - r17 == r1 + 16. - - r27 holds saved lr to restore. - - On exit: - - r0 is incremented by 64. - - r1 is incremented by 64, unless that would point to a word - beyond the end of the source array, in which case it is redirected - to point to an arbitrary word already in the cache. - - r2 is decremented by 64. - - r3 is unchanged, unless it points to a word beyond the - end of the source array, in which case it is redirected - to point to an arbitrary word already in the cache. - Redirecting is OK since if we are that close to the end - of the array we will not come back to this subroutine - and use the contents of the prefetched address. - - r4 is nonzero iff r2 >= 64. - - r9 is incremented by 64, unless it points beyond the - end of the last full destination cache line, in which - case it is redirected to a "safe address" that can be - clobbered (sp - 64) - - lr contains the value in r27. */ - -/* r26 unused */ - -.Lcopy_line: - /* TODO: when r3 goes past the end, we would like to redirect it - to prefetch the last partial cache line (if any) just once, for the - benefit of the final cleanup loop. But we don't want to - prefetch that line more than once, or subsequent prefetches - will go into the RTF. But then .Lbig_loop should unconditionally - branch to top of loop to execute final prefetch, and its - nop should become a conditional branch. */ - - /* We need two non-memory cycles here to cover the resources - used by the loads initiated by the caller. */ - { add r15, r1, r2 } -.Lcopy_line2: - { slt_u r13, r3, r15; addi r17, r1, 16 } - - /* NOTE: this will stall for one cycle as L1 is busy. */ - - /* Fill second L1D line. */ - { lw r17, r17; addi r1, r1, 48; mvz r3, r13, r1 } /* r17 = WORD_4 */ - - /* Prepare destination line for writing. */ - { wh64 r9; addi r9, r9, 64 } - - /* Load seven words that are L1D hits to cover wh64 L2 usage. */ - - /* Load the three remaining words from the last L1D line, which - we know has already filled the L1D. */ - { lw r4, r1; addi r1, r1, 4; addi r20, r1, 16 } /* r4 = WORD_12 */ - { lw r8, r1; addi r1, r1, 4; slt_u r13, r20, r15 }/* r8 = WORD_13 */ - { lw r11, r1; addi r1, r1, -52; mvz r20, r13, r1 } /* r11 = WORD_14 */ - - /* Load the three remaining words from the first L1D line, first - stalling until it has filled by "looking at" r16. */ - { lw r13, r1; addi r1, r1, 4; move zero, r16 } /* r13 = WORD_1 */ - { lw r14, r1; addi r1, r1, 4 } /* r14 = WORD_2 */ - { lw r15, r1; addi r1, r1, 8; addi r10, r0, 60 } /* r15 = WORD_3 */ - - /* Load second word from the second L1D line, first - stalling until it has filled by "looking at" r17. */ - { lw r19, r1; addi r1, r1, 4; move zero, r17 } /* r19 = WORD_5 */ - - /* Store last word to the destination line, potentially dirtying it - for the first time, which keeps the L2 busy for two cycles. */ - { sw r10, r12 } /* store(WORD_15) */ - - /* Use two L1D hits to cover the sw L2 access above. */ - { lw r10, r1; addi r1, r1, 4 } /* r10 = WORD_6 */ - { lw r12, r1; addi r1, r1, 4 } /* r12 = WORD_7 */ - - /* Fill third L1D line. */ - { lw r18, r1; addi r1, r1, 4 } /* r18 = WORD_8 */ - - /* Store first L1D line. */ - { sw r0, r16; addi r0, r0, 4; add r16, r0, r2 } /* store(WORD_0) */ - { sw r0, r13; addi r0, r0, 4; andi r16, r16, -64 } /* store(WORD_1) */ - { sw r0, r14; addi r0, r0, 4; slt_u r16, r9, r16 } /* store(WORD_2) */ - { sw r0, r15; addi r0, r0, 4; addi r13, sp, -64 } /* store(WORD_3) */ - - /* Store second L1D line. */ - { sw r0, r17; addi r0, r0, 4; mvz r9, r16, r13 }/* store(WORD_4) */ - { sw r0, r19; addi r0, r0, 4 } /* store(WORD_5) */ - { sw r0, r10; addi r0, r0, 4 } /* store(WORD_6) */ - { sw r0, r12; addi r0, r0, 4 } /* store(WORD_7) */ - - { lw r13, r1; addi r1, r1, 4; move zero, r18 } /* r13 = WORD_9 */ - { lw r14, r1; addi r1, r1, 4 } /* r14 = WORD_10 */ - { lw r15, r1; move r1, r20 } /* r15 = WORD_11 */ - - /* Store third L1D line. */ - { sw r0, r18; addi r0, r0, 4 } /* store(WORD_8) */ - { sw r0, r13; addi r0, r0, 4 } /* store(WORD_9) */ - { sw r0, r14; addi r0, r0, 4 } /* store(WORD_10) */ - { sw r0, r15; addi r0, r0, 4 } /* store(WORD_11) */ - - /* Store rest of fourth L1D line. */ - { sw r0, r4; addi r0, r0, 4 } /* store(WORD_12) */ - { - sw r0, r8 /* store(WORD_13) */ - addi r0, r0, 4 - /* Will r2 be > 64 after we subtract 64 below? */ - shri r4, r2, 7 - } - { - sw r0, r11 /* store(WORD_14) */ - addi r0, r0, 8 - /* Record 64 bytes successfully copied. */ - addi r2, r2, -64 - } - - { jrp lr; move lr, r27 } - - /* Convey to the backtrace library that the stack frame is - size zero, and the real return address is on the stack - rather than in 'lr'. */ - { info 8 } - - .align 64 -.Lcopy_unaligned_maybe_many: - /* Skip the setup overhead if we aren't copying many bytes. */ - { slti_u r8, r2, 20; sub r4, zero, r0 } - { bnzt r8, .Lcopy_unaligned_few; andi r4, r4, 3 } - { bz r4, .Ldest_is_word_aligned; add r18, r1, r2 } - -/* Unaligned 4 byte at a time copy handler. */ - - /* Copy single bytes until r0 == 0 mod 4, so we can store words. */ -.Lalign_dest_loop: - { lb_u r3, r1; addi r1, r1, 1; addi r4, r4, -1 } - { sb r0, r3; addi r0, r0, 1; addi r2, r2, -1 } - { bnzt r4, .Lalign_dest_loop; andi r3, r1, 3 } - - /* If source and dest are now *both* aligned, do an aligned copy. */ - { bz r3, .Lcheck_aligned_copy_size; addli r4, r2, -256 } - -.Ldest_is_word_aligned: - - { andi r8, r0, 63; lwadd_na r6, r1, 4} - { slti_u r9, r2, 64; bz r8, .Ldest_is_L2_line_aligned } - - /* This copies unaligned words until either there are fewer - than 4 bytes left to copy, or until the destination pointer - is cache-aligned, whichever comes first. - - On entry: - - r0 is the next store address. - - r1 points 4 bytes past the load address corresponding to r0. - - r2 >= 4 - - r6 is the next aligned word loaded. */ -.Lcopy_unaligned_src_words: - { lwadd_na r7, r1, 4; slti_u r8, r2, 4 + 4 } - /* stall */ - { dword_align r6, r7, r1; slti_u r9, r2, 64 + 4 } - { swadd r0, r6, 4; addi r2, r2, -4 } - { bnz r8, .Lcleanup_unaligned_words; andi r8, r0, 63 } - { bnzt r8, .Lcopy_unaligned_src_words; move r6, r7 } - - /* On entry: - - r0 is the next store address. - - r1 points 4 bytes past the load address corresponding to r0. - - r2 >= 4 (# of bytes left to store). - - r6 is the next aligned src word value. - - r9 = (r2 < 64U). - - r18 points one byte past the end of source memory. */ -.Ldest_is_L2_line_aligned: - - { - /* Not a full cache line remains. */ - bnz r9, .Lcleanup_unaligned_words - move r7, r6 - } - - /* r2 >= 64 */ - - /* Kick off two prefetches, but don't go past the end. */ - { addi r3, r1, 63 - 4; addi r8, r1, 64 + 63 - 4 } - { prefetch r3; move r3, r8; slt_u r8, r8, r18 } - { mvz r3, r8, r1; addi r8, r3, 64 } - { prefetch r3; move r3, r8; slt_u r8, r8, r18 } - { mvz r3, r8, r1; movei r17, 0 } - -.Lcopy_unaligned_line: - /* Prefetch another line. */ - { prefetch r3; addi r15, r1, 60; addi r3, r3, 64 } - /* Fire off a load of the last word we are about to copy. */ - { lw_na r15, r15; slt_u r8, r3, r18 } - - { mvz r3, r8, r1; wh64 r0 } - - /* This loop runs twice. - - On entry: - - r17 is even before the first iteration, and odd before - the second. It is incremented inside the loop. Encountering - an even value at the end of the loop makes it stop. */ -.Lcopy_half_an_unaligned_line: - { - /* Stall until the last byte is ready. In the steady state this - guarantees all words to load below will be in the L2 cache, which - avoids shunting the loads to the RTF. */ - move zero, r15 - lwadd_na r7, r1, 16 - } - { lwadd_na r11, r1, 12 } - { lwadd_na r14, r1, -24 } - { lwadd_na r8, r1, 4 } - { lwadd_na r9, r1, 4 } - { - lwadd_na r10, r1, 8 - /* r16 = (r2 < 64), after we subtract 32 from r2 below. */ - slti_u r16, r2, 64 + 32 - } - { lwadd_na r12, r1, 4; addi r17, r17, 1 } - { lwadd_na r13, r1, 8; dword_align r6, r7, r1 } - { swadd r0, r6, 4; dword_align r7, r8, r1 } - { swadd r0, r7, 4; dword_align r8, r9, r1 } - { swadd r0, r8, 4; dword_align r9, r10, r1 } - { swadd r0, r9, 4; dword_align r10, r11, r1 } - { swadd r0, r10, 4; dword_align r11, r12, r1 } - { swadd r0, r11, 4; dword_align r12, r13, r1 } - { swadd r0, r12, 4; dword_align r13, r14, r1 } - { swadd r0, r13, 4; addi r2, r2, -32 } - { move r6, r14; bbst r17, .Lcopy_half_an_unaligned_line } - - { bzt r16, .Lcopy_unaligned_line; move r7, r6 } - - /* On entry: - - r0 is the next store address. - - r1 points 4 bytes past the load address corresponding to r0. - - r2 >= 0 (# of bytes left to store). - - r7 is the next aligned src word value. */ -.Lcleanup_unaligned_words: - /* Handle any trailing bytes. */ - { bz r2, .Lcopy_unaligned_done; slti_u r8, r2, 4 } - { bzt r8, .Lcopy_unaligned_src_words; move r6, r7 } - - /* Move r1 back to the point where it corresponds to r0. */ - { addi r1, r1, -4 } - - /* Fall through */ - -/* 1 byte at a time copy handler. */ - -.Lcopy_unaligned_few: - { lb_u r3, r1; addi r1, r1, 1 } - { sb r0, r3; addi r0, r0, 1; addi r2, r2, -1 } - { bnzt r2, .Lcopy_unaligned_few } - -.Lcopy_unaligned_done: - - { move r0, r23; jrp lr } - -END (__memcpy) - -weak_alias (__memcpy, memcpy) -libc_hidden_builtin_def (memcpy) diff --git a/sysdeps/tile/tilepro/memset.c b/sysdeps/tile/tilepro/memset.c deleted file mode 100644 index aaeaaca..0000000 --- a/sysdeps/tile/tilepro/memset.c +++ /dev/null @@ -1,151 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include -#include - -void * inhibit_loop_to_libcall -__memset (void *s, int c, size_t n) -{ - uint32_t *out32; - int n32; - uint32_t v16, v32; - uint8_t *out8 = s; - int to_align32; - - /* Experimentation shows that a trivial tight loop is a win up until - around a size of 20, where writing a word at a time starts to win. */ -#define BYTE_CUTOFF 20 - -#if BYTE_CUTOFF < 3 - /* This must be at least at least this big, or some code later - on doesn't work. */ -# error "BYTE_CUTOFF is too small." -#endif - - if (n < BYTE_CUTOFF) - { - /* Strangely, this turns out to be the tightest way to write - this loop. */ - if (n != 0) - { - do - { - /* Strangely, combining these into one line performs worse. */ - *out8 = c; - out8++; - } - while (--n != 0); - } - - return s; - } - - /* Align 'out8'. We know n >= 3 so this won't write past the end. */ - while (((uintptr_t) out8 & 3) != 0) - { - *out8++ = c; - --n; - } - - /* Align 'n'. */ - while (n & 3) - out8[--n] = c; - - out32 = (uint32_t *) out8; - n32 = n >> 2; - - /* Tile input byte out to 32 bits. */ - v16 = __insn_intlb (c, c); - v32 = __insn_intlh (v16, v16); - - /* This must be at least 8 or the following loop doesn't work. */ -#define CACHE_LINE_SIZE_IN_WORDS (CHIP_L2_LINE_SIZE() / 4) - - /* Determine how many words we need to emit before the 'out32' - pointer becomes aligned modulo the cache line size. */ - to_align32 = (-((uintptr_t) out32 >> 2)) & (CACHE_LINE_SIZE_IN_WORDS - 1); - - /* Only bother aligning and using wh64 if there is at least one full - cache line to process. This check also prevents overrunning the - end of the buffer with alignment words. */ - if (to_align32 <= n32 - CACHE_LINE_SIZE_IN_WORDS) - { - int lines_left; - - /* Align out32 mod the cache line size so we can use wh64. */ - n32 -= to_align32; - for (; to_align32 != 0; to_align32--) - { - *out32 = v32; - out32++; - } - - /* Use unsigned divide to turn this into a right shift. */ - lines_left = (unsigned) n32 / CACHE_LINE_SIZE_IN_WORDS; - - do - { - /* Only wh64 a few lines at a time, so we don't exceed the - maximum number of victim lines. */ - int x = ((lines_left < CHIP_MAX_OUTSTANDING_VICTIMS ())? lines_left - : CHIP_MAX_OUTSTANDING_VICTIMS ()); - uint32_t *wh = out32; - int i = x; - int j; - - lines_left -= x; - - do - { - __insn_wh64 (wh); - wh += CACHE_LINE_SIZE_IN_WORDS; - } - while (--i); - - for (j = x * (CACHE_LINE_SIZE_IN_WORDS / 4); j != 0; j--) - { - *out32++ = v32; - *out32++ = v32; - *out32++ = v32; - *out32++ = v32; - } - } - while (lines_left != 0); - - /* We processed all full lines above, so only this many words - remain to be processed. */ - n32 &= CACHE_LINE_SIZE_IN_WORDS - 1; - } - - /* Now handle any leftover values. */ - if (n32 != 0) - { - do - { - *out32 = v32; - out32++; - } - while (--n32 != 0); - } - - return s; -} -weak_alias (__memset, memset) -libc_hidden_builtin_def (memset) diff --git a/sysdeps/tile/tilepro/memusage.h b/sysdeps/tile/tilepro/memusage.h deleted file mode 100644 index 9ed4600..0000000 --- a/sysdeps/tile/tilepro/memusage.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include - -#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; }) - -#define GETTIME(low,high) \ - { \ - low = __insn_mfspr (SPR_CYCLE_LOW); \ - high = __insn_mfspr (SPR_CYCLE_HIGH); \ - } - -#include diff --git a/sysdeps/tile/tilepro/rawmemchr.c b/sysdeps/tile/tilepro/rawmemchr.c deleted file mode 100644 index a5e7144..0000000 --- a/sysdeps/tile/tilepro/rawmemchr.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -void * -__rawmemchr (const void *s, int c) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint32_t *p = (const uint32_t *) (s_int & -4); - - /* Create four copies of the byte for which we are looking. */ - const uint32_t goal = 0x01010101 * (uint8_t) c; - - /* Read the first word, but munge it so that bytes before the array - will not match goal. Note that this shift count expression works - because we know shift counts are taken mod 32. */ - const uint32_t before_mask = (1 << (s_int << 3)) - 1; - uint32_t v = (*p | before_mask) ^ (goal & before_mask); - - uint32_t bits; - while ((bits = __insn_seqb (v, goal)) == 0) - v = *++p; - - return ((char *) p) + (__insn_ctz (bits) >> 3); -} -libc_hidden_def (__rawmemchr) -weak_alias (__rawmemchr, rawmemchr) diff --git a/sysdeps/tile/tilepro/strchr.c b/sysdeps/tile/tilepro/strchr.c deleted file mode 100644 index 11f8cda..0000000 --- a/sysdeps/tile/tilepro/strchr.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -#undef strchr - -char * -strchr (const char *s, int c) -{ - int z, g; - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint32_t *p = (const uint32_t *) (s_int & -4); - - /* Create four copies of the byte for which we are looking. */ - const uint32_t goal = 0x01010101 * (uint8_t) c; - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each - byte is 1, and the low 7 bits are all the opposite of the goal - byte). Note that this shift count expression works because we - know shift counts are taken mod 32. */ - const uint32_t before_mask = (1 << (s_int << 3)) - 1; - uint32_t v = (*p | before_mask) ^ (goal & __insn_shrib (before_mask, 1)); - - uint32_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = __insn_seqb (v, 0); - - /* Look for the goal byte. */ - goal_matches = __insn_seqb (v, goal); - - if (__builtin_expect ((zero_matches | goal_matches) != 0, 0)) - break; - - v = *++p; - } - - z = __insn_ctz (zero_matches); - g = __insn_ctz (goal_matches); - - /* If we found c before '\0' we got a match. Note that if c == '\0' - then g == z, and we correctly return the address of the '\0' - rather than NULL. */ - return (g <= z) ? ((char *) p) + (g >> 3) : NULL; -} -weak_alias (strchr, index) -libc_hidden_builtin_def (strchr) diff --git a/sysdeps/tile/tilepro/strchrnul.c b/sysdeps/tile/tilepro/strchrnul.c deleted file mode 100644 index 3220ad7..0000000 --- a/sysdeps/tile/tilepro/strchrnul.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -char * -__strchrnul (const char *s, int c) -{ - int z, g; - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint32_t *p = (const uint32_t *) (s_int & -4); - - /* Create four copies of the byte for which we are looking. */ - const uint32_t goal = 0x01010101 * (uint8_t) c; - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each - byte is 1, and the low 7 bits are all the opposite of the goal - byte). Note that this shift count expression works because we - know shift counts are taken mod 32. */ - const uint32_t before_mask = (1 << (s_int << 3)) - 1; - uint32_t v = (*p | before_mask) ^ (goal & __insn_shrib (before_mask, 1)); - - uint32_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = __insn_seqb (v, 0); - - /* Look for the goal byte. */ - goal_matches = __insn_seqb (v, goal); - - if (__builtin_expect ((zero_matches | goal_matches) != 0, 0)) - break; - - v = *++p; - } - - z = __insn_ctz (zero_matches); - g = __insn_ctz (goal_matches); - - /* Return a pointer to the NUL or goal, whichever is first. */ - if (z < g) - g = z; - return ((char *) p) + (g >> 3); -} -weak_alias (__strchrnul, strchrnul) diff --git a/sysdeps/tile/tilepro/strlen.c b/sysdeps/tile/tilepro/strlen.c deleted file mode 100644 index adad3d8..0000000 --- a/sysdeps/tile/tilepro/strlen.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -size_t -strlen (const char *s) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint32_t *p = (const uint32_t *) (s_int & -4); - - /* Read the first word, but force bytes before the string to be nonzero. - This expression works because we know shift counts are taken mod 32. */ - uint32_t v = *p | ((1 << (s_int << 3)) - 1); - - uint32_t bits; - while ((bits = __insn_seqb (v, 0)) == 0) - v = *++p; - - return ((const char *) p) + (__insn_ctz (bits) >> 3) - s; -} -libc_hidden_builtin_def (strlen) diff --git a/sysdeps/tile/tilepro/strrchr.c b/sysdeps/tile/tilepro/strrchr.c deleted file mode 100644 index b30d259..0000000 --- a/sysdeps/tile/tilepro/strrchr.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include -#include - -char * -strrchr (const char *s, int c) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint32_t *p = (const uint32_t *) (s_int & -4); - - /* Create four copies of the byte for which we are looking. */ - const uint32_t goal = 0x01010101 * (uint8_t) c; - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each - byte is 1, and the low 7 bits are all the opposite of the goal - byte). Note that this shift count expression works because we - know shift counts are taken mod 32. */ - const uint32_t before_mask = (1 << (s_int << 3)) - 1; - uint32_t v = (*p | before_mask) ^ (goal & __insn_shrib (before_mask, 1)); - const char *found = NULL; - uint32_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = __insn_seqb (v, 0); - - /* Look for the goal byte. */ - goal_matches = __insn_seqb (v, goal); - - /* If we found the goal, record the last offset. */ - if (__builtin_expect (goal_matches != 0, 0)) - { - if (__builtin_expect (zero_matches != 0, 0)) - { - /* Clear any goal after the first zero. */ - int first_nul = __insn_ctz (zero_matches); - /* The number of top bits we need to clear is - 32 - (first_nul + 8). */ - int shift_amt = (24 - first_nul); - goal_matches <<= shift_amt; - goal_matches >>= shift_amt; - } - if (__builtin_expect (goal_matches != 0, 1)) - found = ((char *) p) + 3 - (__insn_clz (goal_matches) >> 3); - } - - if (__builtin_expect (zero_matches != 0, 0)) - return (char *) found; - - v = *++p; - } -} -weak_alias (strrchr, rindex) -libc_hidden_builtin_def (strrchr) diff --git a/sysdeps/tile/tls-macros.h b/sysdeps/tile/tls-macros.h index 878358a..47689b3 100644 --- a/sysdeps/tile/tls-macros.h +++ b/sysdeps/tile/tls-macros.h @@ -16,16 +16,10 @@ License along with the GNU C Library. If not, see . */ -#ifdef __tilegx__ #define TLS_GD_OFFSET(x) \ "moveli r0, hw1_last_tls_gd(" #x ")\n\t" \ "shl16insli r0, r0, hw0_tls_gd(" #x ")\n\t" \ "addi r0, %1, tls_add(" #x ")\n\t" -#else -#define TLS_GD_OFFSET(x) \ - "auli r0, %1, tls_gd_ha16(" #x ")\n\t" \ - "addli r0, r0, tls_gd_lo16(" #x ")\n\t" -#endif #define TLS_GD(x) \ ({ \ @@ -42,18 +36,11 @@ /* No special support for LD mode. */ #define TLS_LD TLS_GD -#ifdef __tilegx__ #define TLS_IE_OFFSET(x) \ "moveli %0, hw1_last_tls_ie(" #x ")\n\t" \ "shl16insli %0, %0, hw0_tls_ie(" #x ")\n\t" \ "addi %0, %1, tls_add(" #x ")\n\t" #define LD_TLS "ld_tls" -#else -#define TLS_IE_OFFSET(x) \ - "auli %0, %1, tls_ie_ha16(" #x ")\n\t" \ - "addli %0, %0, tls_ie_lo16(" #x ")\n\t" -#define LD_TLS "lw_tls" -#endif #define TLS_IE(x) \ ({ \ @@ -66,16 +53,10 @@ "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_)); \ __retval; }) -#ifdef __tilegx__ #define _TLS_LE(x) \ "moveli %0, hw1_last_tls_le(" #x ")\n\t" \ "shl16insli %0, %0, hw0_tls_le(" #x ")\n\t" \ "add %0, %0, tp" -#else -#define _TLS_LE(x) \ - "auli %0, tp, tls_le_ha16(" #x ")\n\t" \ - "addli %0, %0, tls_le_lo16(" #x ")\n\t" -#endif #define TLS_LE(x) \ ({ \ diff --git a/sysdeps/tile/wordcopy.c b/sysdeps/tile/wordcopy.c index 2f93e5a..027a4d6 100644 --- a/sysdeps/tile/wordcopy.c +++ b/sysdeps/tile/wordcopy.c @@ -31,11 +31,7 @@ /* Provide the appropriate dblalign builtin to shift two registers based on the alignment of a pointer held in a third register. */ -#ifdef __tilegx__ #define DBLALIGN __insn_dblalign -#else -#define DBLALIGN __insn_dword_align -#endif /* _wordcopy_fwd_aligned -- Copy block beginning at SRCP to block beginning at DSTP with LEN `op_t' words (not LEN bytes!). diff --git a/sysdeps/unix/sysv/linux/tile/bits/environments.h b/sysdeps/unix/sysv/linux/tile/bits/environments.h index 67cfc84..7632901 100644 --- a/sysdeps/unix/sysv/linux/tile/bits/environments.h +++ b/sysdeps/unix/sysv/linux/tile/bits/environments.h @@ -89,12 +89,10 @@ #endif /* __WORDSIZE == 32 */ -#ifdef __tilegx__ -/* Only TILE-Gx has the ability to choose 32- or 64-bit. */ +/* TILE-Gx has the ability to choose 32- or 64-bit. */ #define __ILP32_OFF32_CFLAGS "-m32" #define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" #define __ILP32_OFF32_LDFLAGS "-m32" #define __ILP32_OFFBIG_LDFLAGS "-m32" #define __LP64_OFF64_CFLAGS "-m64" #define __LP64_OFF64_LDFLAGS "-m64" -#endif diff --git a/sysdeps/unix/sysv/linux/tile/sysconf.c b/sysdeps/unix/sysv/linux/tile/sysconf.c index a224193..ee3188f 100644 --- a/sysdeps/unix/sysv/linux/tile/sysconf.c +++ b/sysdeps/unix/sysv/linux/tile/sysconf.c @@ -25,8 +25,8 @@ static long int linux_sysconf (int name); long int __sysconf (int name) { - /* Currently we support only tilepro and tilegx, which have - statically-known cache sizes. */ + /* Currently we support only tilegx, which have statically-known cache + sizes. */ switch (name) { /* Level 1 cache. */ diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/Implies b/sysdeps/unix/sysv/linux/tile/tilepro/Implies deleted file mode 100644 index 0023bb7..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/Implies +++ /dev/null @@ -1,3 +0,0 @@ -unix/sysv/linux/tile -unix/sysv/linux/generic/wordsize-32 -unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data deleted file mode 100644 index 303f457..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data +++ /dev/null @@ -1,67 +0,0 @@ -blkcnt64_t:x -blkcnt_t:l -blksize_t:i -caddr_t:Pc -clockid_t:i -clock_t:l -daddr_t:i -dev_t:y -fd_mask:l -fsblkcnt64_t:y -fsblkcnt_t:m -fsfilcnt64_t:y -fsfilcnt_t:m -fsid_t:8__fsid_t -gid_t:j -id_t:j -ino64_t:y -ino_t:m -int16_t:s -int32_t:i -int64_t:x -int8_t:a -intptr_t:i -key_t:i -loff_t:x -mode_t:j -nlink_t:j -off64_t:x -off_t:l -pid_t:i -pthread_attr_t:14pthread_attr_t -pthread_barrier_t:17pthread_barrier_t -pthread_barrierattr_t:21pthread_barrierattr_t -pthread_cond_t:14pthread_cond_t -pthread_condattr_t:18pthread_condattr_t -pthread_key_t:j -pthread_mutex_t:15pthread_mutex_t -pthread_mutexattr_t:19pthread_mutexattr_t -pthread_once_t:i -pthread_rwlock_t:16pthread_rwlock_t -pthread_rwlockattr_t:20pthread_rwlockattr_t -pthread_spinlock_t:i -pthread_t:m -quad_t:x -register_t:i -rlim64_t:y -rlim_t:m -sigset_t:10__sigset_t -size_t:j -socklen_t:j -ssize_t:i -suseconds_t:l -time_t:l -u_char:h -uid_t:j -uint:j -u_int:j -u_int16_t:t -u_int32_t:j -u_int64_t:y -u_int8_t:h -ulong:m -u_long:m -u_quad_t:y -useconds_t:j -ushort:t -u_short:t diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h deleted file mode 100644 index 411e62a..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h +++ /dev/null @@ -1,6 +0,0 @@ -#define JMP_BUF_SIZE 260 -#define SIGJMP_BUF_SIZE 260 -#define JMP_BUF_ALIGN 4 -#define SIGJMP_BUF_ALIGN 4 -#define MASK_WAS_SAVED_OFFSET 128 -#define SAVED_MASK_OFFSET 132 diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist deleted file mode 100644 index f166310..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist +++ /dev/null @@ -1,9 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __libc_stack_end D 0x4 -GLIBC_2.12 __tls_get_addr F -GLIBC_2.12 _dl_mcount F -GLIBC_2.12 _r_debug D 0x14 -GLIBC_2.12 calloc F -GLIBC_2.12 free F -GLIBC_2.12 malloc F -GLIBC_2.12 realloc F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h b/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h deleted file mode 100644 index 527825c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#include - -#define SYSDEP_KNOWN_INTERPRETER_NAMES \ - { "/lib/ld.so.1", FLAG_ELF_LIBC6 }, -#define SYSDEP_KNOWN_LIBRARY_NAMES \ - { "libc.so.6", FLAG_ELF_LIBC6 }, \ - { "libm.so.6", FLAG_ELF_LIBC6 }, diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist deleted file mode 100644 index 0d64827..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist +++ /dev/null @@ -1,2 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist deleted file mode 100644 index a3b1cc0..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist +++ /dev/null @@ -1,5 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 gai_cancel F -GLIBC_2.12 gai_error F -GLIBC_2.12 gai_suspend F -GLIBC_2.12 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist deleted file mode 100644 index dcbfbc0..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist +++ /dev/null @@ -1,2137 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _Exit F -GLIBC_2.12 _IO_2_1_stderr_ D 0xa0 -GLIBC_2.12 _IO_2_1_stdin_ D 0xa0 -GLIBC_2.12 _IO_2_1_stdout_ D 0xa0 -GLIBC_2.12 _IO_adjust_column F -GLIBC_2.12 _IO_adjust_wcolumn F -GLIBC_2.12 _IO_default_doallocate F -GLIBC_2.12 _IO_default_finish F -GLIBC_2.12 _IO_default_pbackfail F -GLIBC_2.12 _IO_default_uflow F -GLIBC_2.12 _IO_default_xsgetn F -GLIBC_2.12 _IO_default_xsputn F -GLIBC_2.12 _IO_do_write F -GLIBC_2.12 _IO_doallocbuf F -GLIBC_2.12 _IO_fclose F -GLIBC_2.12 _IO_fdopen F -GLIBC_2.12 _IO_feof F -GLIBC_2.12 _IO_ferror F -GLIBC_2.12 _IO_fflush F -GLIBC_2.12 _IO_fgetpos F -GLIBC_2.12 _IO_fgetpos64 F -GLIBC_2.12 _IO_fgets F -GLIBC_2.12 _IO_file_attach F -GLIBC_2.12 _IO_file_close F -GLIBC_2.12 _IO_file_close_it F -GLIBC_2.12 _IO_file_doallocate F -GLIBC_2.12 _IO_file_finish F -GLIBC_2.12 _IO_file_fopen F -GLIBC_2.12 _IO_file_init F -GLIBC_2.12 _IO_file_jumps D 0x54 -GLIBC_2.12 _IO_file_open F -GLIBC_2.12 _IO_file_overflow F -GLIBC_2.12 _IO_file_read F -GLIBC_2.12 _IO_file_seek F -GLIBC_2.12 _IO_file_seekoff F -GLIBC_2.12 _IO_file_setbuf F -GLIBC_2.12 _IO_file_stat F -GLIBC_2.12 _IO_file_sync F -GLIBC_2.12 _IO_file_underflow F -GLIBC_2.12 _IO_file_write F -GLIBC_2.12 _IO_file_xsputn F -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_flush_all F -GLIBC_2.12 _IO_flush_all_linebuffered F -GLIBC_2.12 _IO_fopen F -GLIBC_2.12 _IO_fprintf F -GLIBC_2.12 _IO_fputs F -GLIBC_2.12 _IO_fread F -GLIBC_2.12 _IO_free_backup_area F -GLIBC_2.12 _IO_free_wbackup_area F -GLIBC_2.12 _IO_fsetpos F -GLIBC_2.12 _IO_fsetpos64 F -GLIBC_2.12 _IO_ftell F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 _IO_fwrite F -GLIBC_2.12 _IO_getc F -GLIBC_2.12 _IO_getline F -GLIBC_2.12 _IO_getline_info F -GLIBC_2.12 _IO_gets F -GLIBC_2.12 _IO_init F -GLIBC_2.12 _IO_init_marker F -GLIBC_2.12 _IO_init_wmarker F -GLIBC_2.12 _IO_iter_begin F -GLIBC_2.12 _IO_iter_end F -GLIBC_2.12 _IO_iter_file F -GLIBC_2.12 _IO_iter_next F -GLIBC_2.12 _IO_least_wmarker F -GLIBC_2.12 _IO_link_in F -GLIBC_2.12 _IO_list_all D 0x4 -GLIBC_2.12 _IO_list_lock F -GLIBC_2.12 _IO_list_resetlock F -GLIBC_2.12 _IO_list_unlock F -GLIBC_2.12 _IO_marker_delta F -GLIBC_2.12 _IO_marker_difference F -GLIBC_2.12 _IO_padn F -GLIBC_2.12 _IO_peekc_locked F -GLIBC_2.12 _IO_popen F -GLIBC_2.12 _IO_printf F -GLIBC_2.12 _IO_proc_close F -GLIBC_2.12 _IO_proc_open F -GLIBC_2.12 _IO_putc F -GLIBC_2.12 _IO_puts F -GLIBC_2.12 _IO_remove_marker F -GLIBC_2.12 _IO_seekmark F -GLIBC_2.12 _IO_seekoff F -GLIBC_2.12 _IO_seekpos F -GLIBC_2.12 _IO_seekwmark F -GLIBC_2.12 _IO_setb F -GLIBC_2.12 _IO_setbuffer F -GLIBC_2.12 _IO_setvbuf F -GLIBC_2.12 _IO_sgetn F -GLIBC_2.12 _IO_sprintf F -GLIBC_2.12 _IO_sputbackc F -GLIBC_2.12 _IO_sputbackwc F -GLIBC_2.12 _IO_sscanf F -GLIBC_2.12 _IO_str_init_readonly F -GLIBC_2.12 _IO_str_init_static F -GLIBC_2.12 _IO_str_overflow F -GLIBC_2.12 _IO_str_pbackfail F -GLIBC_2.12 _IO_str_seekoff F -GLIBC_2.12 _IO_str_underflow F -GLIBC_2.12 _IO_sungetc F -GLIBC_2.12 _IO_sungetwc F -GLIBC_2.12 _IO_switch_to_get_mode F -GLIBC_2.12 _IO_switch_to_main_wget_area F -GLIBC_2.12 _IO_switch_to_wbackup_area F -GLIBC_2.12 _IO_switch_to_wget_mode F -GLIBC_2.12 _IO_un_link F -GLIBC_2.12 _IO_ungetc F -GLIBC_2.12 _IO_unsave_markers F -GLIBC_2.12 _IO_unsave_wmarkers F -GLIBC_2.12 _IO_vfprintf F -GLIBC_2.12 _IO_vfscanf F -GLIBC_2.12 _IO_vsprintf F -GLIBC_2.12 _IO_wdefault_doallocate F -GLIBC_2.12 _IO_wdefault_finish F -GLIBC_2.12 _IO_wdefault_pbackfail F -GLIBC_2.12 _IO_wdefault_uflow F -GLIBC_2.12 _IO_wdefault_xsgetn F -GLIBC_2.12 _IO_wdefault_xsputn F -GLIBC_2.12 _IO_wdo_write F -GLIBC_2.12 _IO_wdoallocbuf F -GLIBC_2.12 _IO_wfile_jumps D 0x54 -GLIBC_2.12 _IO_wfile_overflow F -GLIBC_2.12 _IO_wfile_seekoff F -GLIBC_2.12 _IO_wfile_sync F -GLIBC_2.12 _IO_wfile_underflow F -GLIBC_2.12 _IO_wfile_xsputn F -GLIBC_2.12 _IO_wmarker_delta F -GLIBC_2.12 _IO_wsetb F -GLIBC_2.12 ___brk_addr D 0x4 -GLIBC_2.12 __adjtimex F -GLIBC_2.12 __after_morecore_hook D 0x4 -GLIBC_2.12 __argz_count F -GLIBC_2.12 __argz_next F -GLIBC_2.12 __argz_stringify F -GLIBC_2.12 __asprintf F -GLIBC_2.12 __asprintf_chk F -GLIBC_2.12 __assert F -GLIBC_2.12 __assert_fail F -GLIBC_2.12 __assert_perror_fail F -GLIBC_2.12 __backtrace F -GLIBC_2.12 __backtrace_symbols F -GLIBC_2.12 __backtrace_symbols_fd F -GLIBC_2.12 __bsd_getpgrp F -GLIBC_2.12 __bzero F -GLIBC_2.12 __check_rhosts_file D 0x4 -GLIBC_2.12 __chk_fail F -GLIBC_2.12 __clone F -GLIBC_2.12 __close F -GLIBC_2.12 __cmsg_nxthdr F -GLIBC_2.12 __confstr_chk F -GLIBC_2.12 __connect F -GLIBC_2.12 __ctype_b_loc F -GLIBC_2.12 __ctype_get_mb_cur_max F -GLIBC_2.12 __ctype_tolower_loc F -GLIBC_2.12 __ctype_toupper_loc F -GLIBC_2.12 __curbrk D 0x4 -GLIBC_2.12 __cxa_at_quick_exit F -GLIBC_2.12 __cxa_atexit F -GLIBC_2.12 __cxa_finalize F -GLIBC_2.12 __cyg_profile_func_enter F -GLIBC_2.12 __cyg_profile_func_exit F -GLIBC_2.12 __daylight D 0x4 -GLIBC_2.12 __dcgettext F -GLIBC_2.12 __default_morecore F -GLIBC_2.12 __dgettext F -GLIBC_2.12 __dprintf_chk F -GLIBC_2.12 __dup2 F -GLIBC_2.12 __duplocale F -GLIBC_2.12 __endmntent F -GLIBC_2.12 __environ D 0x4 -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fbufsize F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __ffs F -GLIBC_2.12 __fgets_chk F -GLIBC_2.12 __fgets_unlocked_chk F -GLIBC_2.12 __fgetws_chk F -GLIBC_2.12 __fgetws_unlocked_chk F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __flbf F -GLIBC_2.12 __fork F -GLIBC_2.12 __fpending F -GLIBC_2.12 __fprintf_chk F -GLIBC_2.12 __fpu_control D 0x4 -GLIBC_2.12 __fpurge F -GLIBC_2.12 __fread_chk F -GLIBC_2.12 __fread_unlocked_chk F -GLIBC_2.12 __freadable F -GLIBC_2.12 __freading F -GLIBC_2.12 __free_hook D 0x4 -GLIBC_2.12 __freelocale F -GLIBC_2.12 __fsetlocking F -GLIBC_2.12 __fwprintf_chk F -GLIBC_2.12 __fwritable F -GLIBC_2.12 __fwriting F -GLIBC_2.12 __fxstat F -GLIBC_2.12 __fxstat64 F -GLIBC_2.12 __fxstatat F -GLIBC_2.12 __fxstatat64 F -GLIBC_2.12 __getcwd_chk F -GLIBC_2.12 __getdelim F -GLIBC_2.12 __getdomainname_chk F -GLIBC_2.12 __getgroups_chk F -GLIBC_2.12 __gethostname_chk F -GLIBC_2.12 __getlogin_r_chk F -GLIBC_2.12 __getmntent_r F -GLIBC_2.12 __getpagesize F -GLIBC_2.12 __getpgid F -GLIBC_2.12 __getpid F -GLIBC_2.12 __gets_chk F -GLIBC_2.12 __gettimeofday F -GLIBC_2.12 __getwd_chk F -GLIBC_2.12 __gmtime_r F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __isalnum_l F -GLIBC_2.12 __isalpha_l F -GLIBC_2.12 __isascii_l F -GLIBC_2.12 __isblank_l F -GLIBC_2.12 __iscntrl_l F -GLIBC_2.12 __isctype F -GLIBC_2.12 __isdigit_l F -GLIBC_2.12 __isgraph_l F -GLIBC_2.12 __isinf F -GLIBC_2.12 __isinff F -GLIBC_2.12 __islower_l F -GLIBC_2.12 __isnan F -GLIBC_2.12 __isnanf F -GLIBC_2.12 __isoc99_fscanf F -GLIBC_2.12 __isoc99_fwscanf F -GLIBC_2.12 __isoc99_scanf F -GLIBC_2.12 __isoc99_sscanf F -GLIBC_2.12 __isoc99_swscanf F -GLIBC_2.12 __isoc99_vfscanf F -GLIBC_2.12 __isoc99_vfwscanf F -GLIBC_2.12 __isoc99_vscanf F -GLIBC_2.12 __isoc99_vsscanf F -GLIBC_2.12 __isoc99_vswscanf F -GLIBC_2.12 __isoc99_vwscanf F -GLIBC_2.12 __isoc99_wscanf F -GLIBC_2.12 __isprint_l F -GLIBC_2.12 __ispunct_l F -GLIBC_2.12 __isspace_l F -GLIBC_2.12 __isupper_l F -GLIBC_2.12 __iswalnum_l F -GLIBC_2.12 __iswalpha_l F -GLIBC_2.12 __iswblank_l F -GLIBC_2.12 __iswcntrl_l F -GLIBC_2.12 __iswctype F -GLIBC_2.12 __iswctype_l F -GLIBC_2.12 __iswdigit_l F -GLIBC_2.12 __iswgraph_l F -GLIBC_2.12 __iswlower_l F -GLIBC_2.12 __iswprint_l F -GLIBC_2.12 __iswpunct_l F -GLIBC_2.12 __iswspace_l F -GLIBC_2.12 __iswupper_l F -GLIBC_2.12 __iswxdigit_l F -GLIBC_2.12 __isxdigit_l F -GLIBC_2.12 __ivaliduser F -GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x4 -GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x4 -GLIBC_2.12 __key_gendes_LOCAL D 0x4 -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_calloc F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __libc_free F -GLIBC_2.12 __libc_freeres F -GLIBC_2.12 __libc_init_first F -GLIBC_2.12 __libc_mallinfo F -GLIBC_2.12 __libc_malloc F -GLIBC_2.12 __libc_mallopt F -GLIBC_2.12 __libc_memalign F -GLIBC_2.12 __libc_pvalloc F -GLIBC_2.12 __libc_realloc F -GLIBC_2.12 __libc_sa_len F -GLIBC_2.12 __libc_start_main F -GLIBC_2.12 __libc_valloc F -GLIBC_2.12 __longjmp_chk F -GLIBC_2.12 __lseek F -GLIBC_2.12 __lxstat F -GLIBC_2.12 __lxstat64 F -GLIBC_2.12 __malloc_hook D 0x4 -GLIBC_2.12 __malloc_initialize_hook D 0x4 -GLIBC_2.12 __mbrlen F -GLIBC_2.12 __mbrtowc F -GLIBC_2.12 __mbsnrtowcs_chk F -GLIBC_2.12 __mbsrtowcs_chk F -GLIBC_2.12 __mbstowcs_chk F -GLIBC_2.12 __mcount F -GLIBC_2.12 __memalign_hook D 0x4 -GLIBC_2.12 __memcpy_chk F -GLIBC_2.12 __memmove_chk F -GLIBC_2.12 __mempcpy F -GLIBC_2.12 __mempcpy_chk F -GLIBC_2.12 __mempcpy_small F -GLIBC_2.12 __memset_chk F -GLIBC_2.12 __monstartup F -GLIBC_2.12 __morecore D 0x4 -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __newlocale F -GLIBC_2.12 __nl_langinfo_l F -GLIBC_2.12 __nss_configure_lookup F -GLIBC_2.12 __nss_database_lookup F -GLIBC_2.12 __nss_group_lookup F -GLIBC_2.12 __nss_hostname_digits_dots F -GLIBC_2.12 __nss_hosts_lookup F -GLIBC_2.12 __nss_next F -GLIBC_2.12 __nss_passwd_lookup F -GLIBC_2.12 __obstack_printf_chk F -GLIBC_2.12 __obstack_vprintf_chk F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __open64_2 F -GLIBC_2.12 __open_2 F -GLIBC_2.12 __openat64_2 F -GLIBC_2.12 __openat_2 F -GLIBC_2.12 __overflow F -GLIBC_2.12 __pipe F -GLIBC_2.12 __poll F -GLIBC_2.12 __posix_getopt F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pread64_chk F -GLIBC_2.12 __pread_chk F -GLIBC_2.12 __printf_chk F -GLIBC_2.12 __printf_fp F -GLIBC_2.12 __profile_frequency F -GLIBC_2.12 __progname D 0x4 -GLIBC_2.12 __progname_full D 0x4 -GLIBC_2.12 __ptsname_r_chk F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __rawmemchr F -GLIBC_2.12 __rcmd_errstr D 0x4 -GLIBC_2.12 __read F -GLIBC_2.12 __read_chk F -GLIBC_2.12 __readlink_chk F -GLIBC_2.12 __readlinkat_chk F -GLIBC_2.12 __realloc_hook D 0x4 -GLIBC_2.12 __realpath_chk F -GLIBC_2.12 __recv_chk F -GLIBC_2.12 __recvfrom_chk F -GLIBC_2.12 __register_atfork F -GLIBC_2.12 __res_init F -GLIBC_2.12 __res_nclose F -GLIBC_2.12 __res_ninit F -GLIBC_2.12 __res_randomid F -GLIBC_2.12 __res_state F -GLIBC_2.12 __rpc_thread_createerr F -GLIBC_2.12 __rpc_thread_svc_fdset F -GLIBC_2.12 __rpc_thread_svc_max_pollfd F -GLIBC_2.12 __rpc_thread_svc_pollfd F -GLIBC_2.12 __sbrk F -GLIBC_2.12 __sched_cpualloc F -GLIBC_2.12 __sched_cpucount F -GLIBC_2.12 __sched_cpufree F -GLIBC_2.12 __sched_get_priority_max F -GLIBC_2.12 __sched_get_priority_min F -GLIBC_2.12 __sched_getparam F -GLIBC_2.12 __sched_getscheduler F -GLIBC_2.12 __sched_setscheduler F -GLIBC_2.12 __sched_yield F -GLIBC_2.12 __secure_getenv F -GLIBC_2.12 __select F -GLIBC_2.12 __setmntent F -GLIBC_2.12 __setpgid F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __sigaddset F -GLIBC_2.12 __sigdelset F -GLIBC_2.12 __sigismember F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 __sigpause F -GLIBC_2.12 __sigsetjmp F -GLIBC_2.12 __sigsuspend F -GLIBC_2.12 __snprintf_chk F -GLIBC_2.12 __sprintf_chk F -GLIBC_2.12 __stack_chk_fail F -GLIBC_2.12 __statfs F -GLIBC_2.12 __stpcpy F -GLIBC_2.12 __stpcpy_chk F -GLIBC_2.12 __stpcpy_small F -GLIBC_2.12 __stpncpy F -GLIBC_2.12 __stpncpy_chk F -GLIBC_2.12 __strcasecmp F -GLIBC_2.12 __strcasecmp_l F -GLIBC_2.12 __strcasestr F -GLIBC_2.12 __strcat_chk F -GLIBC_2.12 __strcoll_l F -GLIBC_2.12 __strcpy_chk F -GLIBC_2.12 __strcpy_small F -GLIBC_2.12 __strcspn_c1 F -GLIBC_2.12 __strcspn_c2 F -GLIBC_2.12 __strcspn_c3 F -GLIBC_2.12 __strdup F -GLIBC_2.12 __strerror_r F -GLIBC_2.12 __strfmon_l F -GLIBC_2.12 __strftime_l F -GLIBC_2.12 __strncasecmp_l F -GLIBC_2.12 __strncat_chk F -GLIBC_2.12 __strncpy_chk F -GLIBC_2.12 __strndup F -GLIBC_2.12 __strpbrk_c2 F -GLIBC_2.12 __strpbrk_c3 F -GLIBC_2.12 __strsep_1c F -GLIBC_2.12 __strsep_2c F -GLIBC_2.12 __strsep_3c F -GLIBC_2.12 __strsep_g F -GLIBC_2.12 __strspn_c1 F -GLIBC_2.12 __strspn_c2 F -GLIBC_2.12 __strspn_c3 F -GLIBC_2.12 __strtod_internal F -GLIBC_2.12 __strtod_l F -GLIBC_2.12 __strtof_internal F -GLIBC_2.12 __strtof_l F -GLIBC_2.12 __strtok_r F -GLIBC_2.12 __strtok_r_1c F -GLIBC_2.12 __strtol_internal F -GLIBC_2.12 __strtol_l F -GLIBC_2.12 __strtold_internal F -GLIBC_2.12 __strtold_l F -GLIBC_2.12 __strtoll_internal F -GLIBC_2.12 __strtoll_l F -GLIBC_2.12 __strtoul_internal F -GLIBC_2.12 __strtoul_l F -GLIBC_2.12 __strtoull_internal F -GLIBC_2.12 __strtoull_l F -GLIBC_2.12 __strverscmp F -GLIBC_2.12 __strxfrm_l F -GLIBC_2.12 __swprintf_chk F -GLIBC_2.12 __sysconf F -GLIBC_2.12 __syslog_chk F -GLIBC_2.12 __sysv_signal F -GLIBC_2.12 __timezone D 0x4 -GLIBC_2.12 __toascii_l F -GLIBC_2.12 __tolower_l F -GLIBC_2.12 __toupper_l F -GLIBC_2.12 __towctrans F -GLIBC_2.12 __towctrans_l F -GLIBC_2.12 __towlower_l F -GLIBC_2.12 __towupper_l F -GLIBC_2.12 __ttyname_r_chk F -GLIBC_2.12 __tzname D 0x8 -GLIBC_2.12 __uflow F -GLIBC_2.12 __underflow F -GLIBC_2.12 __uselocale F -GLIBC_2.12 __vasprintf_chk F -GLIBC_2.12 __vdprintf_chk F -GLIBC_2.12 __vfork F -GLIBC_2.12 __vfprintf_chk F -GLIBC_2.12 __vfscanf F -GLIBC_2.12 __vfwprintf_chk F -GLIBC_2.12 __vprintf_chk F -GLIBC_2.12 __vsnprintf F -GLIBC_2.12 __vsnprintf_chk F -GLIBC_2.12 __vsprintf_chk F -GLIBC_2.12 __vsscanf F -GLIBC_2.12 __vswprintf_chk F -GLIBC_2.12 __vsyslog_chk F -GLIBC_2.12 __vwprintf_chk F -GLIBC_2.12 __wait F -GLIBC_2.12 __waitpid F -GLIBC_2.12 __wcpcpy_chk F -GLIBC_2.12 __wcpncpy_chk F -GLIBC_2.12 __wcrtomb_chk F -GLIBC_2.12 __wcscasecmp_l F -GLIBC_2.12 __wcscat_chk F -GLIBC_2.12 __wcscoll_l F -GLIBC_2.12 __wcscpy_chk F -GLIBC_2.12 __wcsftime_l F -GLIBC_2.12 __wcsncasecmp_l F -GLIBC_2.12 __wcsncat_chk F -GLIBC_2.12 __wcsncpy_chk F -GLIBC_2.12 __wcsnrtombs_chk F -GLIBC_2.12 __wcsrtombs_chk F -GLIBC_2.12 __wcstod_internal F -GLIBC_2.12 __wcstod_l F -GLIBC_2.12 __wcstof_internal F -GLIBC_2.12 __wcstof_l F -GLIBC_2.12 __wcstol_internal F -GLIBC_2.12 __wcstol_l F -GLIBC_2.12 __wcstold_internal F -GLIBC_2.12 __wcstold_l F -GLIBC_2.12 __wcstoll_internal F -GLIBC_2.12 __wcstoll_l F -GLIBC_2.12 __wcstombs_chk F -GLIBC_2.12 __wcstoul_internal F -GLIBC_2.12 __wcstoul_l F -GLIBC_2.12 __wcstoull_internal F -GLIBC_2.12 __wcstoull_l F -GLIBC_2.12 __wcsxfrm_l F -GLIBC_2.12 __wctomb_chk F -GLIBC_2.12 __wctrans_l F -GLIBC_2.12 __wctype_l F -GLIBC_2.12 __wmemcpy_chk F -GLIBC_2.12 __wmemmove_chk F -GLIBC_2.12 __wmempcpy_chk F -GLIBC_2.12 __wmemset_chk F -GLIBC_2.12 __woverflow F -GLIBC_2.12 __wprintf_chk F -GLIBC_2.12 __write F -GLIBC_2.12 __wuflow F -GLIBC_2.12 __wunderflow F -GLIBC_2.12 __xmknod F -GLIBC_2.12 __xmknodat F -GLIBC_2.12 __xpg_basename F -GLIBC_2.12 __xpg_sigpause F -GLIBC_2.12 __xpg_strerror_r F -GLIBC_2.12 __xstat F -GLIBC_2.12 __xstat64 F -GLIBC_2.12 _authenticate F -GLIBC_2.12 _dl_mcount_wrapper F -GLIBC_2.12 _dl_mcount_wrapper_check F -GLIBC_2.12 _environ D 0x4 -GLIBC_2.12 _exit F -GLIBC_2.12 _flush_cache F -GLIBC_2.12 _flushlbf F -GLIBC_2.12 _libc_intl_domainname D 0x5 -GLIBC_2.12 _longjmp F -GLIBC_2.12 _mcleanup F -GLIBC_2.12 _mcount F -GLIBC_2.12 _nl_default_dirname D 0x12 -GLIBC_2.12 _nl_domain_bindings D 0x4 -GLIBC_2.12 _nl_msg_cat_cntr D 0x4 -GLIBC_2.12 _null_auth D 0xc -GLIBC_2.12 _obstack_allocated_p F -GLIBC_2.12 _obstack_begin F -GLIBC_2.12 _obstack_begin_1 F -GLIBC_2.12 _obstack_free F -GLIBC_2.12 _obstack_memory_used F -GLIBC_2.12 _obstack_newchunk F -GLIBC_2.12 _res D 0x200 -GLIBC_2.12 _res_hconf D 0x30 -GLIBC_2.12 _rpc_dtablesize F -GLIBC_2.12 _seterr_reply F -GLIBC_2.12 _setjmp F -GLIBC_2.12 _sys_errlist D 0x21c -GLIBC_2.12 _sys_nerr D 0x4 -GLIBC_2.12 _sys_siglist D 0x104 -GLIBC_2.12 _tolower F -GLIBC_2.12 _toupper F -GLIBC_2.12 a64l F -GLIBC_2.12 abort F -GLIBC_2.12 abs F -GLIBC_2.12 accept F -GLIBC_2.12 accept4 F -GLIBC_2.12 access F -GLIBC_2.12 acct F -GLIBC_2.12 addmntent F -GLIBC_2.12 addseverity F -GLIBC_2.12 adjtime F -GLIBC_2.12 adjtimex F -GLIBC_2.12 advance F -GLIBC_2.12 alarm F -GLIBC_2.12 alphasort F -GLIBC_2.12 alphasort64 F -GLIBC_2.12 argp_err_exit_status D 0x4 -GLIBC_2.12 argp_error F -GLIBC_2.12 argp_failure F -GLIBC_2.12 argp_help F -GLIBC_2.12 argp_parse F -GLIBC_2.12 argp_program_bug_address D 0x4 -GLIBC_2.12 argp_program_version D 0x4 -GLIBC_2.12 argp_program_version_hook D 0x4 -GLIBC_2.12 argp_state_help F -GLIBC_2.12 argp_usage F -GLIBC_2.12 argz_add F -GLIBC_2.12 argz_add_sep F -GLIBC_2.12 argz_append F -GLIBC_2.12 argz_count F -GLIBC_2.12 argz_create F -GLIBC_2.12 argz_create_sep F -GLIBC_2.12 argz_delete F -GLIBC_2.12 argz_extract F -GLIBC_2.12 argz_insert F -GLIBC_2.12 argz_next F -GLIBC_2.12 argz_replace F -GLIBC_2.12 argz_stringify F -GLIBC_2.12 asctime F -GLIBC_2.12 asctime_r F -GLIBC_2.12 asprintf F -GLIBC_2.12 atof F -GLIBC_2.12 atoi F -GLIBC_2.12 atol F -GLIBC_2.12 atoll F -GLIBC_2.12 authdes_create F -GLIBC_2.12 authdes_getucred F -GLIBC_2.12 authdes_pk_create F -GLIBC_2.12 authnone_create F -GLIBC_2.12 authunix_create F -GLIBC_2.12 authunix_create_default F -GLIBC_2.12 backtrace F -GLIBC_2.12 backtrace_symbols F -GLIBC_2.12 backtrace_symbols_fd F -GLIBC_2.12 basename F -GLIBC_2.12 bcmp F -GLIBC_2.12 bcopy F -GLIBC_2.12 bdflush F -GLIBC_2.12 bind F -GLIBC_2.12 bind_textdomain_codeset F -GLIBC_2.12 bindresvport F -GLIBC_2.12 bindtextdomain F -GLIBC_2.12 brk F -GLIBC_2.12 bsd_signal F -GLIBC_2.12 bsearch F -GLIBC_2.12 btowc F -GLIBC_2.12 bzero F -GLIBC_2.12 cacheflush F -GLIBC_2.12 calloc F -GLIBC_2.12 callrpc F -GLIBC_2.12 canonicalize_file_name F -GLIBC_2.12 capget F -GLIBC_2.12 capset F -GLIBC_2.12 catclose F -GLIBC_2.12 catgets F -GLIBC_2.12 catopen F -GLIBC_2.12 cbc_crypt F -GLIBC_2.12 cfgetispeed F -GLIBC_2.12 cfgetospeed F -GLIBC_2.12 cfmakeraw F -GLIBC_2.12 cfree F -GLIBC_2.12 cfsetispeed F -GLIBC_2.12 cfsetospeed F -GLIBC_2.12 cfsetspeed F -GLIBC_2.12 chdir F -GLIBC_2.12 chflags F -GLIBC_2.12 chmod F -GLIBC_2.12 chown F -GLIBC_2.12 chroot F -GLIBC_2.12 clearenv F -GLIBC_2.12 clearerr F -GLIBC_2.12 clearerr_unlocked F -GLIBC_2.12 clnt_broadcast F -GLIBC_2.12 clnt_create F -GLIBC_2.12 clnt_pcreateerror F -GLIBC_2.12 clnt_perrno F -GLIBC_2.12 clnt_perror F -GLIBC_2.12 clnt_spcreateerror F -GLIBC_2.12 clnt_sperrno F -GLIBC_2.12 clnt_sperror F -GLIBC_2.12 clntraw_create F -GLIBC_2.12 clnttcp_create F -GLIBC_2.12 clntudp_bufcreate F -GLIBC_2.12 clntudp_create F -GLIBC_2.12 clntunix_create F -GLIBC_2.12 clock F -GLIBC_2.12 clone F -GLIBC_2.12 close F -GLIBC_2.12 closedir F -GLIBC_2.12 closelog F -GLIBC_2.12 confstr F -GLIBC_2.12 connect F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 creat F -GLIBC_2.12 creat64 F -GLIBC_2.12 create_module F -GLIBC_2.12 ctermid F -GLIBC_2.12 ctime F -GLIBC_2.12 ctime_r F -GLIBC_2.12 cuserid F -GLIBC_2.12 daemon F -GLIBC_2.12 daylight D 0x4 -GLIBC_2.12 dcgettext F -GLIBC_2.12 dcngettext F -GLIBC_2.12 delete_module F -GLIBC_2.12 des_setparity F -GLIBC_2.12 dgettext F -GLIBC_2.12 difftime F -GLIBC_2.12 dirfd F -GLIBC_2.12 dirname F -GLIBC_2.12 div F -GLIBC_2.12 dl_iterate_phdr F -GLIBC_2.12 dngettext F -GLIBC_2.12 dprintf F -GLIBC_2.12 drand48 F -GLIBC_2.12 drand48_r F -GLIBC_2.12 dup F -GLIBC_2.12 dup2 F -GLIBC_2.12 dup3 F -GLIBC_2.12 duplocale F -GLIBC_2.12 dysize F -GLIBC_2.12 eaccess F -GLIBC_2.12 ecb_crypt F -GLIBC_2.12 ecvt F -GLIBC_2.12 ecvt_r F -GLIBC_2.12 endaliasent F -GLIBC_2.12 endfsent F -GLIBC_2.12 endgrent F -GLIBC_2.12 endhostent F -GLIBC_2.12 endmntent F -GLIBC_2.12 endnetent F -GLIBC_2.12 endnetgrent F -GLIBC_2.12 endprotoent F -GLIBC_2.12 endpwent F -GLIBC_2.12 endrpcent F -GLIBC_2.12 endservent F -GLIBC_2.12 endsgent F -GLIBC_2.12 endspent F -GLIBC_2.12 endttyent F -GLIBC_2.12 endusershell F -GLIBC_2.12 endutent F -GLIBC_2.12 endutxent F -GLIBC_2.12 environ D 0x4 -GLIBC_2.12 envz_add F -GLIBC_2.12 envz_entry F -GLIBC_2.12 envz_get F -GLIBC_2.12 envz_merge F -GLIBC_2.12 envz_remove F -GLIBC_2.12 envz_strip F -GLIBC_2.12 epoll_create F -GLIBC_2.12 epoll_create1 F -GLIBC_2.12 epoll_ctl F -GLIBC_2.12 epoll_pwait F -GLIBC_2.12 epoll_wait F -GLIBC_2.12 erand48 F -GLIBC_2.12 erand48_r F -GLIBC_2.12 err F -GLIBC_2.12 error F -GLIBC_2.12 error_at_line F -GLIBC_2.12 error_message_count D 0x4 -GLIBC_2.12 error_one_per_line D 0x4 -GLIBC_2.12 error_print_progname D 0x4 -GLIBC_2.12 errx F -GLIBC_2.12 ether_aton F -GLIBC_2.12 ether_aton_r F -GLIBC_2.12 ether_hostton F -GLIBC_2.12 ether_line F -GLIBC_2.12 ether_ntoa F -GLIBC_2.12 ether_ntoa_r F -GLIBC_2.12 ether_ntohost F -GLIBC_2.12 euidaccess F -GLIBC_2.12 eventfd F -GLIBC_2.12 eventfd_read F -GLIBC_2.12 eventfd_write F -GLIBC_2.12 execl F -GLIBC_2.12 execle F -GLIBC_2.12 execlp F -GLIBC_2.12 execv F -GLIBC_2.12 execve F -GLIBC_2.12 execvp F -GLIBC_2.12 execvpe F -GLIBC_2.12 exit F -GLIBC_2.12 faccessat F -GLIBC_2.12 fallocate F -GLIBC_2.12 fallocate64 F -GLIBC_2.12 fattach F -GLIBC_2.12 fchdir F -GLIBC_2.12 fchflags F -GLIBC_2.12 fchmod F -GLIBC_2.12 fchmodat F -GLIBC_2.12 fchown F -GLIBC_2.12 fchownat F -GLIBC_2.12 fclose F -GLIBC_2.12 fcloseall F -GLIBC_2.12 fcntl F -GLIBC_2.12 fcvt F -GLIBC_2.12 fcvt_r F -GLIBC_2.12 fdatasync F -GLIBC_2.12 fdetach F -GLIBC_2.12 fdopen F -GLIBC_2.12 fdopendir F -GLIBC_2.12 feof F -GLIBC_2.12 feof_unlocked F -GLIBC_2.12 ferror F -GLIBC_2.12 ferror_unlocked F -GLIBC_2.12 fexecve F -GLIBC_2.12 fflush F -GLIBC_2.12 fflush_unlocked F -GLIBC_2.12 ffs F -GLIBC_2.12 ffsl F -GLIBC_2.12 ffsll F -GLIBC_2.12 fgetc F -GLIBC_2.12 fgetc_unlocked F -GLIBC_2.12 fgetgrent F -GLIBC_2.12 fgetgrent_r F -GLIBC_2.12 fgetpos F -GLIBC_2.12 fgetpos64 F -GLIBC_2.12 fgetpwent F -GLIBC_2.12 fgetpwent_r F -GLIBC_2.12 fgets F -GLIBC_2.12 fgets_unlocked F -GLIBC_2.12 fgetsgent F -GLIBC_2.12 fgetsgent_r F -GLIBC_2.12 fgetspent F -GLIBC_2.12 fgetspent_r F -GLIBC_2.12 fgetwc F -GLIBC_2.12 fgetwc_unlocked F -GLIBC_2.12 fgetws F -GLIBC_2.12 fgetws_unlocked F -GLIBC_2.12 fgetxattr F -GLIBC_2.12 fileno F -GLIBC_2.12 fileno_unlocked F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 flistxattr F -GLIBC_2.12 flock F -GLIBC_2.12 flockfile F -GLIBC_2.12 fmemopen F -GLIBC_2.12 fmtmsg F -GLIBC_2.12 fnmatch F -GLIBC_2.12 fopen F -GLIBC_2.12 fopen64 F -GLIBC_2.12 fopencookie F -GLIBC_2.12 fork F -GLIBC_2.12 fpathconf F -GLIBC_2.12 fprintf F -GLIBC_2.12 fputc F -GLIBC_2.12 fputc_unlocked F -GLIBC_2.12 fputs F -GLIBC_2.12 fputs_unlocked F -GLIBC_2.12 fputwc F -GLIBC_2.12 fputwc_unlocked F -GLIBC_2.12 fputws F -GLIBC_2.12 fputws_unlocked F -GLIBC_2.12 fread F -GLIBC_2.12 fread_unlocked F -GLIBC_2.12 free F -GLIBC_2.12 freeaddrinfo F -GLIBC_2.12 freeifaddrs F -GLIBC_2.12 freelocale F -GLIBC_2.12 fremovexattr F -GLIBC_2.12 freopen F -GLIBC_2.12 freopen64 F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 fscanf F -GLIBC_2.12 fseek F -GLIBC_2.12 fseeko F -GLIBC_2.12 fseeko64 F -GLIBC_2.12 fsetpos F -GLIBC_2.12 fsetpos64 F -GLIBC_2.12 fsetxattr F -GLIBC_2.12 fstatfs F -GLIBC_2.12 fstatfs64 F -GLIBC_2.12 fstatvfs F -GLIBC_2.12 fstatvfs64 F -GLIBC_2.12 fsync F -GLIBC_2.12 ftell F -GLIBC_2.12 ftello F -GLIBC_2.12 ftello64 F -GLIBC_2.12 ftime F -GLIBC_2.12 ftok F -GLIBC_2.12 ftruncate F -GLIBC_2.12 ftruncate64 F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 fts_children F -GLIBC_2.12 fts_close F -GLIBC_2.12 fts_open F -GLIBC_2.12 fts_read F -GLIBC_2.12 fts_set F -GLIBC_2.12 ftw F -GLIBC_2.12 ftw64 F -GLIBC_2.12 funlockfile F -GLIBC_2.12 futimens F -GLIBC_2.12 futimes F -GLIBC_2.12 futimesat F -GLIBC_2.12 fwide F -GLIBC_2.12 fwprintf F -GLIBC_2.12 fwrite F -GLIBC_2.12 fwrite_unlocked F -GLIBC_2.12 fwscanf F -GLIBC_2.12 gai_strerror F -GLIBC_2.12 gcvt F -GLIBC_2.12 get_avphys_pages F -GLIBC_2.12 get_current_dir_name F -GLIBC_2.12 get_kernel_syms F -GLIBC_2.12 get_myaddress F -GLIBC_2.12 get_nprocs F -GLIBC_2.12 get_nprocs_conf F -GLIBC_2.12 get_phys_pages F -GLIBC_2.12 getaddrinfo F -GLIBC_2.12 getaliasbyname F -GLIBC_2.12 getaliasbyname_r F -GLIBC_2.12 getaliasent F -GLIBC_2.12 getaliasent_r F -GLIBC_2.12 getc F -GLIBC_2.12 getc_unlocked F -GLIBC_2.12 getchar F -GLIBC_2.12 getchar_unlocked F -GLIBC_2.12 getcontext F -GLIBC_2.12 getcwd F -GLIBC_2.12 getdate F -GLIBC_2.12 getdate_err D 0x4 -GLIBC_2.12 getdate_r F -GLIBC_2.12 getdelim F -GLIBC_2.12 getdirentries F -GLIBC_2.12 getdirentries64 F -GLIBC_2.12 getdomainname F -GLIBC_2.12 getdtablesize F -GLIBC_2.12 getegid F -GLIBC_2.12 getenv F -GLIBC_2.12 geteuid F -GLIBC_2.12 getfsent F -GLIBC_2.12 getfsfile F -GLIBC_2.12 getfsspec F -GLIBC_2.12 getgid F -GLIBC_2.12 getgrent F -GLIBC_2.12 getgrent_r F -GLIBC_2.12 getgrgid F -GLIBC_2.12 getgrgid_r F -GLIBC_2.12 getgrnam F -GLIBC_2.12 getgrnam_r F -GLIBC_2.12 getgrouplist F -GLIBC_2.12 getgroups F -GLIBC_2.12 gethostbyaddr F -GLIBC_2.12 gethostbyaddr_r F -GLIBC_2.12 gethostbyname F -GLIBC_2.12 gethostbyname2 F -GLIBC_2.12 gethostbyname2_r F -GLIBC_2.12 gethostbyname_r F -GLIBC_2.12 gethostent F -GLIBC_2.12 gethostent_r F -GLIBC_2.12 gethostid F -GLIBC_2.12 gethostname F -GLIBC_2.12 getifaddrs F -GLIBC_2.12 getipv4sourcefilter F -GLIBC_2.12 getitimer F -GLIBC_2.12 getline F -GLIBC_2.12 getloadavg F -GLIBC_2.12 getlogin F -GLIBC_2.12 getlogin_r F -GLIBC_2.12 getmntent F -GLIBC_2.12 getmntent_r F -GLIBC_2.12 getmsg F -GLIBC_2.12 getnameinfo F -GLIBC_2.12 getnetbyaddr F -GLIBC_2.12 getnetbyaddr_r F -GLIBC_2.12 getnetbyname F -GLIBC_2.12 getnetbyname_r F -GLIBC_2.12 getnetent F -GLIBC_2.12 getnetent_r F -GLIBC_2.12 getnetgrent F -GLIBC_2.12 getnetgrent_r F -GLIBC_2.12 getnetname F -GLIBC_2.12 getopt F -GLIBC_2.12 getopt_long F -GLIBC_2.12 getopt_long_only F -GLIBC_2.12 getpagesize F -GLIBC_2.12 getpass F -GLIBC_2.12 getpeername F -GLIBC_2.12 getpgid F -GLIBC_2.12 getpgrp F -GLIBC_2.12 getpid F -GLIBC_2.12 getpmsg F -GLIBC_2.12 getppid F -GLIBC_2.12 getpriority F -GLIBC_2.12 getprotobyname F -GLIBC_2.12 getprotobyname_r F -GLIBC_2.12 getprotobynumber F -GLIBC_2.12 getprotobynumber_r F -GLIBC_2.12 getprotoent F -GLIBC_2.12 getprotoent_r F -GLIBC_2.12 getpt F -GLIBC_2.12 getpublickey F -GLIBC_2.12 getpw F -GLIBC_2.12 getpwent F -GLIBC_2.12 getpwent_r F -GLIBC_2.12 getpwnam F -GLIBC_2.12 getpwnam_r F -GLIBC_2.12 getpwuid F -GLIBC_2.12 getpwuid_r F -GLIBC_2.12 getresgid F -GLIBC_2.12 getresuid F -GLIBC_2.12 getrlimit F -GLIBC_2.12 getrlimit64 F -GLIBC_2.12 getrpcbyname F -GLIBC_2.12 getrpcbyname_r F -GLIBC_2.12 getrpcbynumber F -GLIBC_2.12 getrpcbynumber_r F -GLIBC_2.12 getrpcent F -GLIBC_2.12 getrpcent_r F -GLIBC_2.12 getrpcport F -GLIBC_2.12 getrusage F -GLIBC_2.12 gets F -GLIBC_2.12 getsecretkey F -GLIBC_2.12 getservbyname F -GLIBC_2.12 getservbyname_r F -GLIBC_2.12 getservbyport F -GLIBC_2.12 getservbyport_r F -GLIBC_2.12 getservent F -GLIBC_2.12 getservent_r F -GLIBC_2.12 getsgent F -GLIBC_2.12 getsgent_r F -GLIBC_2.12 getsgnam F -GLIBC_2.12 getsgnam_r F -GLIBC_2.12 getsid F -GLIBC_2.12 getsockname F -GLIBC_2.12 getsockopt F -GLIBC_2.12 getsourcefilter F -GLIBC_2.12 getspent F -GLIBC_2.12 getspent_r F -GLIBC_2.12 getspnam F -GLIBC_2.12 getspnam_r F -GLIBC_2.12 getsubopt F -GLIBC_2.12 gettext F -GLIBC_2.12 gettimeofday F -GLIBC_2.12 getttyent F -GLIBC_2.12 getttynam F -GLIBC_2.12 getuid F -GLIBC_2.12 getusershell F -GLIBC_2.12 getutent F -GLIBC_2.12 getutent_r F -GLIBC_2.12 getutid F -GLIBC_2.12 getutid_r F -GLIBC_2.12 getutline F -GLIBC_2.12 getutline_r F -GLIBC_2.12 getutmp F -GLIBC_2.12 getutmpx F -GLIBC_2.12 getutxent F -GLIBC_2.12 getutxid F -GLIBC_2.12 getutxline F -GLIBC_2.12 getw F -GLIBC_2.12 getwc F -GLIBC_2.12 getwc_unlocked F -GLIBC_2.12 getwchar F -GLIBC_2.12 getwchar_unlocked F -GLIBC_2.12 getwd F -GLIBC_2.12 getxattr F -GLIBC_2.12 glob F -GLIBC_2.12 glob64 F -GLIBC_2.12 glob_pattern_p F -GLIBC_2.12 globfree F -GLIBC_2.12 globfree64 F -GLIBC_2.12 gmtime F -GLIBC_2.12 gmtime_r F -GLIBC_2.12 gnu_dev_major F -GLIBC_2.12 gnu_dev_makedev F -GLIBC_2.12 gnu_dev_minor F -GLIBC_2.12 gnu_get_libc_release F -GLIBC_2.12 gnu_get_libc_version F -GLIBC_2.12 grantpt F -GLIBC_2.12 group_member F -GLIBC_2.12 gsignal F -GLIBC_2.12 gtty F -GLIBC_2.12 h_errlist D 0x14 -GLIBC_2.12 h_nerr D 0x4 -GLIBC_2.12 hasmntopt F -GLIBC_2.12 hcreate F -GLIBC_2.12 hcreate_r F -GLIBC_2.12 hdestroy F -GLIBC_2.12 hdestroy_r F -GLIBC_2.12 herror F -GLIBC_2.12 host2netname F -GLIBC_2.12 hsearch F -GLIBC_2.12 hsearch_r F -GLIBC_2.12 hstrerror F -GLIBC_2.12 htonl F -GLIBC_2.12 htons F -GLIBC_2.12 iconv F -GLIBC_2.12 iconv_close F -GLIBC_2.12 iconv_open F -GLIBC_2.12 if_freenameindex F -GLIBC_2.12 if_indextoname F -GLIBC_2.12 if_nameindex F -GLIBC_2.12 if_nametoindex F -GLIBC_2.12 imaxabs F -GLIBC_2.12 imaxdiv F -GLIBC_2.12 in6addr_any D 0x10 -GLIBC_2.12 in6addr_loopback D 0x10 -GLIBC_2.12 index F -GLIBC_2.12 inet6_opt_append F -GLIBC_2.12 inet6_opt_find F -GLIBC_2.12 inet6_opt_finish F -GLIBC_2.12 inet6_opt_get_val F -GLIBC_2.12 inet6_opt_init F -GLIBC_2.12 inet6_opt_next F -GLIBC_2.12 inet6_opt_set_val F -GLIBC_2.12 inet6_option_alloc F -GLIBC_2.12 inet6_option_append F -GLIBC_2.12 inet6_option_find F -GLIBC_2.12 inet6_option_init F -GLIBC_2.12 inet6_option_next F -GLIBC_2.12 inet6_option_space F -GLIBC_2.12 inet6_rth_add F -GLIBC_2.12 inet6_rth_getaddr F -GLIBC_2.12 inet6_rth_init F -GLIBC_2.12 inet6_rth_reverse F -GLIBC_2.12 inet6_rth_segments F -GLIBC_2.12 inet6_rth_space F -GLIBC_2.12 inet_addr F -GLIBC_2.12 inet_aton F -GLIBC_2.12 inet_lnaof F -GLIBC_2.12 inet_makeaddr F -GLIBC_2.12 inet_netof F -GLIBC_2.12 inet_network F -GLIBC_2.12 inet_nsap_addr F -GLIBC_2.12 inet_nsap_ntoa F -GLIBC_2.12 inet_ntoa F -GLIBC_2.12 inet_ntop F -GLIBC_2.12 inet_pton F -GLIBC_2.12 init_module F -GLIBC_2.12 initgroups F -GLIBC_2.12 initstate F -GLIBC_2.12 initstate_r F -GLIBC_2.12 innetgr F -GLIBC_2.12 inotify_add_watch F -GLIBC_2.12 inotify_init F -GLIBC_2.12 inotify_init1 F -GLIBC_2.12 inotify_rm_watch F -GLIBC_2.12 insque F -GLIBC_2.12 ioctl F -GLIBC_2.12 iruserok F -GLIBC_2.12 iruserok_af F -GLIBC_2.12 isalnum F -GLIBC_2.12 isalnum_l F -GLIBC_2.12 isalpha F -GLIBC_2.12 isalpha_l F -GLIBC_2.12 isascii F -GLIBC_2.12 isastream F -GLIBC_2.12 isatty F -GLIBC_2.12 isblank F -GLIBC_2.12 isblank_l F -GLIBC_2.12 iscntrl F -GLIBC_2.12 iscntrl_l F -GLIBC_2.12 isctype F -GLIBC_2.12 isdigit F -GLIBC_2.12 isdigit_l F -GLIBC_2.12 isfdtype F -GLIBC_2.12 isgraph F -GLIBC_2.12 isgraph_l F -GLIBC_2.12 isinf F -GLIBC_2.12 isinff F -GLIBC_2.12 isinfl F -GLIBC_2.12 islower F -GLIBC_2.12 islower_l F -GLIBC_2.12 isnan F -GLIBC_2.12 isnanf F -GLIBC_2.12 isnanl F -GLIBC_2.12 isprint F -GLIBC_2.12 isprint_l F -GLIBC_2.12 ispunct F -GLIBC_2.12 ispunct_l F -GLIBC_2.12 isspace F -GLIBC_2.12 isspace_l F -GLIBC_2.12 isupper F -GLIBC_2.12 isupper_l F -GLIBC_2.12 iswalnum F -GLIBC_2.12 iswalnum_l F -GLIBC_2.12 iswalpha F -GLIBC_2.12 iswalpha_l F -GLIBC_2.12 iswblank F -GLIBC_2.12 iswblank_l F -GLIBC_2.12 iswcntrl F -GLIBC_2.12 iswcntrl_l F -GLIBC_2.12 iswctype F -GLIBC_2.12 iswctype_l F -GLIBC_2.12 iswdigit F -GLIBC_2.12 iswdigit_l F -GLIBC_2.12 iswgraph F -GLIBC_2.12 iswgraph_l F -GLIBC_2.12 iswlower F -GLIBC_2.12 iswlower_l F -GLIBC_2.12 iswprint F -GLIBC_2.12 iswprint_l F -GLIBC_2.12 iswpunct F -GLIBC_2.12 iswpunct_l F -GLIBC_2.12 iswspace F -GLIBC_2.12 iswspace_l F -GLIBC_2.12 iswupper F -GLIBC_2.12 iswupper_l F -GLIBC_2.12 iswxdigit F -GLIBC_2.12 iswxdigit_l F -GLIBC_2.12 isxdigit F -GLIBC_2.12 isxdigit_l F -GLIBC_2.12 jrand48 F -GLIBC_2.12 jrand48_r F -GLIBC_2.12 key_decryptsession F -GLIBC_2.12 key_decryptsession_pk F -GLIBC_2.12 key_encryptsession F -GLIBC_2.12 key_encryptsession_pk F -GLIBC_2.12 key_gendes F -GLIBC_2.12 key_get_conv F -GLIBC_2.12 key_secretkey_is_set F -GLIBC_2.12 key_setnet F -GLIBC_2.12 key_setsecret F -GLIBC_2.12 kill F -GLIBC_2.12 killpg F -GLIBC_2.12 klogctl F -GLIBC_2.12 l64a F -GLIBC_2.12 labs F -GLIBC_2.12 lchmod F -GLIBC_2.12 lchown F -GLIBC_2.12 lckpwdf F -GLIBC_2.12 lcong48 F -GLIBC_2.12 lcong48_r F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 ldiv F -GLIBC_2.12 lfind F -GLIBC_2.12 lgetxattr F -GLIBC_2.12 link F -GLIBC_2.12 linkat F -GLIBC_2.12 listen F -GLIBC_2.12 listxattr F -GLIBC_2.12 llabs F -GLIBC_2.12 lldiv F -GLIBC_2.12 llistxattr F -GLIBC_2.12 llseek F -GLIBC_2.12 loc1 D 0x4 -GLIBC_2.12 loc2 D 0x4 -GLIBC_2.12 localeconv F -GLIBC_2.12 localtime F -GLIBC_2.12 localtime_r F -GLIBC_2.12 lockf F -GLIBC_2.12 lockf64 F -GLIBC_2.12 locs D 0x4 -GLIBC_2.12 longjmp F -GLIBC_2.12 lrand48 F -GLIBC_2.12 lrand48_r F -GLIBC_2.12 lremovexattr F -GLIBC_2.12 lsearch F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 lsetxattr F -GLIBC_2.12 lutimes F -GLIBC_2.12 madvise F -GLIBC_2.12 makecontext F -GLIBC_2.12 mallinfo F -GLIBC_2.12 malloc F -GLIBC_2.12 malloc_get_state F -GLIBC_2.12 malloc_info F -GLIBC_2.12 malloc_set_state F -GLIBC_2.12 malloc_stats F -GLIBC_2.12 malloc_trim F -GLIBC_2.12 malloc_usable_size F -GLIBC_2.12 mallopt F -GLIBC_2.12 mallwatch D 0x4 -GLIBC_2.12 mblen F -GLIBC_2.12 mbrlen F -GLIBC_2.12 mbrtowc F -GLIBC_2.12 mbsinit F -GLIBC_2.12 mbsnrtowcs F -GLIBC_2.12 mbsrtowcs F -GLIBC_2.12 mbstowcs F -GLIBC_2.12 mbtowc F -GLIBC_2.12 mcheck F -GLIBC_2.12 mcheck_check_all F -GLIBC_2.12 mcheck_pedantic F -GLIBC_2.12 mcount F -GLIBC_2.12 memalign F -GLIBC_2.12 memccpy F -GLIBC_2.12 memchr F -GLIBC_2.12 memcmp F -GLIBC_2.12 memcpy F -GLIBC_2.12 memfrob F -GLIBC_2.12 memmem F -GLIBC_2.12 memmove F -GLIBC_2.12 mempcpy F -GLIBC_2.12 memrchr F -GLIBC_2.12 memset F -GLIBC_2.12 mincore F -GLIBC_2.12 mkdir F -GLIBC_2.12 mkdirat F -GLIBC_2.12 mkdtemp F -GLIBC_2.12 mkfifo F -GLIBC_2.12 mkfifoat F -GLIBC_2.12 mkostemp F -GLIBC_2.12 mkostemp64 F -GLIBC_2.12 mkostemps F -GLIBC_2.12 mkostemps64 F -GLIBC_2.12 mkstemp F -GLIBC_2.12 mkstemp64 F -GLIBC_2.12 mkstemps F -GLIBC_2.12 mkstemps64 F -GLIBC_2.12 mktemp F -GLIBC_2.12 mktime F -GLIBC_2.12 mlock F -GLIBC_2.12 mlockall F -GLIBC_2.12 mmap F -GLIBC_2.12 mmap64 F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 moncontrol F -GLIBC_2.12 monstartup F -GLIBC_2.12 mount F -GLIBC_2.12 mprobe F -GLIBC_2.12 mprotect F -GLIBC_2.12 mrand48 F -GLIBC_2.12 mrand48_r F -GLIBC_2.12 mremap F -GLIBC_2.12 msgctl F -GLIBC_2.12 msgget F -GLIBC_2.12 msgrcv F -GLIBC_2.12 msgsnd F -GLIBC_2.12 msync F -GLIBC_2.12 mtrace F -GLIBC_2.12 munlock F -GLIBC_2.12 munlockall F -GLIBC_2.12 munmap F -GLIBC_2.12 muntrace F -GLIBC_2.12 nanosleep F -GLIBC_2.12 netname2host F -GLIBC_2.12 netname2user F -GLIBC_2.12 newlocale F -GLIBC_2.12 nfsservctl F -GLIBC_2.12 nftw F -GLIBC_2.12 nftw64 F -GLIBC_2.12 ngettext F -GLIBC_2.12 nice F -GLIBC_2.12 nl_langinfo F -GLIBC_2.12 nl_langinfo_l F -GLIBC_2.12 nrand48 F -GLIBC_2.12 nrand48_r F -GLIBC_2.12 ntohl F -GLIBC_2.12 ntohs F -GLIBC_2.12 ntp_adjtime F -GLIBC_2.12 ntp_gettime F -GLIBC_2.12 ntp_gettimex F -GLIBC_2.12 obstack_alloc_failed_handler D 0x4 -GLIBC_2.12 obstack_exit_failure D 0x4 -GLIBC_2.12 obstack_free F -GLIBC_2.12 obstack_printf F -GLIBC_2.12 obstack_vprintf F -GLIBC_2.12 on_exit F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 open_memstream F -GLIBC_2.12 open_wmemstream F -GLIBC_2.12 openat F -GLIBC_2.12 openat64 F -GLIBC_2.12 opendir F -GLIBC_2.12 openlog F -GLIBC_2.12 optarg D 0x4 -GLIBC_2.12 opterr D 0x4 -GLIBC_2.12 optind D 0x4 -GLIBC_2.12 optopt D 0x4 -GLIBC_2.12 parse_printf_format F -GLIBC_2.12 passwd2des F -GLIBC_2.12 pathconf F -GLIBC_2.12 pause F -GLIBC_2.12 pclose F -GLIBC_2.12 perror F -GLIBC_2.12 personality F -GLIBC_2.12 pipe F -GLIBC_2.12 pipe2 F -GLIBC_2.12 pivot_root F -GLIBC_2.12 pmap_getmaps F -GLIBC_2.12 pmap_getport F -GLIBC_2.12 pmap_rmtcall F -GLIBC_2.12 pmap_set F -GLIBC_2.12 pmap_unset F -GLIBC_2.12 poll F -GLIBC_2.12 popen F -GLIBC_2.12 posix_fadvise F -GLIBC_2.12 posix_fadvise64 F -GLIBC_2.12 posix_fallocate F -GLIBC_2.12 posix_fallocate64 F -GLIBC_2.12 posix_madvise F -GLIBC_2.12 posix_memalign F -GLIBC_2.12 posix_openpt F -GLIBC_2.12 posix_spawn F -GLIBC_2.12 posix_spawn_file_actions_addclose F -GLIBC_2.12 posix_spawn_file_actions_adddup2 F -GLIBC_2.12 posix_spawn_file_actions_addopen F -GLIBC_2.12 posix_spawn_file_actions_destroy F -GLIBC_2.12 posix_spawn_file_actions_init F -GLIBC_2.12 posix_spawnattr_destroy F -GLIBC_2.12 posix_spawnattr_getflags F -GLIBC_2.12 posix_spawnattr_getpgroup F -GLIBC_2.12 posix_spawnattr_getschedparam F -GLIBC_2.12 posix_spawnattr_getschedpolicy F -GLIBC_2.12 posix_spawnattr_getsigdefault F -GLIBC_2.12 posix_spawnattr_getsigmask F -GLIBC_2.12 posix_spawnattr_init F -GLIBC_2.12 posix_spawnattr_setflags F -GLIBC_2.12 posix_spawnattr_setpgroup F -GLIBC_2.12 posix_spawnattr_setschedparam F -GLIBC_2.12 posix_spawnattr_setschedpolicy F -GLIBC_2.12 posix_spawnattr_setsigdefault F -GLIBC_2.12 posix_spawnattr_setsigmask F -GLIBC_2.12 posix_spawnp F -GLIBC_2.12 ppoll F -GLIBC_2.12 prctl F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 preadv F -GLIBC_2.12 preadv64 F -GLIBC_2.12 printf F -GLIBC_2.12 printf_size F -GLIBC_2.12 printf_size_info F -GLIBC_2.12 profil F -GLIBC_2.12 program_invocation_name D 0x4 -GLIBC_2.12 program_invocation_short_name D 0x4 -GLIBC_2.12 pselect F -GLIBC_2.12 psiginfo F -GLIBC_2.12 psignal F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 ptrace F -GLIBC_2.12 ptsname F -GLIBC_2.12 ptsname_r F -GLIBC_2.12 putc F -GLIBC_2.12 putc_unlocked F -GLIBC_2.12 putchar F -GLIBC_2.12 putchar_unlocked F -GLIBC_2.12 putenv F -GLIBC_2.12 putgrent F -GLIBC_2.12 putmsg F -GLIBC_2.12 putpmsg F -GLIBC_2.12 putpwent F -GLIBC_2.12 puts F -GLIBC_2.12 putsgent F -GLIBC_2.12 putspent F -GLIBC_2.12 pututline F -GLIBC_2.12 pututxline F -GLIBC_2.12 putw F -GLIBC_2.12 putwc F -GLIBC_2.12 putwc_unlocked F -GLIBC_2.12 putwchar F -GLIBC_2.12 putwchar_unlocked F -GLIBC_2.12 pvalloc F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 pwritev F -GLIBC_2.12 pwritev64 F -GLIBC_2.12 qecvt F -GLIBC_2.12 qecvt_r F -GLIBC_2.12 qfcvt F -GLIBC_2.12 qfcvt_r F -GLIBC_2.12 qgcvt F -GLIBC_2.12 qsort F -GLIBC_2.12 qsort_r F -GLIBC_2.12 query_module F -GLIBC_2.12 quick_exit F -GLIBC_2.12 quotactl F -GLIBC_2.12 raise F -GLIBC_2.12 rand F -GLIBC_2.12 rand_r F -GLIBC_2.12 random F -GLIBC_2.12 random_r F -GLIBC_2.12 rawmemchr F -GLIBC_2.12 rcmd F -GLIBC_2.12 rcmd_af F -GLIBC_2.12 re_comp F -GLIBC_2.12 re_compile_fastmap F -GLIBC_2.12 re_compile_pattern F -GLIBC_2.12 re_exec F -GLIBC_2.12 re_match F -GLIBC_2.12 re_match_2 F -GLIBC_2.12 re_search F -GLIBC_2.12 re_search_2 F -GLIBC_2.12 re_set_registers F -GLIBC_2.12 re_set_syntax F -GLIBC_2.12 re_syntax_options D 0x4 -GLIBC_2.12 read F -GLIBC_2.12 readahead F -GLIBC_2.12 readdir F -GLIBC_2.12 readdir64 F -GLIBC_2.12 readdir64_r F -GLIBC_2.12 readdir_r F -GLIBC_2.12 readlink F -GLIBC_2.12 readlinkat F -GLIBC_2.12 readv F -GLIBC_2.12 realloc F -GLIBC_2.12 realpath F -GLIBC_2.12 reboot F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmmsg F -GLIBC_2.12 recvmsg F -GLIBC_2.12 regcomp F -GLIBC_2.12 regerror F -GLIBC_2.12 regexec F -GLIBC_2.12 regfree F -GLIBC_2.12 register_printf_function F -GLIBC_2.12 register_printf_modifier F -GLIBC_2.12 register_printf_specifier F -GLIBC_2.12 register_printf_type F -GLIBC_2.12 registerrpc F -GLIBC_2.12 remap_file_pages F -GLIBC_2.12 remove F -GLIBC_2.12 removexattr F -GLIBC_2.12 remque F -GLIBC_2.12 rename F -GLIBC_2.12 renameat F -GLIBC_2.12 revoke F -GLIBC_2.12 rewind F -GLIBC_2.12 rewinddir F -GLIBC_2.12 rexec F -GLIBC_2.12 rexec_af F -GLIBC_2.12 rexecoptions D 0x4 -GLIBC_2.12 rindex F -GLIBC_2.12 rmdir F -GLIBC_2.12 rpc_createerr D 0x10 -GLIBC_2.12 rpmatch F -GLIBC_2.12 rresvport F -GLIBC_2.12 rresvport_af F -GLIBC_2.12 rtime F -GLIBC_2.12 ruserok F -GLIBC_2.12 ruserok_af F -GLIBC_2.12 ruserpass F -GLIBC_2.12 sbrk F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 scandir F -GLIBC_2.12 scandir64 F -GLIBC_2.12 scanf F -GLIBC_2.12 sched_get_priority_max F -GLIBC_2.12 sched_get_priority_min F -GLIBC_2.12 sched_getaffinity F -GLIBC_2.12 sched_getcpu F -GLIBC_2.12 sched_getparam F -GLIBC_2.12 sched_getscheduler F -GLIBC_2.12 sched_rr_get_interval F -GLIBC_2.12 sched_setaffinity F -GLIBC_2.12 sched_setparam F -GLIBC_2.12 sched_setscheduler F -GLIBC_2.12 sched_yield F -GLIBC_2.12 seed48 F -GLIBC_2.12 seed48_r F -GLIBC_2.12 seekdir F -GLIBC_2.12 select F -GLIBC_2.12 semctl F -GLIBC_2.12 semget F -GLIBC_2.12 semop F -GLIBC_2.12 semtimedop F -GLIBC_2.12 send F -GLIBC_2.12 sendfile F -GLIBC_2.12 sendfile64 F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 set_dataplane F -GLIBC_2.12 setaliasent F -GLIBC_2.12 setbuf F -GLIBC_2.12 setbuffer F -GLIBC_2.12 setcontext F -GLIBC_2.12 setdomainname F -GLIBC_2.12 setegid F -GLIBC_2.12 setenv F -GLIBC_2.12 seteuid F -GLIBC_2.12 setfsent F -GLIBC_2.12 setfsgid F -GLIBC_2.12 setfsuid F -GLIBC_2.12 setgid F -GLIBC_2.12 setgrent F -GLIBC_2.12 setgroups F -GLIBC_2.12 sethostent F -GLIBC_2.12 sethostid F -GLIBC_2.12 sethostname F -GLIBC_2.12 setipv4sourcefilter F -GLIBC_2.12 setitimer F -GLIBC_2.12 setjmp F -GLIBC_2.12 setlinebuf F -GLIBC_2.12 setlocale F -GLIBC_2.12 setlogin F -GLIBC_2.12 setlogmask F -GLIBC_2.12 setmntent F -GLIBC_2.12 setnetent F -GLIBC_2.12 setnetgrent F -GLIBC_2.12 setpgid F -GLIBC_2.12 setpgrp F -GLIBC_2.12 setpriority F -GLIBC_2.12 setprotoent F -GLIBC_2.12 setpwent F -GLIBC_2.12 setregid F -GLIBC_2.12 setresgid F -GLIBC_2.12 setresuid F -GLIBC_2.12 setreuid F -GLIBC_2.12 setrlimit F -GLIBC_2.12 setrlimit64 F -GLIBC_2.12 setrpcent F -GLIBC_2.12 setservent F -GLIBC_2.12 setsgent F -GLIBC_2.12 setsid F -GLIBC_2.12 setsockopt F -GLIBC_2.12 setsourcefilter F -GLIBC_2.12 setspent F -GLIBC_2.12 setstate F -GLIBC_2.12 setstate_r F -GLIBC_2.12 settimeofday F -GLIBC_2.12 setttyent F -GLIBC_2.12 setuid F -GLIBC_2.12 setusershell F -GLIBC_2.12 setutent F -GLIBC_2.12 setutxent F -GLIBC_2.12 setvbuf F -GLIBC_2.12 setxattr F -GLIBC_2.12 sgetsgent F -GLIBC_2.12 sgetsgent_r F -GLIBC_2.12 sgetspent F -GLIBC_2.12 sgetspent_r F -GLIBC_2.12 shmat F -GLIBC_2.12 shmctl F -GLIBC_2.12 shmdt F -GLIBC_2.12 shmget F -GLIBC_2.12 shutdown F -GLIBC_2.12 sigaction F -GLIBC_2.12 sigaddset F -GLIBC_2.12 sigaltstack F -GLIBC_2.12 sigandset F -GLIBC_2.12 sigblock F -GLIBC_2.12 sigdelset F -GLIBC_2.12 sigemptyset F -GLIBC_2.12 sigfillset F -GLIBC_2.12 siggetmask F -GLIBC_2.12 sighold F -GLIBC_2.12 sigignore F -GLIBC_2.12 siginterrupt F -GLIBC_2.12 sigisemptyset F -GLIBC_2.12 sigismember F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 signal F -GLIBC_2.12 signalfd F -GLIBC_2.12 sigorset F -GLIBC_2.12 sigpause F -GLIBC_2.12 sigpending F -GLIBC_2.12 sigprocmask F -GLIBC_2.12 sigqueue F -GLIBC_2.12 sigrelse F -GLIBC_2.12 sigreturn F -GLIBC_2.12 sigset F -GLIBC_2.12 sigsetmask F -GLIBC_2.12 sigstack F -GLIBC_2.12 sigsuspend F -GLIBC_2.12 sigtimedwait F -GLIBC_2.12 sigvec F -GLIBC_2.12 sigwait F -GLIBC_2.12 sigwaitinfo F -GLIBC_2.12 sleep F -GLIBC_2.12 snprintf F -GLIBC_2.12 sockatmark F -GLIBC_2.12 socket F -GLIBC_2.12 socketpair F -GLIBC_2.12 splice F -GLIBC_2.12 sprintf F -GLIBC_2.12 sprofil F -GLIBC_2.12 srand F -GLIBC_2.12 srand48 F -GLIBC_2.12 srand48_r F -GLIBC_2.12 srandom F -GLIBC_2.12 srandom_r F -GLIBC_2.12 sscanf F -GLIBC_2.12 ssignal F -GLIBC_2.12 sstk F -GLIBC_2.12 statfs F -GLIBC_2.12 statfs64 F -GLIBC_2.12 statvfs F -GLIBC_2.12 statvfs64 F -GLIBC_2.12 stderr D 0x4 -GLIBC_2.12 stdin D 0x4 -GLIBC_2.12 stdout D 0x4 -GLIBC_2.12 step F -GLIBC_2.12 stime F -GLIBC_2.12 stpcpy F -GLIBC_2.12 stpncpy F -GLIBC_2.12 strcasecmp F -GLIBC_2.12 strcasecmp_l F -GLIBC_2.12 strcasestr F -GLIBC_2.12 strcat F -GLIBC_2.12 strchr F -GLIBC_2.12 strchrnul F -GLIBC_2.12 strcmp F -GLIBC_2.12 strcoll F -GLIBC_2.12 strcoll_l F -GLIBC_2.12 strcpy F -GLIBC_2.12 strcspn F -GLIBC_2.12 strdup F -GLIBC_2.12 strerror F -GLIBC_2.12 strerror_l F -GLIBC_2.12 strerror_r F -GLIBC_2.12 strfmon F -GLIBC_2.12 strfmon_l F -GLIBC_2.12 strfry F -GLIBC_2.12 strftime F -GLIBC_2.12 strftime_l F -GLIBC_2.12 strlen F -GLIBC_2.12 strncasecmp F -GLIBC_2.12 strncasecmp_l F -GLIBC_2.12 strncat F -GLIBC_2.12 strncmp F -GLIBC_2.12 strncpy F -GLIBC_2.12 strndup F -GLIBC_2.12 strnlen F -GLIBC_2.12 strpbrk F -GLIBC_2.12 strptime F -GLIBC_2.12 strptime_l F -GLIBC_2.12 strrchr F -GLIBC_2.12 strsep F -GLIBC_2.12 strsignal F -GLIBC_2.12 strspn F -GLIBC_2.12 strstr F -GLIBC_2.12 strtod F -GLIBC_2.12 strtod_l F -GLIBC_2.12 strtof F -GLIBC_2.12 strtof_l F -GLIBC_2.12 strtoimax F -GLIBC_2.12 strtok F -GLIBC_2.12 strtok_r F -GLIBC_2.12 strtol F -GLIBC_2.12 strtol_l F -GLIBC_2.12 strtold F -GLIBC_2.12 strtold_l F -GLIBC_2.12 strtoll F -GLIBC_2.12 strtoll_l F -GLIBC_2.12 strtoq F -GLIBC_2.12 strtoul F -GLIBC_2.12 strtoul_l F -GLIBC_2.12 strtoull F -GLIBC_2.12 strtoull_l F -GLIBC_2.12 strtoumax F -GLIBC_2.12 strtouq F -GLIBC_2.12 strverscmp F -GLIBC_2.12 strxfrm F -GLIBC_2.12 strxfrm_l F -GLIBC_2.12 stty F -GLIBC_2.12 svc_exit F -GLIBC_2.12 svc_fdset D 0x80 -GLIBC_2.12 svc_getreq F -GLIBC_2.12 svc_getreq_common F -GLIBC_2.12 svc_getreq_poll F -GLIBC_2.12 svc_getreqset F -GLIBC_2.12 svc_max_pollfd D 0x4 -GLIBC_2.12 svc_pollfd D 0x4 -GLIBC_2.12 svc_register F -GLIBC_2.12 svc_run F -GLIBC_2.12 svc_sendreply F -GLIBC_2.12 svc_unregister F -GLIBC_2.12 svcauthdes_stats D 0xc -GLIBC_2.12 svcerr_auth F -GLIBC_2.12 svcerr_decode F -GLIBC_2.12 svcerr_noproc F -GLIBC_2.12 svcerr_noprog F -GLIBC_2.12 svcerr_progvers F -GLIBC_2.12 svcerr_systemerr F -GLIBC_2.12 svcerr_weakauth F -GLIBC_2.12 svcfd_create F -GLIBC_2.12 svcraw_create F -GLIBC_2.12 svctcp_create F -GLIBC_2.12 svcudp_bufcreate F -GLIBC_2.12 svcudp_create F -GLIBC_2.12 svcudp_enablecache F -GLIBC_2.12 svcunix_create F -GLIBC_2.12 svcunixfd_create F -GLIBC_2.12 swab F -GLIBC_2.12 swapcontext F -GLIBC_2.12 swapoff F -GLIBC_2.12 swapon F -GLIBC_2.12 swprintf F -GLIBC_2.12 swscanf F -GLIBC_2.12 symlink F -GLIBC_2.12 symlinkat F -GLIBC_2.12 sync F -GLIBC_2.12 sync_file_range F -GLIBC_2.12 sys_errlist D 0x21c -GLIBC_2.12 sys_nerr D 0x4 -GLIBC_2.12 sys_sigabbrev D 0x104 -GLIBC_2.12 sys_siglist D 0x104 -GLIBC_2.12 syscall F -GLIBC_2.12 sysconf F -GLIBC_2.12 sysctl F -GLIBC_2.12 sysinfo F -GLIBC_2.12 syslog F -GLIBC_2.12 system F -GLIBC_2.12 sysv_signal F -GLIBC_2.12 tcdrain F -GLIBC_2.12 tcflow F -GLIBC_2.12 tcflush F -GLIBC_2.12 tcgetattr F -GLIBC_2.12 tcgetpgrp F -GLIBC_2.12 tcgetsid F -GLIBC_2.12 tcsendbreak F -GLIBC_2.12 tcsetattr F -GLIBC_2.12 tcsetpgrp F -GLIBC_2.12 tdelete F -GLIBC_2.12 tdestroy F -GLIBC_2.12 tee F -GLIBC_2.12 telldir F -GLIBC_2.12 tempnam F -GLIBC_2.12 textdomain F -GLIBC_2.12 tfind F -GLIBC_2.12 time F -GLIBC_2.12 timegm F -GLIBC_2.12 timelocal F -GLIBC_2.12 timerfd_create F -GLIBC_2.12 timerfd_gettime F -GLIBC_2.12 timerfd_settime F -GLIBC_2.12 times F -GLIBC_2.12 timezone D 0x4 -GLIBC_2.12 tmpfile F -GLIBC_2.12 tmpfile64 F -GLIBC_2.12 tmpnam F -GLIBC_2.12 tmpnam_r F -GLIBC_2.12 toascii F -GLIBC_2.12 tolower F -GLIBC_2.12 tolower_l F -GLIBC_2.12 toupper F -GLIBC_2.12 toupper_l F -GLIBC_2.12 towctrans F -GLIBC_2.12 towctrans_l F -GLIBC_2.12 towlower F -GLIBC_2.12 towlower_l F -GLIBC_2.12 towupper F -GLIBC_2.12 towupper_l F -GLIBC_2.12 tr_break F -GLIBC_2.12 truncate F -GLIBC_2.12 truncate64 F -GLIBC_2.12 tsearch F -GLIBC_2.12 ttyname F -GLIBC_2.12 ttyname_r F -GLIBC_2.12 ttyslot F -GLIBC_2.12 twalk F -GLIBC_2.12 tzname D 0x8 -GLIBC_2.12 tzset F -GLIBC_2.12 ualarm F -GLIBC_2.12 ulckpwdf F -GLIBC_2.12 ulimit F -GLIBC_2.12 umask F -GLIBC_2.12 umount F -GLIBC_2.12 umount2 F -GLIBC_2.12 uname F -GLIBC_2.12 ungetc F -GLIBC_2.12 ungetwc F -GLIBC_2.12 unlink F -GLIBC_2.12 unlinkat F -GLIBC_2.12 unlockpt F -GLIBC_2.12 unsetenv F -GLIBC_2.12 unshare F -GLIBC_2.12 updwtmp F -GLIBC_2.12 updwtmpx F -GLIBC_2.12 uselib F -GLIBC_2.12 uselocale F -GLIBC_2.12 user2netname F -GLIBC_2.12 usleep F -GLIBC_2.12 ustat F -GLIBC_2.12 utime F -GLIBC_2.12 utimensat F -GLIBC_2.12 utimes F -GLIBC_2.12 utmpname F -GLIBC_2.12 utmpxname F -GLIBC_2.12 valloc F -GLIBC_2.12 vasprintf F -GLIBC_2.12 vdprintf F -GLIBC_2.12 verr F -GLIBC_2.12 verrx F -GLIBC_2.12 versionsort F -GLIBC_2.12 versionsort64 F -GLIBC_2.12 vfork F -GLIBC_2.12 vfprintf F -GLIBC_2.12 vfscanf F -GLIBC_2.12 vfwprintf F -GLIBC_2.12 vfwscanf F -GLIBC_2.12 vhangup F -GLIBC_2.12 vlimit F -GLIBC_2.12 vmsplice F -GLIBC_2.12 vprintf F -GLIBC_2.12 vscanf F -GLIBC_2.12 vsnprintf F -GLIBC_2.12 vsprintf F -GLIBC_2.12 vsscanf F -GLIBC_2.12 vswprintf F -GLIBC_2.12 vswscanf F -GLIBC_2.12 vsyslog F -GLIBC_2.12 vtimes F -GLIBC_2.12 vwarn F -GLIBC_2.12 vwarnx F -GLIBC_2.12 vwprintf F -GLIBC_2.12 vwscanf F -GLIBC_2.12 wait F -GLIBC_2.12 wait3 F -GLIBC_2.12 wait4 F -GLIBC_2.12 waitid F -GLIBC_2.12 waitpid F -GLIBC_2.12 warn F -GLIBC_2.12 warnx F -GLIBC_2.12 wcpcpy F -GLIBC_2.12 wcpncpy F -GLIBC_2.12 wcrtomb F -GLIBC_2.12 wcscasecmp F -GLIBC_2.12 wcscasecmp_l F -GLIBC_2.12 wcscat F -GLIBC_2.12 wcschr F -GLIBC_2.12 wcschrnul F -GLIBC_2.12 wcscmp F -GLIBC_2.12 wcscoll F -GLIBC_2.12 wcscoll_l F -GLIBC_2.12 wcscpy F -GLIBC_2.12 wcscspn F -GLIBC_2.12 wcsdup F -GLIBC_2.12 wcsftime F -GLIBC_2.12 wcsftime_l F -GLIBC_2.12 wcslen F -GLIBC_2.12 wcsncasecmp F -GLIBC_2.12 wcsncasecmp_l F -GLIBC_2.12 wcsncat F -GLIBC_2.12 wcsncmp F -GLIBC_2.12 wcsncpy F -GLIBC_2.12 wcsnlen F -GLIBC_2.12 wcsnrtombs F -GLIBC_2.12 wcspbrk F -GLIBC_2.12 wcsrchr F -GLIBC_2.12 wcsrtombs F -GLIBC_2.12 wcsspn F -GLIBC_2.12 wcsstr F -GLIBC_2.12 wcstod F -GLIBC_2.12 wcstod_l F -GLIBC_2.12 wcstof F -GLIBC_2.12 wcstof_l F -GLIBC_2.12 wcstoimax F -GLIBC_2.12 wcstok F -GLIBC_2.12 wcstol F -GLIBC_2.12 wcstol_l F -GLIBC_2.12 wcstold F -GLIBC_2.12 wcstold_l F -GLIBC_2.12 wcstoll F -GLIBC_2.12 wcstoll_l F -GLIBC_2.12 wcstombs F -GLIBC_2.12 wcstoq F -GLIBC_2.12 wcstoul F -GLIBC_2.12 wcstoul_l F -GLIBC_2.12 wcstoull F -GLIBC_2.12 wcstoull_l F -GLIBC_2.12 wcstoumax F -GLIBC_2.12 wcstouq F -GLIBC_2.12 wcswcs F -GLIBC_2.12 wcswidth F -GLIBC_2.12 wcsxfrm F -GLIBC_2.12 wcsxfrm_l F -GLIBC_2.12 wctob F -GLIBC_2.12 wctomb F -GLIBC_2.12 wctrans F -GLIBC_2.12 wctrans_l F -GLIBC_2.12 wctype F -GLIBC_2.12 wctype_l F -GLIBC_2.12 wcwidth F -GLIBC_2.12 wmemchr F -GLIBC_2.12 wmemcmp F -GLIBC_2.12 wmemcpy F -GLIBC_2.12 wmemmove F -GLIBC_2.12 wmempcpy F -GLIBC_2.12 wmemset F -GLIBC_2.12 wordexp F -GLIBC_2.12 wordfree F -GLIBC_2.12 wprintf F -GLIBC_2.12 write F -GLIBC_2.12 writev F -GLIBC_2.12 wscanf F -GLIBC_2.12 xdecrypt F -GLIBC_2.12 xdr_accepted_reply F -GLIBC_2.12 xdr_array F -GLIBC_2.12 xdr_authdes_cred F -GLIBC_2.12 xdr_authdes_verf F -GLIBC_2.12 xdr_authunix_parms F -GLIBC_2.12 xdr_bool F -GLIBC_2.12 xdr_bytes F -GLIBC_2.12 xdr_callhdr F -GLIBC_2.12 xdr_callmsg F -GLIBC_2.12 xdr_char F -GLIBC_2.12 xdr_cryptkeyarg F -GLIBC_2.12 xdr_cryptkeyarg2 F -GLIBC_2.12 xdr_cryptkeyres F -GLIBC_2.12 xdr_des_block F -GLIBC_2.12 xdr_double F -GLIBC_2.12 xdr_enum F -GLIBC_2.12 xdr_float F -GLIBC_2.12 xdr_free F -GLIBC_2.12 xdr_getcredres F -GLIBC_2.12 xdr_hyper F -GLIBC_2.12 xdr_int F -GLIBC_2.12 xdr_int16_t F -GLIBC_2.12 xdr_int32_t F -GLIBC_2.12 xdr_int64_t F -GLIBC_2.12 xdr_int8_t F -GLIBC_2.12 xdr_key_netstarg F -GLIBC_2.12 xdr_key_netstres F -GLIBC_2.12 xdr_keybuf F -GLIBC_2.12 xdr_keystatus F -GLIBC_2.12 xdr_long F -GLIBC_2.12 xdr_longlong_t F -GLIBC_2.12 xdr_netnamestr F -GLIBC_2.12 xdr_netobj F -GLIBC_2.12 xdr_opaque F -GLIBC_2.12 xdr_opaque_auth F -GLIBC_2.12 xdr_pmap F -GLIBC_2.12 xdr_pmaplist F -GLIBC_2.12 xdr_pointer F -GLIBC_2.12 xdr_quad_t F -GLIBC_2.12 xdr_reference F -GLIBC_2.12 xdr_rejected_reply F -GLIBC_2.12 xdr_replymsg F -GLIBC_2.12 xdr_rmtcall_args F -GLIBC_2.12 xdr_rmtcallres F -GLIBC_2.12 xdr_short F -GLIBC_2.12 xdr_sizeof F -GLIBC_2.12 xdr_string F -GLIBC_2.12 xdr_u_char F -GLIBC_2.12 xdr_u_hyper F -GLIBC_2.12 xdr_u_int F -GLIBC_2.12 xdr_u_long F -GLIBC_2.12 xdr_u_longlong_t F -GLIBC_2.12 xdr_u_quad_t F -GLIBC_2.12 xdr_u_short F -GLIBC_2.12 xdr_uint16_t F -GLIBC_2.12 xdr_uint32_t F -GLIBC_2.12 xdr_uint64_t F -GLIBC_2.12 xdr_uint8_t F -GLIBC_2.12 xdr_union F -GLIBC_2.12 xdr_unixcred F -GLIBC_2.12 xdr_vector F -GLIBC_2.12 xdr_void F -GLIBC_2.12 xdr_wrapstring F -GLIBC_2.12 xdrmem_create F -GLIBC_2.12 xdrrec_create F -GLIBC_2.12 xdrrec_endofrecord F -GLIBC_2.12 xdrrec_eof F -GLIBC_2.12 xdrrec_skiprecord F -GLIBC_2.12 xdrstdio_create F -GLIBC_2.12 xencrypt F -GLIBC_2.12 xprt_register F -GLIBC_2.12 xprt_unregister F -GLIBC_2.15 GLIBC_2.15 A -GLIBC_2.15 __fdelt_chk F -GLIBC_2.15 __fdelt_warn F -GLIBC_2.15 clock_adjtime F -GLIBC_2.15 fanotify_init F -GLIBC_2.15 fanotify_mark F -GLIBC_2.15 name_to_handle_at F -GLIBC_2.15 open_by_handle_at F -GLIBC_2.15 posix_spawn F -GLIBC_2.15 posix_spawnp F -GLIBC_2.15 prlimit F -GLIBC_2.15 prlimit64 F -GLIBC_2.15 process_vm_readv F -GLIBC_2.15 process_vm_writev F -GLIBC_2.15 scandirat F -GLIBC_2.15 scandirat64 F -GLIBC_2.15 sendmmsg F -GLIBC_2.15 setns F -GLIBC_2.15 syncfs F -GLIBC_2.16 GLIBC_2.16 A -GLIBC_2.16 __getauxval F -GLIBC_2.16 __poll_chk F -GLIBC_2.16 __ppoll_chk F -GLIBC_2.16 aligned_alloc F -GLIBC_2.16 c16rtomb F -GLIBC_2.16 c32rtomb F -GLIBC_2.16 getauxval F -GLIBC_2.16 mbrtoc16 F -GLIBC_2.16 mbrtoc32 F -GLIBC_2.16 timespec_get F -GLIBC_2.17 GLIBC_2.17 A -GLIBC_2.17 clock_getcpuclockid F -GLIBC_2.17 clock_getres F -GLIBC_2.17 clock_gettime F -GLIBC_2.17 clock_nanosleep F -GLIBC_2.17 clock_settime F -GLIBC_2.17 secure_getenv F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 __cxa_thread_atexit_impl F -GLIBC_2.22 GLIBC_2.22 A -GLIBC_2.22 fmemopen F -GLIBC_2.23 GLIBC_2.23 A -GLIBC_2.23 fts64_children F -GLIBC_2.23 fts64_close F -GLIBC_2.23 fts64_open F -GLIBC_2.23 fts64_read F -GLIBC_2.23 fts64_set F -GLIBC_2.24 GLIBC_2.24 A -GLIBC_2.24 quick_exit F -GLIBC_2.25 GLIBC_2.25 A -GLIBC_2.25 __explicit_bzero_chk F -GLIBC_2.25 explicit_bzero F -GLIBC_2.25 getentropy F -GLIBC_2.25 getrandom F -GLIBC_2.25 strfromd F -GLIBC_2.25 strfromf F -GLIBC_2.25 strfroml F -GLIBC_2.26 GLIBC_2.26 A -GLIBC_2.26 preadv2 F -GLIBC_2.26 preadv64v2 F -GLIBC_2.26 pwritev2 F -GLIBC_2.26 pwritev64v2 F -GLIBC_2.26 reallocarray F -GLIBC_2.27 GLIBC_2.27 A -GLIBC_2.27 glob F -GLIBC_2.27 glob64 F -GLIBC_2.27 memfd_create F -GLIBC_2.27 mlock2 F -GLIBC_2.27 pkey_alloc F -GLIBC_2.27 pkey_free F -GLIBC_2.27 pkey_get F -GLIBC_2.27 pkey_mprotect F -GLIBC_2.27 pkey_set F -GLIBC_2.27 strfromf32 F -GLIBC_2.27 strfromf32x F -GLIBC_2.27 strfromf64 F -GLIBC_2.27 strtof32 F -GLIBC_2.27 strtof32_l F -GLIBC_2.27 strtof32x F -GLIBC_2.27 strtof32x_l F -GLIBC_2.27 strtof64 F -GLIBC_2.27 strtof64_l F -GLIBC_2.27 wcstof32 F -GLIBC_2.27 wcstof32_l F -GLIBC_2.27 wcstof32x F -GLIBC_2.27 wcstof32x_l F -GLIBC_2.27 wcstof64 F -GLIBC_2.27 wcstof64_l F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist deleted file mode 100644 index d564380..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist +++ /dev/null @@ -1,8 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 crypt F -GLIBC_2.12 crypt_r F -GLIBC_2.12 encrypt F -GLIBC_2.12 encrypt_r F -GLIBC_2.12 fcrypt F -GLIBC_2.12 setkey F -GLIBC_2.12 setkey_r F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist deleted file mode 100644 index cabc30c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist +++ /dev/null @@ -1,10 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 dladdr F -GLIBC_2.12 dladdr1 F -GLIBC_2.12 dlclose F -GLIBC_2.12 dlerror F -GLIBC_2.12 dlinfo F -GLIBC_2.12 dlmopen F -GLIBC_2.12 dlopen F -GLIBC_2.12 dlsym F -GLIBC_2.12 dlvsym F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist deleted file mode 100644 index 6b375f5..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ /dev/null @@ -1,749 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _LIB_VERSION D 0x4 -GLIBC_2.12 __clog10 F -GLIBC_2.12 __clog10f F -GLIBC_2.12 __clog10l F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __fpclassify F -GLIBC_2.12 __fpclassifyf F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 acos F -GLIBC_2.12 acosf F -GLIBC_2.12 acosh F -GLIBC_2.12 acoshf F -GLIBC_2.12 acoshl F -GLIBC_2.12 acosl F -GLIBC_2.12 asin F -GLIBC_2.12 asinf F -GLIBC_2.12 asinh F -GLIBC_2.12 asinhf F -GLIBC_2.12 asinhl F -GLIBC_2.12 asinl F -GLIBC_2.12 atan F -GLIBC_2.12 atan2 F -GLIBC_2.12 atan2f F -GLIBC_2.12 atan2l F -GLIBC_2.12 atanf F -GLIBC_2.12 atanh F -GLIBC_2.12 atanhf F -GLIBC_2.12 atanhl F -GLIBC_2.12 atanl F -GLIBC_2.12 cabs F -GLIBC_2.12 cabsf F -GLIBC_2.12 cabsl F -GLIBC_2.12 cacos F -GLIBC_2.12 cacosf F -GLIBC_2.12 cacosh F -GLIBC_2.12 cacoshf F -GLIBC_2.12 cacoshl F -GLIBC_2.12 cacosl F -GLIBC_2.12 carg F -GLIBC_2.12 cargf F -GLIBC_2.12 cargl F -GLIBC_2.12 casin F -GLIBC_2.12 casinf F -GLIBC_2.12 casinh F -GLIBC_2.12 casinhf F -GLIBC_2.12 casinhl F -GLIBC_2.12 casinl F -GLIBC_2.12 catan F -GLIBC_2.12 catanf F -GLIBC_2.12 catanh F -GLIBC_2.12 catanhf F -GLIBC_2.12 catanhl F -GLIBC_2.12 catanl F -GLIBC_2.12 cbrt F -GLIBC_2.12 cbrtf F -GLIBC_2.12 cbrtl F -GLIBC_2.12 ccos F -GLIBC_2.12 ccosf F -GLIBC_2.12 ccosh F -GLIBC_2.12 ccoshf F -GLIBC_2.12 ccoshl F -GLIBC_2.12 ccosl F -GLIBC_2.12 ceil F -GLIBC_2.12 ceilf F -GLIBC_2.12 ceill F -GLIBC_2.12 cexp F -GLIBC_2.12 cexpf F -GLIBC_2.12 cexpl F -GLIBC_2.12 cimag F -GLIBC_2.12 cimagf F -GLIBC_2.12 cimagl F -GLIBC_2.12 clog F -GLIBC_2.12 clog10 F -GLIBC_2.12 clog10f F -GLIBC_2.12 clog10l F -GLIBC_2.12 clogf F -GLIBC_2.12 clogl F -GLIBC_2.12 conj F -GLIBC_2.12 conjf F -GLIBC_2.12 conjl F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 cos F -GLIBC_2.12 cosf F -GLIBC_2.12 cosh F -GLIBC_2.12 coshf F -GLIBC_2.12 coshl F -GLIBC_2.12 cosl F -GLIBC_2.12 cpow F -GLIBC_2.12 cpowf F -GLIBC_2.12 cpowl F -GLIBC_2.12 cproj F -GLIBC_2.12 cprojf F -GLIBC_2.12 cprojl F -GLIBC_2.12 creal F -GLIBC_2.12 crealf F -GLIBC_2.12 creall F -GLIBC_2.12 csin F -GLIBC_2.12 csinf F -GLIBC_2.12 csinh F -GLIBC_2.12 csinhf F -GLIBC_2.12 csinhl F -GLIBC_2.12 csinl F -GLIBC_2.12 csqrt F -GLIBC_2.12 csqrtf F -GLIBC_2.12 csqrtl F -GLIBC_2.12 ctan F -GLIBC_2.12 ctanf F -GLIBC_2.12 ctanh F -GLIBC_2.12 ctanhf F -GLIBC_2.12 ctanhl F -GLIBC_2.12 ctanl F -GLIBC_2.12 drem F -GLIBC_2.12 dremf F -GLIBC_2.12 dreml F -GLIBC_2.12 erf F -GLIBC_2.12 erfc F -GLIBC_2.12 erfcf F -GLIBC_2.12 erfcl F -GLIBC_2.12 erff F -GLIBC_2.12 erfl F -GLIBC_2.12 exp F -GLIBC_2.12 exp10 F -GLIBC_2.12 exp10f F -GLIBC_2.12 exp10l F -GLIBC_2.12 exp2 F -GLIBC_2.12 exp2f F -GLIBC_2.12 exp2l F -GLIBC_2.12 expf F -GLIBC_2.12 expl F -GLIBC_2.12 expm1 F -GLIBC_2.12 expm1f F -GLIBC_2.12 expm1l F -GLIBC_2.12 fabs F -GLIBC_2.12 fabsf F -GLIBC_2.12 fabsl F -GLIBC_2.12 fdim F -GLIBC_2.12 fdimf F -GLIBC_2.12 fdiml F -GLIBC_2.12 feclearexcept F -GLIBC_2.12 fedisableexcept F -GLIBC_2.12 feenableexcept F -GLIBC_2.12 fegetenv F -GLIBC_2.12 fegetexcept F -GLIBC_2.12 fegetexceptflag F -GLIBC_2.12 fegetround F -GLIBC_2.12 feholdexcept F -GLIBC_2.12 feraiseexcept F -GLIBC_2.12 fesetenv F -GLIBC_2.12 fesetexceptflag F -GLIBC_2.12 fesetround F -GLIBC_2.12 fetestexcept F -GLIBC_2.12 feupdateenv F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 floor F -GLIBC_2.12 floorf F -GLIBC_2.12 floorl F -GLIBC_2.12 fma F -GLIBC_2.12 fmaf F -GLIBC_2.12 fmal F -GLIBC_2.12 fmax F -GLIBC_2.12 fmaxf F -GLIBC_2.12 fmaxl F -GLIBC_2.12 fmin F -GLIBC_2.12 fminf F -GLIBC_2.12 fminl F -GLIBC_2.12 fmod F -GLIBC_2.12 fmodf F -GLIBC_2.12 fmodl F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 gamma F -GLIBC_2.12 gammaf F -GLIBC_2.12 gammal F -GLIBC_2.12 hypot F -GLIBC_2.12 hypotf F -GLIBC_2.12 hypotl F -GLIBC_2.12 ilogb F -GLIBC_2.12 ilogbf F -GLIBC_2.12 ilogbl F -GLIBC_2.12 j0 F -GLIBC_2.12 j0f F -GLIBC_2.12 j0l F -GLIBC_2.12 j1 F -GLIBC_2.12 j1f F -GLIBC_2.12 j1l F -GLIBC_2.12 jn F -GLIBC_2.12 jnf F -GLIBC_2.12 jnl F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 lgamma F -GLIBC_2.12 lgamma_r F -GLIBC_2.12 lgammaf F -GLIBC_2.12 lgammaf_r F -GLIBC_2.12 lgammal F -GLIBC_2.12 lgammal_r F -GLIBC_2.12 llrint F -GLIBC_2.12 llrintf F -GLIBC_2.12 llrintl F -GLIBC_2.12 llround F -GLIBC_2.12 llroundf F -GLIBC_2.12 llroundl F -GLIBC_2.12 log F -GLIBC_2.12 log10 F -GLIBC_2.12 log10f F -GLIBC_2.12 log10l F -GLIBC_2.12 log1p F -GLIBC_2.12 log1pf F -GLIBC_2.12 log1pl F -GLIBC_2.12 log2 F -GLIBC_2.12 log2f F -GLIBC_2.12 log2l F -GLIBC_2.12 logb F -GLIBC_2.12 logbf F -GLIBC_2.12 logbl F -GLIBC_2.12 logf F -GLIBC_2.12 logl F -GLIBC_2.12 lrint F -GLIBC_2.12 lrintf F -GLIBC_2.12 lrintl F -GLIBC_2.12 lround F -GLIBC_2.12 lroundf F -GLIBC_2.12 lroundl F -GLIBC_2.12 matherr F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 nan F -GLIBC_2.12 nanf F -GLIBC_2.12 nanl F -GLIBC_2.12 nearbyint F -GLIBC_2.12 nearbyintf F -GLIBC_2.12 nearbyintl F -GLIBC_2.12 nextafter F -GLIBC_2.12 nextafterf F -GLIBC_2.12 nextafterl F -GLIBC_2.12 nexttoward F -GLIBC_2.12 nexttowardf F -GLIBC_2.12 nexttowardl F -GLIBC_2.12 pow F -GLIBC_2.12 pow10 F -GLIBC_2.12 pow10f F -GLIBC_2.12 pow10l F -GLIBC_2.12 powf F -GLIBC_2.12 powl F -GLIBC_2.12 remainder F -GLIBC_2.12 remainderf F -GLIBC_2.12 remainderl F -GLIBC_2.12 remquo F -GLIBC_2.12 remquof F -GLIBC_2.12 remquol F -GLIBC_2.12 rint F -GLIBC_2.12 rintf F -GLIBC_2.12 rintl F -GLIBC_2.12 round F -GLIBC_2.12 roundf F -GLIBC_2.12 roundl F -GLIBC_2.12 scalb F -GLIBC_2.12 scalbf F -GLIBC_2.12 scalbl F -GLIBC_2.12 scalbln F -GLIBC_2.12 scalblnf F -GLIBC_2.12 scalblnl F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 signgam D 0x4 -GLIBC_2.12 significand F -GLIBC_2.12 significandf F -GLIBC_2.12 significandl F -GLIBC_2.12 sin F -GLIBC_2.12 sincos F -GLIBC_2.12 sincosf F -GLIBC_2.12 sincosl F -GLIBC_2.12 sinf F -GLIBC_2.12 sinh F -GLIBC_2.12 sinhf F -GLIBC_2.12 sinhl F -GLIBC_2.12 sinl F -GLIBC_2.12 sqrt F -GLIBC_2.12 sqrtf F -GLIBC_2.12 sqrtl F -GLIBC_2.12 tan F -GLIBC_2.12 tanf F -GLIBC_2.12 tanh F -GLIBC_2.12 tanhf F -GLIBC_2.12 tanhl F -GLIBC_2.12 tanl F -GLIBC_2.12 tgamma F -GLIBC_2.12 tgammaf F -GLIBC_2.12 tgammal F -GLIBC_2.12 trunc F -GLIBC_2.12 truncf F -GLIBC_2.12 truncl F -GLIBC_2.12 y0 F -GLIBC_2.12 y0f F -GLIBC_2.12 y0l F -GLIBC_2.12 y1 F -GLIBC_2.12 y1f F -GLIBC_2.12 y1l F -GLIBC_2.12 yn F -GLIBC_2.12 ynf F -GLIBC_2.12 ynl F -GLIBC_2.15 GLIBC_2.15 A -GLIBC_2.15 __acos_finite F -GLIBC_2.15 __acosf_finite F -GLIBC_2.15 __acosh_finite F -GLIBC_2.15 __acoshf_finite F -GLIBC_2.15 __asin_finite F -GLIBC_2.15 __asinf_finite F -GLIBC_2.15 __atan2_finite F -GLIBC_2.15 __atan2f_finite F -GLIBC_2.15 __atanh_finite F -GLIBC_2.15 __atanhf_finite F -GLIBC_2.15 __cosh_finite F -GLIBC_2.15 __coshf_finite F -GLIBC_2.15 __exp10_finite F -GLIBC_2.15 __exp10f_finite F -GLIBC_2.15 __exp2_finite F -GLIBC_2.15 __exp2f_finite F -GLIBC_2.15 __exp_finite F -GLIBC_2.15 __expf_finite F -GLIBC_2.15 __fmod_finite F -GLIBC_2.15 __fmodf_finite F -GLIBC_2.15 __gamma_r_finite F -GLIBC_2.15 __gammaf_r_finite F -GLIBC_2.15 __hypot_finite F -GLIBC_2.15 __hypotf_finite F -GLIBC_2.15 __j0_finite F -GLIBC_2.15 __j0f_finite F -GLIBC_2.15 __j1_finite F -GLIBC_2.15 __j1f_finite F -GLIBC_2.15 __jn_finite F -GLIBC_2.15 __jnf_finite F -GLIBC_2.15 __lgamma_r_finite F -GLIBC_2.15 __lgammaf_r_finite F -GLIBC_2.15 __log10_finite F -GLIBC_2.15 __log10f_finite F -GLIBC_2.15 __log2_finite F -GLIBC_2.15 __log2f_finite F -GLIBC_2.15 __log_finite F -GLIBC_2.15 __logf_finite F -GLIBC_2.15 __pow_finite F -GLIBC_2.15 __powf_finite F -GLIBC_2.15 __remainder_finite F -GLIBC_2.15 __remainderf_finite F -GLIBC_2.15 __scalb_finite F -GLIBC_2.15 __scalbf_finite F -GLIBC_2.15 __sinh_finite F -GLIBC_2.15 __sinhf_finite F -GLIBC_2.15 __sqrt_finite F -GLIBC_2.15 __sqrtf_finite F -GLIBC_2.15 __y0_finite F -GLIBC_2.15 __y0f_finite F -GLIBC_2.15 __y1_finite F -GLIBC_2.15 __y1f_finite F -GLIBC_2.15 __yn_finite F -GLIBC_2.15 __ynf_finite F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 __issignaling F -GLIBC_2.18 __issignalingf F -GLIBC_2.23 GLIBC_2.23 A -GLIBC_2.23 __signgam D 0x4 -GLIBC_2.23 lgamma F -GLIBC_2.23 lgammaf F -GLIBC_2.23 lgammal F -GLIBC_2.24 GLIBC_2.24 A -GLIBC_2.24 nextdown F -GLIBC_2.24 nextdownf F -GLIBC_2.24 nextdownl F -GLIBC_2.24 nextup F -GLIBC_2.24 nextupf F -GLIBC_2.24 nextupl F -GLIBC_2.25 GLIBC_2.25 A -GLIBC_2.25 __iseqsig F -GLIBC_2.25 __iseqsigf F -GLIBC_2.25 canonicalize F -GLIBC_2.25 canonicalizef F -GLIBC_2.25 canonicalizel F -GLIBC_2.25 fegetmode F -GLIBC_2.25 fesetexcept F -GLIBC_2.25 fesetmode F -GLIBC_2.25 fetestexceptflag F -GLIBC_2.25 fmaxmag F -GLIBC_2.25 fmaxmagf F -GLIBC_2.25 fmaxmagl F -GLIBC_2.25 fminmag F -GLIBC_2.25 fminmagf F -GLIBC_2.25 fminmagl F -GLIBC_2.25 fromfp F -GLIBC_2.25 fromfpf F -GLIBC_2.25 fromfpl F -GLIBC_2.25 fromfpx F -GLIBC_2.25 fromfpxf F -GLIBC_2.25 fromfpxl F -GLIBC_2.25 getpayload F -GLIBC_2.25 getpayloadf F -GLIBC_2.25 getpayloadl F -GLIBC_2.25 llogb F -GLIBC_2.25 llogbf F -GLIBC_2.25 llogbl F -GLIBC_2.25 roundeven F -GLIBC_2.25 roundevenf F -GLIBC_2.25 roundevenl F -GLIBC_2.25 setpayload F -GLIBC_2.25 setpayloadf F -GLIBC_2.25 setpayloadl F -GLIBC_2.25 setpayloadsig F -GLIBC_2.25 setpayloadsigf F -GLIBC_2.25 setpayloadsigl F -GLIBC_2.25 totalorder F -GLIBC_2.25 totalorderf F -GLIBC_2.25 totalorderl F -GLIBC_2.25 totalordermag F -GLIBC_2.25 totalordermagf F -GLIBC_2.25 totalordermagl F -GLIBC_2.25 ufromfp F -GLIBC_2.25 ufromfpf F -GLIBC_2.25 ufromfpl F -GLIBC_2.25 ufromfpx F -GLIBC_2.25 ufromfpxf F -GLIBC_2.25 ufromfpxl F -GLIBC_2.27 GLIBC_2.27 A -GLIBC_2.27 acosf32 F -GLIBC_2.27 acosf32x F -GLIBC_2.27 acosf64 F -GLIBC_2.27 acoshf32 F -GLIBC_2.27 acoshf32x F -GLIBC_2.27 acoshf64 F -GLIBC_2.27 asinf32 F -GLIBC_2.27 asinf32x F -GLIBC_2.27 asinf64 F -GLIBC_2.27 asinhf32 F -GLIBC_2.27 asinhf32x F -GLIBC_2.27 asinhf64 F -GLIBC_2.27 atan2f32 F -GLIBC_2.27 atan2f32x F -GLIBC_2.27 atan2f64 F -GLIBC_2.27 atanf32 F -GLIBC_2.27 atanf32x F -GLIBC_2.27 atanf64 F -GLIBC_2.27 atanhf32 F -GLIBC_2.27 atanhf32x F -GLIBC_2.27 atanhf64 F -GLIBC_2.27 cabsf32 F -GLIBC_2.27 cabsf32x F -GLIBC_2.27 cabsf64 F -GLIBC_2.27 cacosf32 F -GLIBC_2.27 cacosf32x F -GLIBC_2.27 cacosf64 F -GLIBC_2.27 cacoshf32 F -GLIBC_2.27 cacoshf32x F -GLIBC_2.27 cacoshf64 F -GLIBC_2.27 canonicalizef32 F -GLIBC_2.27 canonicalizef32x F -GLIBC_2.27 canonicalizef64 F -GLIBC_2.27 cargf32 F -GLIBC_2.27 cargf32x F -GLIBC_2.27 cargf64 F -GLIBC_2.27 casinf32 F -GLIBC_2.27 casinf32x F -GLIBC_2.27 casinf64 F -GLIBC_2.27 casinhf32 F -GLIBC_2.27 casinhf32x F -GLIBC_2.27 casinhf64 F -GLIBC_2.27 catanf32 F -GLIBC_2.27 catanf32x F -GLIBC_2.27 catanf64 F -GLIBC_2.27 catanhf32 F -GLIBC_2.27 catanhf32x F -GLIBC_2.27 catanhf64 F -GLIBC_2.27 cbrtf32 F -GLIBC_2.27 cbrtf32x F -GLIBC_2.27 cbrtf64 F -GLIBC_2.27 ccosf32 F -GLIBC_2.27 ccosf32x F -GLIBC_2.27 ccosf64 F -GLIBC_2.27 ccoshf32 F -GLIBC_2.27 ccoshf32x F -GLIBC_2.27 ccoshf64 F -GLIBC_2.27 ceilf32 F -GLIBC_2.27 ceilf32x F -GLIBC_2.27 ceilf64 F -GLIBC_2.27 cexpf32 F -GLIBC_2.27 cexpf32x F -GLIBC_2.27 cexpf64 F -GLIBC_2.27 cimagf32 F -GLIBC_2.27 cimagf32x F -GLIBC_2.27 cimagf64 F -GLIBC_2.27 clog10f32 F -GLIBC_2.27 clog10f32x F -GLIBC_2.27 clog10f64 F -GLIBC_2.27 clogf32 F -GLIBC_2.27 clogf32x F -GLIBC_2.27 clogf64 F -GLIBC_2.27 conjf32 F -GLIBC_2.27 conjf32x F -GLIBC_2.27 conjf64 F -GLIBC_2.27 copysignf32 F -GLIBC_2.27 copysignf32x F -GLIBC_2.27 copysignf64 F -GLIBC_2.27 cosf32 F -GLIBC_2.27 cosf32x F -GLIBC_2.27 cosf64 F -GLIBC_2.27 coshf32 F -GLIBC_2.27 coshf32x F -GLIBC_2.27 coshf64 F -GLIBC_2.27 cpowf32 F -GLIBC_2.27 cpowf32x F -GLIBC_2.27 cpowf64 F -GLIBC_2.27 cprojf32 F -GLIBC_2.27 cprojf32x F -GLIBC_2.27 cprojf64 F -GLIBC_2.27 crealf32 F -GLIBC_2.27 crealf32x F -GLIBC_2.27 crealf64 F -GLIBC_2.27 csinf32 F -GLIBC_2.27 csinf32x F -GLIBC_2.27 csinf64 F -GLIBC_2.27 csinhf32 F -GLIBC_2.27 csinhf32x F -GLIBC_2.27 csinhf64 F -GLIBC_2.27 csqrtf32 F -GLIBC_2.27 csqrtf32x F -GLIBC_2.27 csqrtf64 F -GLIBC_2.27 ctanf32 F -GLIBC_2.27 ctanf32x F -GLIBC_2.27 ctanf64 F -GLIBC_2.27 ctanhf32 F -GLIBC_2.27 ctanhf32x F -GLIBC_2.27 ctanhf64 F -GLIBC_2.27 erfcf32 F -GLIBC_2.27 erfcf32x F -GLIBC_2.27 erfcf64 F -GLIBC_2.27 erff32 F -GLIBC_2.27 erff32x F -GLIBC_2.27 erff64 F -GLIBC_2.27 exp10f32 F -GLIBC_2.27 exp10f32x F -GLIBC_2.27 exp10f64 F -GLIBC_2.27 exp2f F -GLIBC_2.27 exp2f32 F -GLIBC_2.27 exp2f32x F -GLIBC_2.27 exp2f64 F -GLIBC_2.27 expf F -GLIBC_2.27 expf32 F -GLIBC_2.27 expf32x F -GLIBC_2.27 expf64 F -GLIBC_2.27 expm1f32 F -GLIBC_2.27 expm1f32x F -GLIBC_2.27 expm1f64 F -GLIBC_2.27 fabsf32 F -GLIBC_2.27 fabsf32x F -GLIBC_2.27 fabsf64 F -GLIBC_2.27 fdimf32 F -GLIBC_2.27 fdimf32x F -GLIBC_2.27 fdimf64 F -GLIBC_2.27 floorf32 F -GLIBC_2.27 floorf32x F -GLIBC_2.27 floorf64 F -GLIBC_2.27 fmaf32 F -GLIBC_2.27 fmaf32x F -GLIBC_2.27 fmaf64 F -GLIBC_2.27 fmaxf32 F -GLIBC_2.27 fmaxf32x F -GLIBC_2.27 fmaxf64 F -GLIBC_2.27 fmaxmagf32 F -GLIBC_2.27 fmaxmagf32x F -GLIBC_2.27 fmaxmagf64 F -GLIBC_2.27 fminf32 F -GLIBC_2.27 fminf32x F -GLIBC_2.27 fminf64 F -GLIBC_2.27 fminmagf32 F -GLIBC_2.27 fminmagf32x F -GLIBC_2.27 fminmagf64 F -GLIBC_2.27 fmodf32 F -GLIBC_2.27 fmodf32x F -GLIBC_2.27 fmodf64 F -GLIBC_2.27 frexpf32 F -GLIBC_2.27 frexpf32x F -GLIBC_2.27 frexpf64 F -GLIBC_2.27 fromfpf32 F -GLIBC_2.27 fromfpf32x F -GLIBC_2.27 fromfpf64 F -GLIBC_2.27 fromfpxf32 F -GLIBC_2.27 fromfpxf32x F -GLIBC_2.27 fromfpxf64 F -GLIBC_2.27 getpayloadf32 F -GLIBC_2.27 getpayloadf32x F -GLIBC_2.27 getpayloadf64 F -GLIBC_2.27 hypotf32 F -GLIBC_2.27 hypotf32x F -GLIBC_2.27 hypotf64 F -GLIBC_2.27 ilogbf32 F -GLIBC_2.27 ilogbf32x F -GLIBC_2.27 ilogbf64 F -GLIBC_2.27 j0f32 F -GLIBC_2.27 j0f32x F -GLIBC_2.27 j0f64 F -GLIBC_2.27 j1f32 F -GLIBC_2.27 j1f32x F -GLIBC_2.27 j1f64 F -GLIBC_2.27 jnf32 F -GLIBC_2.27 jnf32x F -GLIBC_2.27 jnf64 F -GLIBC_2.27 ldexpf32 F -GLIBC_2.27 ldexpf32x F -GLIBC_2.27 ldexpf64 F -GLIBC_2.27 lgammaf32 F -GLIBC_2.27 lgammaf32_r F -GLIBC_2.27 lgammaf32x F -GLIBC_2.27 lgammaf32x_r F -GLIBC_2.27 lgammaf64 F -GLIBC_2.27 lgammaf64_r F -GLIBC_2.27 llogbf32 F -GLIBC_2.27 llogbf32x F -GLIBC_2.27 llogbf64 F -GLIBC_2.27 llrintf32 F -GLIBC_2.27 llrintf32x F -GLIBC_2.27 llrintf64 F -GLIBC_2.27 llroundf32 F -GLIBC_2.27 llroundf32x F -GLIBC_2.27 llroundf64 F -GLIBC_2.27 log10f32 F -GLIBC_2.27 log10f32x F -GLIBC_2.27 log10f64 F -GLIBC_2.27 log1pf32 F -GLIBC_2.27 log1pf32x F -GLIBC_2.27 log1pf64 F -GLIBC_2.27 log2f F -GLIBC_2.27 log2f32 F -GLIBC_2.27 log2f32x F -GLIBC_2.27 log2f64 F -GLIBC_2.27 logbf32 F -GLIBC_2.27 logbf32x F -GLIBC_2.27 logbf64 F -GLIBC_2.27 logf F -GLIBC_2.27 logf32 F -GLIBC_2.27 logf32x F -GLIBC_2.27 logf64 F -GLIBC_2.27 lrintf32 F -GLIBC_2.27 lrintf32x F -GLIBC_2.27 lrintf64 F -GLIBC_2.27 lroundf32 F -GLIBC_2.27 lroundf32x F -GLIBC_2.27 lroundf64 F -GLIBC_2.27 modff32 F -GLIBC_2.27 modff32x F -GLIBC_2.27 modff64 F -GLIBC_2.27 nanf32 F -GLIBC_2.27 nanf32x F -GLIBC_2.27 nanf64 F -GLIBC_2.27 nearbyintf32 F -GLIBC_2.27 nearbyintf32x F -GLIBC_2.27 nearbyintf64 F -GLIBC_2.27 nextafterf32 F -GLIBC_2.27 nextafterf32x F -GLIBC_2.27 nextafterf64 F -GLIBC_2.27 nextdownf32 F -GLIBC_2.27 nextdownf32x F -GLIBC_2.27 nextdownf64 F -GLIBC_2.27 nextupf32 F -GLIBC_2.27 nextupf32x F -GLIBC_2.27 nextupf64 F -GLIBC_2.27 powf F -GLIBC_2.27 powf32 F -GLIBC_2.27 powf32x F -GLIBC_2.27 powf64 F -GLIBC_2.27 remainderf32 F -GLIBC_2.27 remainderf32x F -GLIBC_2.27 remainderf64 F -GLIBC_2.27 remquof32 F -GLIBC_2.27 remquof32x F -GLIBC_2.27 remquof64 F -GLIBC_2.27 rintf32 F -GLIBC_2.27 rintf32x F -GLIBC_2.27 rintf64 F -GLIBC_2.27 roundevenf32 F -GLIBC_2.27 roundevenf32x F -GLIBC_2.27 roundevenf64 F -GLIBC_2.27 roundf32 F -GLIBC_2.27 roundf32x F -GLIBC_2.27 roundf64 F -GLIBC_2.27 scalblnf32 F -GLIBC_2.27 scalblnf32x F -GLIBC_2.27 scalblnf64 F -GLIBC_2.27 scalbnf32 F -GLIBC_2.27 scalbnf32x F -GLIBC_2.27 scalbnf64 F -GLIBC_2.27 setpayloadf32 F -GLIBC_2.27 setpayloadf32x F -GLIBC_2.27 setpayloadf64 F -GLIBC_2.27 setpayloadsigf32 F -GLIBC_2.27 setpayloadsigf32x F -GLIBC_2.27 setpayloadsigf64 F -GLIBC_2.27 sincosf32 F -GLIBC_2.27 sincosf32x F -GLIBC_2.27 sincosf64 F -GLIBC_2.27 sinf32 F -GLIBC_2.27 sinf32x F -GLIBC_2.27 sinf64 F -GLIBC_2.27 sinhf32 F -GLIBC_2.27 sinhf32x F -GLIBC_2.27 sinhf64 F -GLIBC_2.27 sqrtf32 F -GLIBC_2.27 sqrtf32x F -GLIBC_2.27 sqrtf64 F -GLIBC_2.27 tanf32 F -GLIBC_2.27 tanf32x F -GLIBC_2.27 tanf64 F -GLIBC_2.27 tanhf32 F -GLIBC_2.27 tanhf32x F -GLIBC_2.27 tanhf64 F -GLIBC_2.27 tgammaf32 F -GLIBC_2.27 tgammaf32x F -GLIBC_2.27 tgammaf64 F -GLIBC_2.27 totalorderf32 F -GLIBC_2.27 totalorderf32x F -GLIBC_2.27 totalorderf64 F -GLIBC_2.27 totalordermagf32 F -GLIBC_2.27 totalordermagf32x F -GLIBC_2.27 totalordermagf64 F -GLIBC_2.27 truncf32 F -GLIBC_2.27 truncf32x F -GLIBC_2.27 truncf64 F -GLIBC_2.27 ufromfpf32 F -GLIBC_2.27 ufromfpf32x F -GLIBC_2.27 ufromfpf64 F -GLIBC_2.27 ufromfpxf32 F -GLIBC_2.27 ufromfpxf32x F -GLIBC_2.27 ufromfpxf64 F -GLIBC_2.27 y0f32 F -GLIBC_2.27 y0f32x F -GLIBC_2.27 y0f64 F -GLIBC_2.27 y1f32 F -GLIBC_2.27 y1f32x F -GLIBC_2.27 y1f64 F -GLIBC_2.27 ynf32 F -GLIBC_2.27 ynf32x F -GLIBC_2.27 ynf64 F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist deleted file mode 100644 index 0277e5c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist +++ /dev/null @@ -1,122 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __free_fdresult F -GLIBC_2.12 __nis_default_access F -GLIBC_2.12 __nis_default_group F -GLIBC_2.12 __nis_default_owner F -GLIBC_2.12 __nis_default_ttl F -GLIBC_2.12 __nis_finddirectory F -GLIBC_2.12 __nis_hash F -GLIBC_2.12 __nisbind_connect F -GLIBC_2.12 __nisbind_create F -GLIBC_2.12 __nisbind_destroy F -GLIBC_2.12 __nisbind_next F -GLIBC_2.12 __yp_check F -GLIBC_2.12 nis_add F -GLIBC_2.12 nis_add_entry F -GLIBC_2.12 nis_addmember F -GLIBC_2.12 nis_checkpoint F -GLIBC_2.12 nis_clone_directory F -GLIBC_2.12 nis_clone_object F -GLIBC_2.12 nis_clone_result F -GLIBC_2.12 nis_creategroup F -GLIBC_2.12 nis_destroy_object F -GLIBC_2.12 nis_destroygroup F -GLIBC_2.12 nis_dir_cmp F -GLIBC_2.12 nis_domain_of F -GLIBC_2.12 nis_domain_of_r F -GLIBC_2.12 nis_first_entry F -GLIBC_2.12 nis_free_directory F -GLIBC_2.12 nis_free_object F -GLIBC_2.12 nis_free_request F -GLIBC_2.12 nis_freenames F -GLIBC_2.12 nis_freeresult F -GLIBC_2.12 nis_freeservlist F -GLIBC_2.12 nis_freetags F -GLIBC_2.12 nis_getnames F -GLIBC_2.12 nis_getservlist F -GLIBC_2.12 nis_ismember F -GLIBC_2.12 nis_leaf_of F -GLIBC_2.12 nis_leaf_of_r F -GLIBC_2.12 nis_lerror F -GLIBC_2.12 nis_list F -GLIBC_2.12 nis_local_directory F -GLIBC_2.12 nis_local_group F -GLIBC_2.12 nis_local_host F -GLIBC_2.12 nis_local_principal F -GLIBC_2.12 nis_lookup F -GLIBC_2.12 nis_mkdir F -GLIBC_2.12 nis_modify F -GLIBC_2.12 nis_modify_entry F -GLIBC_2.12 nis_name_of F -GLIBC_2.12 nis_name_of_r F -GLIBC_2.12 nis_next_entry F -GLIBC_2.12 nis_perror F -GLIBC_2.12 nis_ping F -GLIBC_2.12 nis_print_directory F -GLIBC_2.12 nis_print_entry F -GLIBC_2.12 nis_print_group F -GLIBC_2.12 nis_print_group_entry F -GLIBC_2.12 nis_print_link F -GLIBC_2.12 nis_print_object F -GLIBC_2.12 nis_print_result F -GLIBC_2.12 nis_print_rights F -GLIBC_2.12 nis_print_table F -GLIBC_2.12 nis_read_obj F -GLIBC_2.12 nis_remove F -GLIBC_2.12 nis_remove_entry F -GLIBC_2.12 nis_removemember F -GLIBC_2.12 nis_rmdir F -GLIBC_2.12 nis_servstate F -GLIBC_2.12 nis_sperrno F -GLIBC_2.12 nis_sperror F -GLIBC_2.12 nis_sperror_r F -GLIBC_2.12 nis_stats F -GLIBC_2.12 nis_verifygroup F -GLIBC_2.12 nis_write_obj F -GLIBC_2.12 readColdStartFile F -GLIBC_2.12 writeColdStartFile F -GLIBC_2.12 xdr_cback_data F -GLIBC_2.12 xdr_domainname F -GLIBC_2.12 xdr_keydat F -GLIBC_2.12 xdr_mapname F -GLIBC_2.12 xdr_obj_p F -GLIBC_2.12 xdr_peername F -GLIBC_2.12 xdr_valdat F -GLIBC_2.12 xdr_yp_buf F -GLIBC_2.12 xdr_ypall F -GLIBC_2.12 xdr_ypbind_binding F -GLIBC_2.12 xdr_ypbind_resp F -GLIBC_2.12 xdr_ypbind_resptype F -GLIBC_2.12 xdr_ypbind_setdom F -GLIBC_2.12 xdr_ypdelete_args F -GLIBC_2.12 xdr_ypmap_parms F -GLIBC_2.12 xdr_ypmaplist F -GLIBC_2.12 xdr_yppush_status F -GLIBC_2.12 xdr_yppushresp_xfr F -GLIBC_2.12 xdr_ypreq_key F -GLIBC_2.12 xdr_ypreq_nokey F -GLIBC_2.12 xdr_ypreq_xfr F -GLIBC_2.12 xdr_ypresp_all F -GLIBC_2.12 xdr_ypresp_key_val F -GLIBC_2.12 xdr_ypresp_maplist F -GLIBC_2.12 xdr_ypresp_master F -GLIBC_2.12 xdr_ypresp_order F -GLIBC_2.12 xdr_ypresp_val F -GLIBC_2.12 xdr_ypresp_xfr F -GLIBC_2.12 xdr_ypstat F -GLIBC_2.12 xdr_ypupdate_args F -GLIBC_2.12 xdr_ypxfrstat F -GLIBC_2.12 yp_all F -GLIBC_2.12 yp_bind F -GLIBC_2.12 yp_first F -GLIBC_2.12 yp_get_default_domain F -GLIBC_2.12 yp_maplist F -GLIBC_2.12 yp_master F -GLIBC_2.12 yp_match F -GLIBC_2.12 yp_next F -GLIBC_2.12 yp_order F -GLIBC_2.12 yp_unbind F -GLIBC_2.12 yp_update F -GLIBC_2.12 ypbinderr_string F -GLIBC_2.12 yperr_string F -GLIBC_2.12 ypprot_err F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist deleted file mode 100644 index d16158f..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist +++ /dev/null @@ -1,226 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 __close F -GLIBC_2.12 __connect F -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __fork F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __lseek F -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pthread_cleanup_routine F -GLIBC_2.12 __pthread_getspecific F -GLIBC_2.12 __pthread_key_create F -GLIBC_2.12 __pthread_mutex_destroy F -GLIBC_2.12 __pthread_mutex_init F -GLIBC_2.12 __pthread_mutex_lock F -GLIBC_2.12 __pthread_mutex_trylock F -GLIBC_2.12 __pthread_mutex_unlock F -GLIBC_2.12 __pthread_mutexattr_destroy F -GLIBC_2.12 __pthread_mutexattr_init F -GLIBC_2.12 __pthread_mutexattr_settype F -GLIBC_2.12 __pthread_once F -GLIBC_2.12 __pthread_register_cancel F -GLIBC_2.12 __pthread_register_cancel_defer F -GLIBC_2.12 __pthread_rwlock_destroy F -GLIBC_2.12 __pthread_rwlock_init F -GLIBC_2.12 __pthread_rwlock_rdlock F -GLIBC_2.12 __pthread_rwlock_tryrdlock F -GLIBC_2.12 __pthread_rwlock_trywrlock F -GLIBC_2.12 __pthread_rwlock_unlock F -GLIBC_2.12 __pthread_rwlock_wrlock F -GLIBC_2.12 __pthread_setspecific F -GLIBC_2.12 __pthread_unregister_cancel F -GLIBC_2.12 __pthread_unregister_cancel_restore F -GLIBC_2.12 __pthread_unwind_next F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __read F -GLIBC_2.12 __res_state F -GLIBC_2.12 __send F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __vfork F -GLIBC_2.12 __wait F -GLIBC_2.12 __write F -GLIBC_2.12 _pthread_cleanup_pop F -GLIBC_2.12 _pthread_cleanup_pop_restore F -GLIBC_2.12 _pthread_cleanup_push F -GLIBC_2.12 _pthread_cleanup_push_defer F -GLIBC_2.12 accept F -GLIBC_2.12 close F -GLIBC_2.12 connect F -GLIBC_2.12 fcntl F -GLIBC_2.12 flockfile F -GLIBC_2.12 fork F -GLIBC_2.12 fsync F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 funlockfile F -GLIBC_2.12 longjmp F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 msync F -GLIBC_2.12 nanosleep F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 pause F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getaffinity_np F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getguardsize F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_getstack F -GLIBC_2.12 pthread_attr_getstackaddr F -GLIBC_2.12 pthread_attr_getstacksize F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setaffinity_np F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setguardsize F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_attr_setstack F -GLIBC_2.12 pthread_attr_setstackaddr F -GLIBC_2.12 pthread_attr_setstacksize F -GLIBC_2.12 pthread_barrier_destroy F -GLIBC_2.12 pthread_barrier_init F -GLIBC_2.12 pthread_barrier_wait F -GLIBC_2.12 pthread_barrierattr_destroy F -GLIBC_2.12 pthread_barrierattr_getpshared F -GLIBC_2.12 pthread_barrierattr_init F -GLIBC_2.12 pthread_barrierattr_setpshared F -GLIBC_2.12 pthread_cancel F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_getclock F -GLIBC_2.12 pthread_condattr_getpshared F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_condattr_setclock F -GLIBC_2.12 pthread_condattr_setpshared F -GLIBC_2.12 pthread_create F -GLIBC_2.12 pthread_detach F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getaffinity_np F -GLIBC_2.12 pthread_getattr_np F -GLIBC_2.12 pthread_getconcurrency F -GLIBC_2.12 pthread_getcpuclockid F -GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_getspecific F -GLIBC_2.12 pthread_join F -GLIBC_2.12 pthread_key_create F -GLIBC_2.12 pthread_key_delete F -GLIBC_2.12 pthread_kill F -GLIBC_2.12 pthread_kill_other_threads_np F -GLIBC_2.12 pthread_mutex_consistent F -GLIBC_2.12 pthread_mutex_consistent_np F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_getprioceiling F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_setprioceiling F -GLIBC_2.12 pthread_mutex_timedlock F -GLIBC_2.12 pthread_mutex_trylock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_mutexattr_destroy F -GLIBC_2.12 pthread_mutexattr_getkind_np F -GLIBC_2.12 pthread_mutexattr_getprioceiling F -GLIBC_2.12 pthread_mutexattr_getprotocol F -GLIBC_2.12 pthread_mutexattr_getpshared F -GLIBC_2.12 pthread_mutexattr_getrobust F -GLIBC_2.12 pthread_mutexattr_getrobust_np F -GLIBC_2.12 pthread_mutexattr_gettype F -GLIBC_2.12 pthread_mutexattr_init F -GLIBC_2.12 pthread_mutexattr_setkind_np F -GLIBC_2.12 pthread_mutexattr_setprioceiling F -GLIBC_2.12 pthread_mutexattr_setprotocol F -GLIBC_2.12 pthread_mutexattr_setpshared F -GLIBC_2.12 pthread_mutexattr_setrobust F -GLIBC_2.12 pthread_mutexattr_setrobust_np F -GLIBC_2.12 pthread_mutexattr_settype F -GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_destroy F -GLIBC_2.12 pthread_rwlock_init F -GLIBC_2.12 pthread_rwlock_rdlock F -GLIBC_2.12 pthread_rwlock_timedrdlock F -GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_tryrdlock F -GLIBC_2.12 pthread_rwlock_trywrlock F -GLIBC_2.12 pthread_rwlock_unlock F -GLIBC_2.12 pthread_rwlock_wrlock F -GLIBC_2.12 pthread_rwlockattr_destroy F -GLIBC_2.12 pthread_rwlockattr_getkind_np F -GLIBC_2.12 pthread_rwlockattr_getpshared F -GLIBC_2.12 pthread_rwlockattr_init F -GLIBC_2.12 pthread_rwlockattr_setkind_np F -GLIBC_2.12 pthread_rwlockattr_setpshared F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setaffinity_np F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setconcurrency F -GLIBC_2.12 pthread_setname_np F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 pthread_setschedprio F -GLIBC_2.12 pthread_setspecific F -GLIBC_2.12 pthread_sigmask F -GLIBC_2.12 pthread_sigqueue F -GLIBC_2.12 pthread_spin_destroy F -GLIBC_2.12 pthread_spin_init F -GLIBC_2.12 pthread_spin_lock F -GLIBC_2.12 pthread_spin_trylock F -GLIBC_2.12 pthread_spin_unlock F -GLIBC_2.12 pthread_testcancel F -GLIBC_2.12 pthread_timedjoin_np F -GLIBC_2.12 pthread_tryjoin_np F -GLIBC_2.12 pthread_yield F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 raise F -GLIBC_2.12 read F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmsg F -GLIBC_2.12 sem_close F -GLIBC_2.12 sem_destroy F -GLIBC_2.12 sem_getvalue F -GLIBC_2.12 sem_init F -GLIBC_2.12 sem_open F -GLIBC_2.12 sem_post F -GLIBC_2.12 sem_timedwait F -GLIBC_2.12 sem_trywait F -GLIBC_2.12 sem_unlink F -GLIBC_2.12 sem_wait F -GLIBC_2.12 send F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 sigaction F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 sigwait F -GLIBC_2.12 system F -GLIBC_2.12 tcdrain F -GLIBC_2.12 vfork F -GLIBC_2.12 wait F -GLIBC_2.12 waitpid F -GLIBC_2.12 write F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 pthread_getattr_default_np F -GLIBC_2.18 pthread_setattr_default_np F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist deleted file mode 100644 index aa2fefa..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist +++ /dev/null @@ -1,92 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __b64_ntop F -GLIBC_2.12 __b64_pton F -GLIBC_2.12 __dn_comp F -GLIBC_2.12 __dn_count_labels F -GLIBC_2.12 __dn_expand F -GLIBC_2.12 __dn_skipname F -GLIBC_2.12 __fp_nquery F -GLIBC_2.12 __fp_query F -GLIBC_2.12 __fp_resstat F -GLIBC_2.12 __hostalias F -GLIBC_2.12 __loc_aton F -GLIBC_2.12 __loc_ntoa F -GLIBC_2.12 __p_cdname F -GLIBC_2.12 __p_cdnname F -GLIBC_2.12 __p_class F -GLIBC_2.12 __p_class_syms D 0x54 -GLIBC_2.12 __p_fqname F -GLIBC_2.12 __p_fqnname F -GLIBC_2.12 __p_option F -GLIBC_2.12 __p_query F -GLIBC_2.12 __p_rcode F -GLIBC_2.12 __p_secstodate F -GLIBC_2.12 __p_time F -GLIBC_2.12 __p_type F -GLIBC_2.12 __p_type_syms D 0x228 -GLIBC_2.12 __putlong F -GLIBC_2.12 __putshort F -GLIBC_2.12 __res_close F -GLIBC_2.12 __res_dnok F -GLIBC_2.12 __res_hnok F -GLIBC_2.12 __res_hostalias F -GLIBC_2.12 __res_isourserver F -GLIBC_2.12 __res_mailok F -GLIBC_2.12 __res_mkquery F -GLIBC_2.12 __res_nameinquery F -GLIBC_2.12 __res_nmkquery F -GLIBC_2.12 __res_nquery F -GLIBC_2.12 __res_nquerydomain F -GLIBC_2.12 __res_nsearch F -GLIBC_2.12 __res_nsend F -GLIBC_2.12 __res_ownok F -GLIBC_2.12 __res_queriesmatch F -GLIBC_2.12 __res_query F -GLIBC_2.12 __res_querydomain F -GLIBC_2.12 __res_search F -GLIBC_2.12 __res_send F -GLIBC_2.12 __sym_ntop F -GLIBC_2.12 __sym_ntos F -GLIBC_2.12 __sym_ston F -GLIBC_2.12 _gethtbyaddr F -GLIBC_2.12 _gethtbyname F -GLIBC_2.12 _gethtbyname2 F -GLIBC_2.12 _gethtent F -GLIBC_2.12 _getlong F -GLIBC_2.12 _getshort F -GLIBC_2.12 _res_opcodes D 0x40 -GLIBC_2.12 _sethtent F -GLIBC_2.12 inet_net_ntop F -GLIBC_2.12 inet_net_pton F -GLIBC_2.12 inet_neta F -GLIBC_2.12 ns_datetosecs F -GLIBC_2.12 ns_format_ttl F -GLIBC_2.12 ns_get16 F -GLIBC_2.12 ns_get32 F -GLIBC_2.12 ns_initparse F -GLIBC_2.12 ns_makecanon F -GLIBC_2.12 ns_msg_getflag F -GLIBC_2.12 ns_name_compress F -GLIBC_2.12 ns_name_ntol F -GLIBC_2.12 ns_name_ntop F -GLIBC_2.12 ns_name_pack F -GLIBC_2.12 ns_name_pton F -GLIBC_2.12 ns_name_rollback F -GLIBC_2.12 ns_name_skip F -GLIBC_2.12 ns_name_uncompress F -GLIBC_2.12 ns_name_unpack F -GLIBC_2.12 ns_parse_ttl F -GLIBC_2.12 ns_parserr F -GLIBC_2.12 ns_put16 F -GLIBC_2.12 ns_put32 F -GLIBC_2.12 ns_samedomain F -GLIBC_2.12 ns_samename F -GLIBC_2.12 ns_skiprr F -GLIBC_2.12 ns_sprintrr F -GLIBC_2.12 ns_sprintrrf F -GLIBC_2.12 ns_subdomain F -GLIBC_2.12 res_gethostbyaddr F -GLIBC_2.12 res_gethostbyname F -GLIBC_2.12 res_gethostbyname2 F -GLIBC_2.12 res_send_setqhook F -GLIBC_2.12 res_send_setrhook F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist deleted file mode 100644 index 14f5c82..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __mq_open_2 F -GLIBC_2.12 aio_cancel F -GLIBC_2.12 aio_cancel64 F -GLIBC_2.12 aio_error F -GLIBC_2.12 aio_error64 F -GLIBC_2.12 aio_fsync F -GLIBC_2.12 aio_fsync64 F -GLIBC_2.12 aio_init F -GLIBC_2.12 aio_read F -GLIBC_2.12 aio_read64 F -GLIBC_2.12 aio_return F -GLIBC_2.12 aio_return64 F -GLIBC_2.12 aio_suspend F -GLIBC_2.12 aio_suspend64 F -GLIBC_2.12 aio_write F -GLIBC_2.12 aio_write64 F -GLIBC_2.12 clock_getcpuclockid F -GLIBC_2.12 clock_getres F -GLIBC_2.12 clock_gettime F -GLIBC_2.12 clock_nanosleep F -GLIBC_2.12 clock_settime F -GLIBC_2.12 lio_listio F -GLIBC_2.12 lio_listio64 F -GLIBC_2.12 mq_close F -GLIBC_2.12 mq_getattr F -GLIBC_2.12 mq_notify F -GLIBC_2.12 mq_open F -GLIBC_2.12 mq_receive F -GLIBC_2.12 mq_send F -GLIBC_2.12 mq_setattr F -GLIBC_2.12 mq_timedreceive F -GLIBC_2.12 mq_timedsend F -GLIBC_2.12 mq_unlink F -GLIBC_2.12 shm_open F -GLIBC_2.12 shm_unlink F -GLIBC_2.12 timer_create F -GLIBC_2.12 timer_delete F -GLIBC_2.12 timer_getoverrun F -GLIBC_2.12 timer_gettime F -GLIBC_2.12 timer_settime F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist deleted file mode 100644 index 4aade0b..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 td_init F -GLIBC_2.12 td_log F -GLIBC_2.12 td_symbol_list F -GLIBC_2.12 td_ta_clear_event F -GLIBC_2.12 td_ta_delete F -GLIBC_2.12 td_ta_enable_stats F -GLIBC_2.12 td_ta_event_addr F -GLIBC_2.12 td_ta_event_getmsg F -GLIBC_2.12 td_ta_get_nthreads F -GLIBC_2.12 td_ta_get_ph F -GLIBC_2.12 td_ta_get_stats F -GLIBC_2.12 td_ta_map_id2thr F -GLIBC_2.12 td_ta_map_lwp2thr F -GLIBC_2.12 td_ta_new F -GLIBC_2.12 td_ta_reset_stats F -GLIBC_2.12 td_ta_set_event F -GLIBC_2.12 td_ta_setconcurrency F -GLIBC_2.12 td_ta_thr_iter F -GLIBC_2.12 td_ta_tsd_iter F -GLIBC_2.12 td_thr_clear_event F -GLIBC_2.12 td_thr_dbresume F -GLIBC_2.12 td_thr_dbsuspend F -GLIBC_2.12 td_thr_event_enable F -GLIBC_2.12 td_thr_event_getmsg F -GLIBC_2.12 td_thr_get_info F -GLIBC_2.12 td_thr_getfpregs F -GLIBC_2.12 td_thr_getgregs F -GLIBC_2.12 td_thr_getxregs F -GLIBC_2.12 td_thr_getxregsize F -GLIBC_2.12 td_thr_set_event F -GLIBC_2.12 td_thr_setfpregs F -GLIBC_2.12 td_thr_setgregs F -GLIBC_2.12 td_thr_setprio F -GLIBC_2.12 td_thr_setsigpending F -GLIBC_2.12 td_thr_setxregs F -GLIBC_2.12 td_thr_sigsetmask F -GLIBC_2.12 td_thr_tls_get_addr F -GLIBC_2.12 td_thr_tlsbase F -GLIBC_2.12 td_thr_tsd F -GLIBC_2.12 td_thr_validate F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist deleted file mode 100644 index e4d4326..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist +++ /dev/null @@ -1,7 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 forkpty F -GLIBC_2.12 login F -GLIBC_2.12 login_tty F -GLIBC_2.12 logout F -GLIBC_2.12 logwtmp F -GLIBC_2.12 openpty F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h b/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h deleted file mode 100644 index da48526..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - Based on work contributed by Ulrich Drepper , 1998. - - 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 - . */ - -#include -#include <_itoa.h> - -/* We will print the register dump in this format: - - R0: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R8: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R16: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R24: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R32: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R40: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R48: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX - R52: XXXXXXXX TP: XXXXXXXX SP: XXXXXXXX LR: XXXXXXXX - - PC: XXXXXXXX ICS: X FAULTNUM: XX - - */ - -static void -hexvalue (unsigned long int value, char *buf, size_t len) -{ - char *cp = _itoa_word (value, buf + len, 16, 0); - while (cp > buf) - *--cp = '0'; -} - -static void -register_dump (int fd, mcontext_t *ctx) -{ - char regs[59][8]; - struct iovec iov[143]; - size_t nr = 0; - unsigned int i; - -#define ADD_STRING(str) \ - iov[nr].iov_base = (char *) str; \ - iov[nr].iov_len = strlen (str); \ - ++nr -#define ADD_MEM(str, len) \ - iov[nr].iov_base = str; \ - iov[nr].iov_len = len; \ - ++nr - - /* Generate strings of register contents. */ - for (i = 0; i < 56; ++i) - hexvalue (ctx->gregs[i], regs[i], 8); - hexvalue (ctx->pc, regs[56], 8); - hexvalue (ctx->ics, regs[57], 1); - hexvalue (ctx->faultnum, regs[58], 2); - - /* Generate the output. */ - for (i = 0; i < 52;) - { - const char *prefixes[] = { - "Register dump:\n\n R0: ", - "\n R8: ", - "\n R16: ", - "\n R24: ", - "\n R32: ", - "\n R40: ", - "\n R48: " - }; - ADD_STRING (prefixes[i / 8]); - do - { - ADD_MEM (regs[i], 8); - ADD_STRING (" "); - } - while (++i % 8 && i < 52); - } - ADD_STRING ("\n R52: "); - ADD_MEM (regs[52], 8); - ADD_STRING (" TP: "); - ADD_MEM (regs[53], 8); - ADD_STRING (" SP: "); - ADD_MEM (regs[54], 8); - ADD_STRING (" LR: "); - ADD_MEM (regs[55], 8); - ADD_STRING ("\n\n PC: "); - ADD_MEM (regs[56], 8); - ADD_STRING (" ICS: "); - ADD_MEM (regs[57], 1); - ADD_STRING (" FAULTNUM: "); - ADD_MEM (regs[58], 2); - ADD_STRING ("\n"); - - /* Write the stuff out. */ - writev (fd, iov, nr); -} - - -#define REGISTER_DUMP register_dump (fd, &ctx->uc_mcontext) From patchwork Wed Dec 13 19:19:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 121847 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5873815qgn; Wed, 13 Dec 2017 11:20:15 -0800 (PST) X-Google-Smtp-Source: ACJfBoseb6C0mRZGhdvG1F4f2ehqDiROZn98eVhP6vDLElAGH4S5hPDXIfbpm5FL9nlqNoKh6yh7 X-Received: by 10.99.97.66 with SMTP id v63mr6041782pgb.84.1513192815537; Wed, 13 Dec 2017 11:20:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513192815; cv=none; d=google.com; s=arc-20160816; b=MFmnYm5Ge/EIb+dqsRK+XvA3w/arhNEOMMyT34QC+sGHatNjz+X+caauaH7n93Cw+N moF99lOE21y04Kpg1Y3/RpBwm5T18IsIPQqlHd3BwmF43UKOF3MprRts9gv/Dx2BeudC aeV7B+stCVWGnCvHjABxNs0q+Q/dKpMBr225fYCYeqjJENyWKwnIrsJieai5eojazwqU aQE07K3uKh013s2BN73lxYcuoSUV/TwfNlQCE8ja6cxPEbIEgTg7x2wyfDYz+GIGfNK3 /Tv8PdYf6R28xhXDuSoIYnu2gNrqqEAShTIl5G7r3X9X+Modby9DWMhhdEtncfAKz0WB O3RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from:delivered-to :sender:list-help:list-post:list-archive:list-subscribe :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=gw2LTmcii8EJb9lVzgr60qlmyZjySDdvNFnfY8VBQzs=; b=OXH3QaSQeFqe53Qkc0ngT9xiHIyyxfrYxVzUt6NYsdL64etCzYYjumGRfFf1XYsbD9 v/0PdJt5yvT6ZIYT5d3dr5OCY2vt6Od0ktRRLDnqvxvK8NqTfr3BrH4Itrc73jfRegv3 U40wSLqp2m9ecOKz076tJ8d4t/r5IuzY4Ye2aNgZ30y/SqeY8ZgklGrCQ/ShRIko6VRd NDFvS9Px8/RkVzQhBgzTwW/tdg3avWc9+oUcdAZSEEtLcJoK3ot9LOfhLEH2SIgSDi0S 7YPIKACibHShDn6YQqKS5Q5pGMdrIeowT6VQmvNHO18B2FlbHWta1auHNiwoV61rJD/+ WP8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Adb+bqR+; spf=pass (google.com: domain of libc-alpha-return-88112-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88112-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id b14si1883456plm.499.2017.12.13.11.20.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 11:20:15 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-88112-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Adb+bqR+; spf=pass (google.com: domain of libc-alpha-return-88112-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88112-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=gvSvDWFEaoOt4I6wkZIkXgxeVGBzshD 7AtPjNnHq0l5WY0X/jedb+izJMDpC87vUAp7Kig0W14ALMsVBxAMf8xvtJs4J9Ee rWkyGAzOuU5g1qkfbkkt5Jfl7Sql3OTC7jjRZ4u7kUrvS5XTYsCUrpIJmtiKf405 yX5058xF11Co= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; s=default; bh=zKRZE8txRJifmmXKtAKZLL3GBN4=; b=Adb+b qR+EVhTWVDWgb+wTW0tvmxItoSAC/O1x/TohqDRVcz5pzgb4avihZBsFO0nl/LRQ 4iEc6A+GuaRXq3j4jx9OCZEclwnocbgZza8sPLZEaIGLSkfyAL7rryse2y6bwk97 iIXBIBwcJiKIByWbvbRsDrmWpEoPO4+xstkmm4= Received: (qmail 89537 invoked by alias); 13 Dec 2017 19:20:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 89518 invoked by uid 89); 13 Dec 2017 19:20:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=Chris, UD:sed, biarch X-HELO: mail-qk0-f196.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=gw2LTmcii8EJb9lVzgr60qlmyZjySDdvNFnfY8VBQzs=; b=ahoUnaOrC+awF5TDlj+j/Gp+7SMwFGLBYUYYP8x9JpIMQpMyMAD/OlVVtUgoQKE6nZ nrW/YmWD7ge8NpcfD1WMky/BUHi9LWuOAznAyNC8FelzUatp+gdqCqxyFC6jbsIjf+V4 fvquCBTBUmnv8MGjsoLBZSDwuqvebCuGoYUi7gTlQqkkeoKP+jIq56arcfynDKTqJ2YQ BqCVXuFV8MKZKicJZqgTgDe12QQzpdw9BOrIgkDPE6iaFIN1VASVC8MEYKHBdr2FJJpN 24VnQMxmHJucCVzmMOMaumUq4pXtztukm5mnEFW/Ip0hNyHF0UYEERYa1I0hSATJK8+g InGw== X-Gm-Message-State: AKGB3mKKKt5Lhmw+Esaiavghgsg7LzEP9Pwvp+XfZRMwaO9Oh9t35usZ jwb1rmbrAo+KRsteOFeISqax+cO7Nrs= X-Received: by 10.233.223.198 with SMTP id t189mr12182425qkf.228.1513192794819; Wed, 13 Dec 2017 11:19:54 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 2/3] Simplify tilegx sysdeps folder Date: Wed, 13 Dec 2017 17:19:44 -0200 Message-Id: <1513192785-27450-2-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1513192785-27450-1-git-send-email-adhemerval.zanella@linaro.org> References: <1513192785-27450-1-git-send-email-adhemerval.zanella@linaro.org> With tilepro support removal we can now simplify internal tile support by moving the directory structure to avoid the unnecessary directory levels in tile/tilegx both on generic and linux folders. Checked with a build for tilegx-linux-gnu and tilegx-linux-gnu-32 with and without the patch, there is no difference in generated binary with a dissassemble. * stdlib/bug-getcontext.c (do_test): Remove tilepro mention in comment. * sysdeps/tile/preconfigure: Remove tilegx folder. * sysdeps/tile/tilegx/Implies: Move definitions to ... * sysdeps/tile/Implies: ... here. * sysdeps/tile/tilegx/Makefile: Move rules to ... * sysdeps/tile/Makefile: ... here. * sysdeps/tile/tilegx/atomic-machine.h: Move definitions to ... * sysdeps/tile/atomic-machine.h: ... here. Add include guards. * sysdeps/tile/tilegx/bits/wordsize.h: Move to ... * sysdeps/tile/bits/wordsize.h: ... here. * sysdeps/tile/tilegx/*: Move to ... * sysdeps/tile/*: ... here. * sysdeps/tile/tilegx/tilegx32/Implies: Move to ... * sysdeps/tile/tilegx32/Implies: ... here. * sysdeps/tile/tilegx/tilegx64/Implies: Move to ... * sysdeps/tile/tilegx64/Implies: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Move definitions to ... * sysdeps/unix/sysv/linux/tile/Makefile: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/*: Move to ... * sysdeps/unix/sysv/linux/tile/*: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/*: Move to ... * sysdeps/unix/sysv/linux/tile/tilegx32/*: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/*: Move to ... * sysdeps/unix/sysv/linux/tile/tilegx64/*: ... here. --- ChangeLog | 29 +++++++++- stdlib/bug-getcontext.c | 2 +- sysdeps/tile/Implies | 1 + sysdeps/tile/Makefile | 36 +++++++++++++ sysdeps/tile/atomic-machine.h | 51 ++++++++++++++---- sysdeps/tile/{tilegx => }/bits/wordsize.h | 0 sysdeps/tile/{tilegx => }/memchr.c | 0 sysdeps/tile/{tilegx => }/memcpy.c | 0 sysdeps/tile/{tilegx => }/memset.c | 0 sysdeps/tile/{tilegx => }/memusage.h | 0 sysdeps/tile/preconfigure | 4 +- sysdeps/tile/{tilegx => }/rawmemchr.c | 0 sysdeps/tile/{tilegx => }/strcasestr.c | 0 sysdeps/tile/{tilegx => }/strchr.c | 0 sysdeps/tile/{tilegx => }/strchrnul.c | 0 sysdeps/tile/{tilegx => }/string-endian.h | 0 sysdeps/tile/{tilegx => }/strlen.c | 0 sysdeps/tile/{tilegx => }/strnlen.c | 0 sysdeps/tile/{tilegx => }/strrchr.c | 0 sysdeps/tile/{tilegx => }/strstr.c | 0 sysdeps/tile/tilegx/Implies | 1 - sysdeps/tile/tilegx/Makefile | 35 ------------- sysdeps/tile/tilegx/atomic-machine.h | 61 ---------------------- sysdeps/tile/{tilegx => }/tilegx32/Implies | 1 - sysdeps/tile/{tilegx => }/tilegx64/Implies | 1 - sysdeps/unix/sysv/linux/tile/Makefile | 5 ++ .../unix/sysv/linux/tile/{tilegx => }/configure | 2 +- .../unix/sysv/linux/tile/{tilegx => }/configure.ac | 2 +- sysdeps/unix/sysv/linux/tile/{tilegx => }/ioctl.S | 0 .../unix/sysv/linux/tile/{tilegx => }/ldconfig.h | 0 .../sysv/linux/tile/{tilegx => }/ldd-rewrite.sed | 0 .../sysv/linux/tile/{tilegx => }/register-dump.h | 0 .../sysv/linux/tile/{tilegx => }/sched_getcpu.c | 0 sysdeps/unix/sysv/linux/tile/tilegx/Makefile | 4 -- .../sysv/linux/tile/{tilegx => }/tilegx32/Implies | 1 - .../sysv/linux/tile/{tilegx => }/tilegx32/Makefile | 0 .../tile/{tilegx => }/tilegx32/c++-types.data | 0 .../tile/{tilegx => }/tilegx32/jmp_buf-macros.h | 0 .../linux/tile/{tilegx => }/tilegx32/ld.abilist | 0 .../tilegx64 => tilegx32}/libBrokenLocale.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libanl.abilist | 0 .../linux/tile/{tilegx => }/tilegx32/libc.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libcrypt.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libdl.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libm.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libnsl.abilist | 0 .../tilegx64 => tilegx32}/libpthread.abilist | 0 .../tile/{tilegx => }/tilegx32/libresolv.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/librt.abilist | 0 .../tilegx64 => tilegx32}/libthread_db.abilist | 0 .../{tilegx/tilegx64 => tilegx32}/libutil.abilist | 0 .../sysv/linux/tile/{tilegx => }/tilegx64/Implies | 1 - .../sysv/linux/tile/{tilegx => }/tilegx64/Makefile | 0 .../tile/{tilegx => }/tilegx64/c++-types.data | 0 .../tile/{tilegx => }/tilegx64/jmp_buf-macros.h | 0 .../linux/tile/{tilegx => }/tilegx64/ld.abilist | 0 .../tilegx32 => tilegx64}/libBrokenLocale.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libanl.abilist | 0 .../linux/tile/{tilegx => }/tilegx64/libc.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libcrypt.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libdl.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libm.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libnsl.abilist | 0 .../tilegx32 => tilegx64}/libpthread.abilist | 0 .../tile/{tilegx => }/tilegx64/libresolv.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/librt.abilist | 0 .../tilegx32 => tilegx64}/libthread_db.abilist | 0 .../{tilegx/tilegx32 => tilegx64}/libutil.abilist | 0 68 files changed, 115 insertions(+), 122 deletions(-) rename sysdeps/tile/{tilegx => }/bits/wordsize.h (100%) rename sysdeps/tile/{tilegx => }/memchr.c (100%) rename sysdeps/tile/{tilegx => }/memcpy.c (100%) rename sysdeps/tile/{tilegx => }/memset.c (100%) rename sysdeps/tile/{tilegx => }/memusage.h (100%) rename sysdeps/tile/{tilegx => }/rawmemchr.c (100%) rename sysdeps/tile/{tilegx => }/strcasestr.c (100%) rename sysdeps/tile/{tilegx => }/strchr.c (100%) rename sysdeps/tile/{tilegx => }/strchrnul.c (100%) rename sysdeps/tile/{tilegx => }/string-endian.h (100%) rename sysdeps/tile/{tilegx => }/strlen.c (100%) rename sysdeps/tile/{tilegx => }/strnlen.c (100%) rename sysdeps/tile/{tilegx => }/strrchr.c (100%) rename sysdeps/tile/{tilegx => }/strstr.c (100%) delete mode 100644 sysdeps/tile/tilegx/Implies delete mode 100644 sysdeps/tile/tilegx/Makefile delete mode 100644 sysdeps/tile/tilegx/atomic-machine.h rename sysdeps/tile/{tilegx => }/tilegx32/Implies (58%) rename sysdeps/tile/{tilegx => }/tilegx64/Implies (58%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/configure (96%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/configure.ac (91%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/ioctl.S (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/ldconfig.h (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/ldd-rewrite.sed (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/register-dump.h (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/sched_getcpu.c (100%) delete mode 100644 sysdeps/unix/sysv/linux/tile/tilegx/Makefile rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/Implies (74%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/Makefile (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/c++-types.data (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/jmp_buf-macros.h (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/ld.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libBrokenLocale.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libanl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/libc.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libcrypt.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libdl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libm.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libnsl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libpthread.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx32/libresolv.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/librt.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libthread_db.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx64 => tilegx32}/libutil.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/Implies (72%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/Makefile (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/c++-types.data (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/jmp_buf-macros.h (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/ld.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libBrokenLocale.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libanl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/libc.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libcrypt.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libdl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libm.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libnsl.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libpthread.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx => }/tilegx64/libresolv.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/librt.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libthread_db.abilist (100%) rename sysdeps/unix/sysv/linux/tile/{tilegx/tilegx32 => tilegx64}/libutil.abilist (100%) -- 2.7.4 diff --git a/stdlib/bug-getcontext.c b/stdlib/bug-getcontext.c index 163400a..55c681c 100644 --- a/stdlib/bug-getcontext.c +++ b/stdlib/bug-getcontext.c @@ -50,7 +50,7 @@ do_test (void) printf ("\nDone with getcontext()!\n"); fflush (NULL); - /* On nios2 and tilepro, GCC 5 warns that except_mask may be used + /* On nios2 GCC 5 warns that except_mask may be used uninitialized. Because it is always initialized and nothing in this test ever calls setcontext (a setcontext call could result in local variables being clobbered on the second return from diff --git a/sysdeps/tile/Implies b/sysdeps/tile/Implies index 1cbc053..cb17441 100644 --- a/sysdeps/tile/Implies +++ b/sysdeps/tile/Implies @@ -1,3 +1,4 @@ ieee754/soft-fp +ieee754/dbl-64/wordsize-64 ieee754/dbl-64 ieee754/flt-32 diff --git a/sysdeps/tile/Makefile b/sysdeps/tile/Makefile index 3cd4d1e..dcb8777 100644 --- a/sysdeps/tile/Makefile +++ b/sysdeps/tile/Makefile @@ -1,3 +1,39 @@ +include $(common-objpfx)cflags-mcmodel-large.mk + +# Check for gcc to support the command-line switch, and for +# binutils to support the hwN_plt() assembly operators and relocations. +$(common-objpfx)cflags-mcmodel-large.mk: $(common-objpfx)config.make + mcmodel=no; \ + (echo 'int main() { return getuid(); }' | \ + $(CC) -o /dev/null -xc - -mcmodel=large -fpic) && mcmodel=yes; \ + echo "cflags-mcmodel-large = $$mcmodel" > $@ + +ifeq (yes,$(cflags-mcmodel-large)) + +ifeq ($(subdir),csu) +# elf-init.c is in libc_nonshared.o (the end of the shared object) but +# must reach the _init symbol at the very start of the shared object. +CFLAGS-elf-init.c += -mcmodel=large + +# __gmon_start__ is at the very start of the shared object when linked +# with profiling, but calls to libc.so via the PLT at the very end. +CFLAGS-gmon-start.c += -mcmodel=large +endif + +else + +# Don't try to compile assembly code with hwN_plt() directives if the +# toolchain doesn't support -mcmodel=large. +ifeq ($(subdir),csu) +CPPFLAGS-start.S += -DNO_PLT_PCREL +CPPFLAGS-crti.S += -DNO_PLT_PCREL +endif +ifeq ($(subdir),nptl) +CPPFLAGS-pt-crti.S += -DNO_PLT_PCREL +endif + +endif + # We don't support long doubles as a distinct type. We don't need to set # this variable; it's here mostly for documentational purposes. diff --git a/sysdeps/tile/atomic-machine.h b/sysdeps/tile/atomic-machine.h index 32277c9..58ce76c 100644 --- a/sysdeps/tile/atomic-machine.h +++ b/sysdeps/tile/atomic-machine.h @@ -16,20 +16,12 @@ License along with the GNU C Library. If not, see . */ -/* The sub-architecture headers provide definitions for these macros - that work for "int" and "long" size values only: - - atomic_compare_and_exchange_val_acq() - atomic_exchange_acq() - atomic_exchange_and_add() - atomic_and_val() - atomic_or_val() - atomic_decrement_if_positive() [tilegx only] - - Here we provide generic definitions true for all Tilera chips. */ +#ifndef _ATOMIC_MACHINE_H +#define _ATOMIC_MACHINE_H 1 #include #include +#include typedef int32_t atomic32_t; typedef uint32_t uatomic32_t; @@ -46,6 +38,41 @@ typedef uintptr_t uatomicptr_t; typedef intmax_t atomic_max_t; typedef uintmax_t uatomic_max_t; +#ifdef _LP64 +# define __HAVE_64B_ATOMICS 1 +#else +/* tilegx32 does have 64-bit atomics, but assumptions in the semaphore + code mean that unaligned 64-bit atomics will be used if this symbol + is true, and unaligned atomics are not supported on tile. */ +# define __HAVE_64B_ATOMICS 0 +#endif + +#define USE_ATOMIC_COMPILER_BUILTINS 0 +#define ATOMIC_EXCHANGE_USES_CAS 0 + +/* Pick appropriate 8- or 4-byte instruction. */ +#define __atomic_update(mem, v, op) \ + ((__typeof (*(mem))) (__typeof (*(mem) - *(mem))) \ + ((sizeof (*(mem)) == 8) ? \ + __insn_##op ((void *) (mem), (int64_t) (__typeof((v) - (v))) (v)) : \ + (sizeof (*(mem)) == 4) ? \ + __insn_##op##4 ((void *) (mem), (int32_t) (__typeof ((v) - (v))) (v)) : \ + __atomic_error_bad_argument_size())) + +#define atomic_compare_and_exchange_val_acq(mem, n, o) \ + ({ __insn_mtspr (SPR_CMPEXCH_VALUE, (int64_t) (__typeof ((o) - (o))) (o)); \ + __atomic_update (mem, n, cmpexch); }) +#define atomic_exchange_acq(mem, newvalue) \ + __atomic_update (mem, newvalue, exch) +#define atomic_exchange_and_add(mem, value) \ + __atomic_update (mem, value, fetchadd) +#define atomic_and_val(mem, mask) \ + __atomic_update (mem, mask, fetchand) +#define atomic_or_val(mem, mask) \ + __atomic_update (mem, mask, fetchor) +#define atomic_decrement_if_positive(mem) \ + __atomic_update (mem, -1, fetchaddgez) + /* Barrier macro. */ #define atomic_full_barrier() __sync_synchronize() @@ -79,3 +106,5 @@ typedef uintmax_t uatomic_max_t; */ extern int __atomic_error_bad_argument_size(void) __attribute__ ((warning ("bad sizeof atomic argument"))); + +#endif /* _ATOMIC_MACHINE_H */ diff --git a/sysdeps/tile/tilegx/bits/wordsize.h b/sysdeps/tile/bits/wordsize.h similarity index 100% rename from sysdeps/tile/tilegx/bits/wordsize.h rename to sysdeps/tile/bits/wordsize.h diff --git a/sysdeps/tile/tilegx/memchr.c b/sysdeps/tile/memchr.c similarity index 100% rename from sysdeps/tile/tilegx/memchr.c rename to sysdeps/tile/memchr.c diff --git a/sysdeps/tile/tilegx/memcpy.c b/sysdeps/tile/memcpy.c similarity index 100% rename from sysdeps/tile/tilegx/memcpy.c rename to sysdeps/tile/memcpy.c diff --git a/sysdeps/tile/tilegx/memset.c b/sysdeps/tile/memset.c similarity index 100% rename from sysdeps/tile/tilegx/memset.c rename to sysdeps/tile/memset.c diff --git a/sysdeps/tile/tilegx/memusage.h b/sysdeps/tile/memusage.h similarity index 100% rename from sysdeps/tile/tilegx/memusage.h rename to sysdeps/tile/memusage.h diff --git a/sysdeps/tile/preconfigure b/sysdeps/tile/preconfigure index d2165c3..21382df 100644 --- a/sysdeps/tile/preconfigure +++ b/sysdeps/tile/preconfigure @@ -3,8 +3,8 @@ case "$machine" in tilegx*) base_machine=tile if $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep -q __LP64__; then - machine=tile/tilegx/tilegx64 + machine=tile/tilegx64 else - machine=tile/tilegx/tilegx32 + machine=tile/tilegx32 fi ;; esac diff --git a/sysdeps/tile/tilegx/rawmemchr.c b/sysdeps/tile/rawmemchr.c similarity index 100% rename from sysdeps/tile/tilegx/rawmemchr.c rename to sysdeps/tile/rawmemchr.c diff --git a/sysdeps/tile/tilegx/strcasestr.c b/sysdeps/tile/strcasestr.c similarity index 100% rename from sysdeps/tile/tilegx/strcasestr.c rename to sysdeps/tile/strcasestr.c diff --git a/sysdeps/tile/tilegx/strchr.c b/sysdeps/tile/strchr.c similarity index 100% rename from sysdeps/tile/tilegx/strchr.c rename to sysdeps/tile/strchr.c diff --git a/sysdeps/tile/tilegx/strchrnul.c b/sysdeps/tile/strchrnul.c similarity index 100% rename from sysdeps/tile/tilegx/strchrnul.c rename to sysdeps/tile/strchrnul.c diff --git a/sysdeps/tile/tilegx/string-endian.h b/sysdeps/tile/string-endian.h similarity index 100% rename from sysdeps/tile/tilegx/string-endian.h rename to sysdeps/tile/string-endian.h diff --git a/sysdeps/tile/tilegx/strlen.c b/sysdeps/tile/strlen.c similarity index 100% rename from sysdeps/tile/tilegx/strlen.c rename to sysdeps/tile/strlen.c diff --git a/sysdeps/tile/tilegx/strnlen.c b/sysdeps/tile/strnlen.c similarity index 100% rename from sysdeps/tile/tilegx/strnlen.c rename to sysdeps/tile/strnlen.c diff --git a/sysdeps/tile/tilegx/strrchr.c b/sysdeps/tile/strrchr.c similarity index 100% rename from sysdeps/tile/tilegx/strrchr.c rename to sysdeps/tile/strrchr.c diff --git a/sysdeps/tile/tilegx/strstr.c b/sysdeps/tile/strstr.c similarity index 100% rename from sysdeps/tile/tilegx/strstr.c rename to sysdeps/tile/strstr.c diff --git a/sysdeps/tile/tilegx/Implies b/sysdeps/tile/tilegx/Implies deleted file mode 100644 index ade71c1..0000000 --- a/sysdeps/tile/tilegx/Implies +++ /dev/null @@ -1 +0,0 @@ -ieee754/dbl-64/wordsize-64 diff --git a/sysdeps/tile/tilegx/Makefile b/sysdeps/tile/tilegx/Makefile deleted file mode 100644 index 4281dd9..0000000 --- a/sysdeps/tile/tilegx/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -include $(common-objpfx)cflags-mcmodel-large.mk - -# Check for gcc to support the command-line switch, and for -# binutils to support the hwN_plt() assembly operators and relocations. -$(common-objpfx)cflags-mcmodel-large.mk: $(common-objpfx)config.make - mcmodel=no; \ - (echo 'int main() { return getuid(); }' | \ - $(CC) -o /dev/null -xc - -mcmodel=large -fpic) && mcmodel=yes; \ - echo "cflags-mcmodel-large = $$mcmodel" > $@ - -ifeq (yes,$(cflags-mcmodel-large)) - -ifeq ($(subdir),csu) -# elf-init.c is in libc_nonshared.o (the end of the shared object) but -# must reach the _init symbol at the very start of the shared object. -CFLAGS-elf-init.c += -mcmodel=large - -# __gmon_start__ is at the very start of the shared object when linked -# with profiling, but calls to libc.so via the PLT at the very end. -CFLAGS-gmon-start.c += -mcmodel=large -endif - -else - -# Don't try to compile assembly code with hwN_plt() directives if the -# toolchain doesn't support -mcmodel=large. -ifeq ($(subdir),csu) -CPPFLAGS-start.S += -DNO_PLT_PCREL -CPPFLAGS-crti.S += -DNO_PLT_PCREL -endif -ifeq ($(subdir),nptl) -CPPFLAGS-pt-crti.S += -DNO_PLT_PCREL -endif - -endif diff --git a/sysdeps/tile/tilegx/atomic-machine.h b/sysdeps/tile/tilegx/atomic-machine.h deleted file mode 100644 index e77f670..0000000 --- a/sysdeps/tile/tilegx/atomic-machine.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - 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 - . */ - -#ifndef _ATOMIC_MACHINE_H -#define _ATOMIC_MACHINE_H 1 - -#include - -#ifdef _LP64 -# define __HAVE_64B_ATOMICS 1 -#else -/* tilegx32 does have 64-bit atomics, but assumptions in the semaphore - code mean that unaligned 64-bit atomics will be used if this symbol - is true, and unaligned atomics are not supported on tile. */ -# define __HAVE_64B_ATOMICS 0 -#endif - -#define USE_ATOMIC_COMPILER_BUILTINS 0 -#define ATOMIC_EXCHANGE_USES_CAS 0 - -/* Pick appropriate 8- or 4-byte instruction. */ -#define __atomic_update(mem, v, op) \ - ((__typeof (*(mem))) (__typeof (*(mem) - *(mem))) \ - ((sizeof (*(mem)) == 8) ? \ - __insn_##op ((void *) (mem), (int64_t) (__typeof((v) - (v))) (v)) : \ - (sizeof (*(mem)) == 4) ? \ - __insn_##op##4 ((void *) (mem), (int32_t) (__typeof ((v) - (v))) (v)) : \ - __atomic_error_bad_argument_size())) - -#define atomic_compare_and_exchange_val_acq(mem, n, o) \ - ({ __insn_mtspr (SPR_CMPEXCH_VALUE, (int64_t) (__typeof ((o) - (o))) (o)); \ - __atomic_update (mem, n, cmpexch); }) -#define atomic_exchange_acq(mem, newvalue) \ - __atomic_update (mem, newvalue, exch) -#define atomic_exchange_and_add(mem, value) \ - __atomic_update (mem, value, fetchadd) -#define atomic_and_val(mem, mask) \ - __atomic_update (mem, mask, fetchand) -#define atomic_or_val(mem, mask) \ - __atomic_update (mem, mask, fetchor) -#define atomic_decrement_if_positive(mem) \ - __atomic_update (mem, -1, fetchaddgez) - -#include - -#endif /* atomic-machine.h */ diff --git a/sysdeps/tile/tilegx/tilegx32/Implies b/sysdeps/tile/tilegx32/Implies similarity index 58% rename from sysdeps/tile/tilegx/tilegx32/Implies rename to sysdeps/tile/tilegx32/Implies index 993b7f4..709e1dc 100644 --- a/sysdeps/tile/tilegx/tilegx32/Implies +++ b/sysdeps/tile/tilegx32/Implies @@ -1,3 +1,2 @@ -tile/tilegx tile wordsize-32 diff --git a/sysdeps/tile/tilegx/tilegx64/Implies b/sysdeps/tile/tilegx64/Implies similarity index 58% rename from sysdeps/tile/tilegx/tilegx64/Implies rename to sysdeps/tile/tilegx64/Implies index eb0686e..1e9db8e 100644 --- a/sysdeps/tile/tilegx/tilegx64/Implies +++ b/sysdeps/tile/tilegx64/Implies @@ -1,3 +1,2 @@ -tile/tilegx tile wordsize-64 diff --git a/sysdeps/unix/sysv/linux/tile/Makefile b/sysdeps/unix/sysv/linux/tile/Makefile index 04605a6..fddaf18 100644 --- a/sysdeps/unix/sysv/linux/tile/Makefile +++ b/sysdeps/unix/sysv/linux/tile/Makefile @@ -1,3 +1,8 @@ +# Provide biarch definitions. +abi-variants := 64 32 +abi-64-condition := __WORDSIZE == 64 +abi-32-condition := __WORDSIZE == 32 + ifeq ($(subdir),misc) # provides something like x86 compatibility. diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/configure b/sysdeps/unix/sysv/linux/tile/configure similarity index 96% rename from sysdeps/unix/sysv/linux/tile/tilegx/configure rename to sysdeps/unix/sysv/linux/tile/configure index 36e42e0..63f9686 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/configure +++ b/sysdeps/unix/sysv/linux/tile/configure @@ -4,7 +4,7 @@ ldd_rewrite_script=$dir/ldd-rewrite.sed case $machine in -tile/tilegx/tilegx32) +tile/tilegx32) test -n "$libc_cv_slibdir" || case "$prefix" in /usr | /usr/) diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac b/sysdeps/unix/sysv/linux/tile/configure.ac similarity index 91% rename from sysdeps/unix/sysv/linux/tile/tilegx/configure.ac rename to sysdeps/unix/sysv/linux/tile/configure.ac index baca1f6..45ec42c 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac +++ b/sysdeps/unix/sysv/linux/tile/configure.ac @@ -4,7 +4,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. ldd_rewrite_script=$dir/ldd-rewrite.sed case $machine in -tile/tilegx/tilegx32) +tile/tilegx32) LIBC_SLIBDIR_RTLDDIR([lib32], [lib32]) ;; esac diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S b/sysdeps/unix/sysv/linux/tile/ioctl.S similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S rename to sysdeps/unix/sysv/linux/tile/ioctl.S diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h b/sysdeps/unix/sysv/linux/tile/ldconfig.h similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h rename to sysdeps/unix/sysv/linux/tile/ldconfig.h diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed rename to sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h b/sysdeps/unix/sysv/linux/tile/register-dump.h similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h rename to sysdeps/unix/sysv/linux/tile/register-dump.h diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c b/sysdeps/unix/sysv/linux/tile/sched_getcpu.c similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c rename to sysdeps/unix/sysv/linux/tile/sched_getcpu.c diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx/Makefile deleted file mode 100644 index 62a5be6..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# Provide biarch definitions. -abi-variants := 64 32 -abi-64-condition := __WORDSIZE == 64 -abi-32-condition := __WORDSIZE == 32 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies b/sysdeps/unix/sysv/linux/tile/tilegx32/Implies similarity index 74% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies rename to sysdeps/unix/sysv/linux/tile/tilegx32/Implies index 9090d3f..0023bb7 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies +++ b/sysdeps/unix/sysv/linux/tile/tilegx32/Implies @@ -1,4 +1,3 @@ -unix/sysv/linux/tile/tilegx unix/sysv/linux/tile unix/sysv/linux/generic/wordsize-32 unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile rename to sysdeps/unix/sysv/linux/tile/tilegx32/Makefile diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data rename to sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h rename to sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies b/sysdeps/unix/sysv/linux/tile/tilegx64/Implies similarity index 72% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies rename to sysdeps/unix/sysv/linux/tile/tilegx64/Implies index e4e0800..f814319 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies +++ b/sysdeps/unix/sysv/linux/tile/tilegx64/Implies @@ -1,4 +1,3 @@ -unix/sysv/linux/tile/tilegx unix/sysv/linux/tile unix/sysv/linux/generic unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile rename to sysdeps/unix/sysv/linux/tile/tilegx64/Makefile diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data rename to sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h rename to sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist similarity index 100% rename from sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist rename to sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist From patchwork Wed Dec 13 19:19:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 121848 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5874039qgn; Wed, 13 Dec 2017 11:20:29 -0800 (PST) X-Google-Smtp-Source: ACJfBot2yRWzXo6Og5bCSFdvHdf2WIf1osOdJGKCDpxND+i3g+IKSH2yJ9PazgK0t7Mk8oMQjUgV X-Received: by 10.101.91.78 with SMTP id y14mr6284401pgr.220.1513192829775; Wed, 13 Dec 2017 11:20:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513192829; cv=none; d=google.com; s=arc-20160816; b=YftxoeyUt2Uwi/jpaeV+rxUL2pfPStfPW05nVSs7R1rwg1vQ2Hc3n53VviuFWW7h73 HtOIwKAXvkPxtNwIBYLx77A4V+en2Vh1DOJGNEx0CXTuRPi2QOkpsHraF/1OpYzHdFRo kJNZRkjVhmkcZxzxk8LYDCM52tDt2wHVAeGAcuXzpfDj0mbR3JBh9TiSh9BRtflu49NQ FCctTYYp72Uy5Ko/wPblUhLjUKJfkjbGkEI+NLubTjOz0jYI/kGwvVPXkRW5D90c2IIm NyrmM2ydVsyTxwx5nbwl4GGZ8ylIIf1mZ3Y+o0MPkzKvg2OE3XvEq6eqbn6Vvt9YOBL9 Qh9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from:delivered-to :sender:list-help:list-post:list-archive:list-subscribe :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=VB5oUL+JbcrBBylcdhIuYYfW1JzdEJllV61ii8EGYUo=; b=HJgEzxij301J6UEbNHLFQ6AfUYa/h7/lTdPOxjrB/EQXcTvthM7E1iBQseylyPgs4c GGSRy3/Wjv36zorQxfORy1Q65xeOh9JhAdTUhHpkArPu5vbviIR169Xk8gXBCs+zuZlm xXJ1Vi5uDS3XoqzKIzO2HrQj0uL5cjSzk4DhvZvYUTf6aCXkcnm+FXXyw23xrRD41Qoa AfNVOR2VQZ5FyzqD+jxBWpfrREKwKQ2hYkaCsPhK/yKwX1wsKNNOim0f3JbhaD2nXS1h E3TyPJEipZldcx2MV61YT44hx2Z2PVGAXuwd9NOpErE3nUhok4chpQ3g6IkM07KgihIS X+xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=QedRYXOR; spf=pass (google.com: domain of libc-alpha-return-88113-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88113-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id 11si1811169plb.52.2017.12.13.11.20.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 11:20:29 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-88113-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=QedRYXOR; spf=pass (google.com: domain of libc-alpha-return-88113-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-88113-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=jbKJTQ1QF2TYoKAqDFVjcbDCmg8CFa4 QaiYq9fisks11HG3+5MxhZw4Ut5GgD6nAzSBYZwRwI4acxLn7RjVmKz/e36iP0qL 7QTtQsy+xEFYGXQUZS3ZSUl8q+6DBZ7sH7s+RtX+Hv4RNXxxucGBqhwGNPTX6NCt qvbPikMQ9d6Q= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; s=default; bh=6zrdn/AQJ1F3F3lVRQr6hHbr1io=; b=QedRY XORWH4J3jnZutpQFaeeEpRjt75VPpisqEz1mAlAUIpwuEJIIK/IR2rDNITF78get OCtGe9NShCzxzmXOdtoKB7xK0wBdgLRvHDPeflBElbcMfGuUDgdsNMblJPF70V0t wEAbIfu+ivfGQn8MXUAblrp7TJkCq95uAuGDdU= Received: (qmail 89548 invoked by alias); 13 Dec 2017 19:20:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 89516 invoked by uid 89); 13 Dec 2017 19:20:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=ics, lowercase, tear, briefly X-HELO: mail-qk0-f193.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=VB5oUL+JbcrBBylcdhIuYYfW1JzdEJllV61ii8EGYUo=; b=SRKP/TZtxU0ssEc6YkoZ/iNBiapDICOi4h+iFP7zVWRX8pa9vrwPFz2dFDWylzv62p 7RAPdb0wFGf1r5nIFF6+UGpnU/f3GoWjNyu1viLAk0IvXTTnm7ANNe10hzVsmia80tp6 pSOVFUwxeCS9RO3SYrR7g+9ufSZUCTY6UeQmuOypUchcUDwgskDUUTwbRa5j8GSlecD2 wB/6QoQKYM36P5upcjXMwCYuUszCNI0KLjur9Dy35wO1a1pFbuQ8pMz7gHdu7c6D//t7 +7//Xmn/H5IDlrVBb3Q8UCaHHwoUd210JLUnLlDM/m1z4HztBgFHevitIaRIZyXTmk+D l1JQ== X-Gm-Message-State: AKGB3mIEnl2WjHzJYURkZKD6L+JzJO7gE/oOwedyr7nBkQozstjCvOg3 KdnKaaoUCmDywPOH9PZpIlbmPb6yCFQ= X-Received: by 10.55.119.197 with SMTP id s188mr12328591qkc.233.1513192796277; Wed, 13 Dec 2017 11:19:56 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 3/3] Simplify tile assembly definitions Date: Wed, 13 Dec 2017 17:19:45 -0200 Message-Id: <1513192785-27450-3-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1513192785-27450-1-git-send-email-adhemerval.zanella@linaro.org> References: <1513192785-27450-1-git-send-email-adhemerval.zanella@linaro.org> With tilepro removal, the uppercase instruction are not anymore required to be defines as potentially macros. This is a mechanical change done by the following script: --- INSNS="LD LD4U ST ST4 BNEZ BEQZ BEQZT BGTZ CMPEQI CMPEQ CMOVEQZ CMOVNEZ" FILES=$(find sysdeps/tile sysdeps/unix/sysv/linux/tile -iname *.S) for insn in $INSNS; do repl=$(echo $insn | tr '[:upper:]' '[:lower:]') sed -i 's/\b'$insn'\b/'$repl'/g' $FILES done --- Checked with a build for tilegx-linux-gnu and tilegx-linux-gnu-32 with and without the patch, there is no difference in generated binary with a dissassemble. * sysdeps/tile/__longjmp.S (__longjmp): Use lowercase instructions. * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise. * sysdeps/tile/_mcount.S (__mcount): Likewise. * sysdeps/tile/crti.S (_init, _fini): Likewise. * sysdeps/tile/crtn.S: Likewise. * sysdeps/tile/dl-start.S (_start): Likewise. * sysdeps/tile/dl-trampoline.S: Likewise. * sysdeps/tile/setjmp.S (__sigsetjmp): Likewise. * sysdeps/tile/start.S (_start): Likewise. * sysdeps/unix/sysv/linux/tile/clone.S (_clone): Likewise. * sysdeps/unix/sysv/linux/tile/getcontext.S (__getcontext): Likewise. * sysdeps/unix/sysv/linux/tile/ioctl.S (__ioctl): Likewise. * sysdeps/unix/sysv/linux/tile/setcontext.S (__setcontext): Likewise. * sysdeps/unix/sysv/linux/tile/swapcontext.S (__swapcontext): Likewise. * sysdeps/unix/sysv/linux/tile/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/tile/vfork.S (__vfork): Likewise. --- ChangeLog | 17 +++++ sysdeps/tile/__longjmp.S | 6 +- sysdeps/tile/__tls_get_addr.S | 114 ++++++++++++++--------------- sysdeps/tile/_mcount.S | 50 ++++++------- sysdeps/tile/crti.S | 10 +-- sysdeps/tile/crtn.S | 4 +- sysdeps/tile/dl-start.S | 6 +- sysdeps/tile/dl-trampoline.S | 28 +++---- sysdeps/tile/setjmp.S | 4 +- sysdeps/tile/start.S | 4 +- sysdeps/unix/sysv/linux/tile/clone.S | 28 +++---- sysdeps/unix/sysv/linux/tile/getcontext.S | 58 +++++++-------- sysdeps/unix/sysv/linux/tile/ioctl.S | 2 +- sysdeps/unix/sysv/linux/tile/setcontext.S | 98 ++++++++++++------------- sysdeps/unix/sysv/linux/tile/swapcontext.S | 22 +++--- sysdeps/unix/sysv/linux/tile/syscall.S | 2 +- sysdeps/unix/sysv/linux/tile/vfork.S | 2 +- 17 files changed, 236 insertions(+), 219 deletions(-) -- 2.7.4 diff --git a/sysdeps/tile/__longjmp.S b/sysdeps/tile/__longjmp.S index c9902b1..7247af8 100644 --- a/sysdeps/tile/__longjmp.S +++ b/sysdeps/tile/__longjmp.S @@ -28,7 +28,7 @@ ENTRY (__longjmp) FEEDBACK_ENTER(__longjmp) -#define RESTORE(r) { LD r, r0 ; ADDI_PTR r0, r0, REGSIZE } +#define RESTORE(r) { ld r, r0 ; ADDI_PTR r0, r0, REGSIZE } FOR_EACH_CALLEE_SAVED_REG(RESTORE) /* Make longjmp(buf, 0) return "1" instead. @@ -36,9 +36,9 @@ ENTRY (__longjmp) we can validly load EX_CONTEXT for iret without being interrupted halfway through. */ { - LD r2, r0 /* retrieve ICS bit from jmp_buf */ + ld r2, r0 /* retrieve ICS bit from jmp_buf */ movei r3, 1 - CMPEQI r0, r1, 0 + cmpeqi r0, r1, 0 } { mtspr INTERRUPT_CRITICAL_SECTION, r3 diff --git a/sysdeps/tile/__tls_get_addr.S b/sysdeps/tile/__tls_get_addr.S index 2402bd1..ea9470a 100644 --- a/sysdeps/tile/__tls_get_addr.S +++ b/sysdeps/tile/__tls_get_addr.S @@ -53,20 +53,20 @@ ENTRY (__tls_get_addr) } { LD_PTR r29, r29 /* r29 = ti_offset */ - CMPEQ r25, r28, r25 /* r25 nonzero if generation OK */ + cmpeq r25, r28, r25 /* r25 nonzero if generation OK */ shli r28, r26, LOG_SIZEOF_DTV_T /* byte index into dtv array */ } { - BEQZ r25, .Lslowpath - CMPEQI r25, r26, -1 /* r25 nonzero if ti_module invalid */ + beqz r25, .Lslowpath + cmpeqi r25, r26, -1 /* r25 nonzero if ti_module invalid */ } { - BNEZ r25, .Lslowpath + bnez r25, .Lslowpath ADD_PTR r28, r28, r27 /* pointer into module array */ } LD_PTR r26, r28 /* r26 = module TLS pointer */ - CMPEQI r25, r26, -1 /* check r26 == TLS_DTV_UNALLOCATED */ - BNEZ r25, .Lslowpath + cmpeqi r25, r26, -1 /* check r26 == TLS_DTV_UNALLOCATED */ + bnez r25, .Lslowpath { ADD_PTR r0, r26, r29 jrp lr @@ -74,68 +74,68 @@ ENTRY (__tls_get_addr) .Lslowpath: { - ST sp, lr + st sp, lr ADDLI_PTR r29, sp, - (25 * REGSIZE) } cfi_offset (lr, 0) { - ST r29, sp + st r29, sp ADDLI_PTR sp, sp, - (26 * REGSIZE) } cfi_def_cfa_offset (26 * REGSIZE) ADDI_PTR r29, sp, (2 * REGSIZE) - { ST r29, r1; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r2; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r3; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r4; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r5; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r6; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r7; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r8; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r9; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r10; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r11; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r12; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r13; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r14; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r15; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r16; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r17; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r18; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r19; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r20; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r21; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r22; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r23; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r24; ADDI_PTR r29, r29, REGSIZE } + { st r29, r1; ADDI_PTR r29, r29, REGSIZE } + { st r29, r2; ADDI_PTR r29, r29, REGSIZE } + { st r29, r3; ADDI_PTR r29, r29, REGSIZE } + { st r29, r4; ADDI_PTR r29, r29, REGSIZE } + { st r29, r5; ADDI_PTR r29, r29, REGSIZE } + { st r29, r6; ADDI_PTR r29, r29, REGSIZE } + { st r29, r7; ADDI_PTR r29, r29, REGSIZE } + { st r29, r8; ADDI_PTR r29, r29, REGSIZE } + { st r29, r9; ADDI_PTR r29, r29, REGSIZE } + { st r29, r10; ADDI_PTR r29, r29, REGSIZE } + { st r29, r11; ADDI_PTR r29, r29, REGSIZE } + { st r29, r12; ADDI_PTR r29, r29, REGSIZE } + { st r29, r13; ADDI_PTR r29, r29, REGSIZE } + { st r29, r14; ADDI_PTR r29, r29, REGSIZE } + { st r29, r15; ADDI_PTR r29, r29, REGSIZE } + { st r29, r16; ADDI_PTR r29, r29, REGSIZE } + { st r29, r17; ADDI_PTR r29, r29, REGSIZE } + { st r29, r18; ADDI_PTR r29, r29, REGSIZE } + { st r29, r19; ADDI_PTR r29, r29, REGSIZE } + { st r29, r20; ADDI_PTR r29, r29, REGSIZE } + { st r29, r21; ADDI_PTR r29, r29, REGSIZE } + { st r29, r22; ADDI_PTR r29, r29, REGSIZE } + { st r29, r23; ADDI_PTR r29, r29, REGSIZE } + { st r29, r24; ADDI_PTR r29, r29, REGSIZE } .hidden __tls_get_addr_slow jal __tls_get_addr_slow ADDI_PTR r29, sp, (2 * REGSIZE) - { LD r1, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r2, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r3, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r4, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r5, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r6, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r7, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r8, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r9, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r10, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r11, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r12, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r13, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r14, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r15, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r16, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r17, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r18, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r19, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r20, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r21, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r22, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r23, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r24, r29; ADDLI_PTR sp, sp, (26 * REGSIZE) } + { ld r1, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r2, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r3, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r4, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r5, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r6, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r7, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r8, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r9, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r10, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r11, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r12, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r13, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r14, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r15, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r16, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r17, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r18, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r19, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r20, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r21, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r22, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r23, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r24, r29; ADDLI_PTR sp, sp, (26 * REGSIZE) } cfi_def_cfa_offset (0) - LD lr, sp + ld lr, sp jrp lr END (__tls_get_addr) diff --git a/sysdeps/tile/_mcount.S b/sysdeps/tile/_mcount.S index c350084..d6ecb93 100644 --- a/sysdeps/tile/_mcount.S +++ b/sysdeps/tile/_mcount.S @@ -33,27 +33,27 @@ .text ENTRY(__mcount) { - ST sp, lr + st sp, lr ADDI_PTR r29, sp, - (12 * REGSIZE) } cfi_offset (lr, 0) { ADDI_PTR sp, sp, - (13 * REGSIZE) - ST r29, sp + st r29, sp ADDI_PTR r29, r29, REGSIZE } cfi_def_cfa_offset (13 * REGSIZE) - { ST r29, r0; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r1; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r2; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r3; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r4; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r5; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r6; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r7; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r8; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r9; ADDI_PTR r29, r29, REGSIZE } - { ST r29, r10; ADDI_PTR r29, r29, REGSIZE; move r0, r10 } + { st r29, r0; ADDI_PTR r29, r29, REGSIZE } + { st r29, r1; ADDI_PTR r29, r29, REGSIZE } + { st r29, r2; ADDI_PTR r29, r29, REGSIZE } + { st r29, r3; ADDI_PTR r29, r29, REGSIZE } + { st r29, r4; ADDI_PTR r29, r29, REGSIZE } + { st r29, r5; ADDI_PTR r29, r29, REGSIZE } + { st r29, r6; ADDI_PTR r29, r29, REGSIZE } + { st r29, r7; ADDI_PTR r29, r29, REGSIZE } + { st r29, r8; ADDI_PTR r29, r29, REGSIZE } + { st r29, r9; ADDI_PTR r29, r29, REGSIZE } + { st r29, r10; ADDI_PTR r29, r29, REGSIZE; move r0, r10 } { move r1, lr jal __mcount_internal @@ -61,20 +61,20 @@ ENTRY(__mcount) { ADDI_PTR r29, sp, (2 * REGSIZE) } - { LD r0, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r1, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r2, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r3, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r4, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r5, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r6, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r7, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r8, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r9, r29; ADDI_PTR r29, r29, REGSIZE } - { LD r10, r29; ADDI_PTR sp, sp, (13 * REGSIZE) } + { ld r0, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r1, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r2, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r3, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r4, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r5, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r6, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r7, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r8, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r9, r29; ADDI_PTR r29, r29, REGSIZE } + { ld r10, r29; ADDI_PTR sp, sp, (13 * REGSIZE) } cfi_def_cfa_offset (0) { - LD lr, sp + ld lr, sp } { move lr, r10 diff --git a/sysdeps/tile/crti.S b/sysdeps/tile/crti.S index 1d714ab..08b9779 100644 --- a/sysdeps/tile/crti.S +++ b/sysdeps/tile/crti.S @@ -63,10 +63,10 @@ _init: { move r29, sp ADDI_PTR r28, sp, -REGSIZE - ST sp, lr + st sp, lr } ADDI_PTR sp, sp, -(2 * REGSIZE) - ST r28, r29 + st r28, r29 #if PREINIT_FUNCTION_WEAK lnk r2 0: @@ -82,7 +82,7 @@ _init: ADD_PTR r0, r0, r1 ADD_PTR r0, r0, r2 LD_PTR r0, r0 - BEQZ r0, .Lno_weak_fn + beqz r0, .Lno_weak_fn jalr r0 #elif !defined(NO_PLT_PCREL) /* Since we are calling from the start of the object to the PLT, @@ -107,7 +107,7 @@ _fini: { move r29, sp ADDI_PTR r28, sp, -REGSIZE - ST sp, lr + st sp, lr } ADDI_PTR sp, sp, -(2 * REGSIZE) - ST r28, r29 + st r28, r29 diff --git a/sysdeps/tile/crtn.S b/sysdeps/tile/crtn.S index 53c6e40..d45bfad 100644 --- a/sysdeps/tile/crtn.S +++ b/sysdeps/tile/crtn.S @@ -42,7 +42,7 @@ ADDI_PTR r29, sp, (2 * REGSIZE) { ADDI_PTR sp, sp, (2 * REGSIZE) - LD lr, r29 + ld lr, r29 } jrp lr @@ -50,6 +50,6 @@ ADDI_PTR r29, sp, (2 * REGSIZE) { ADDI_PTR sp, sp, (2 * REGSIZE) - LD lr, r29 + ld lr, r29 } jrp lr diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S index 1782c9c..94deab3 100644 --- a/sysdeps/tile/dl-start.S +++ b/sysdeps/tile/dl-start.S @@ -43,7 +43,7 @@ ENTRY (_start) /* Save zero for caller sp in our 'caller' save area, and make sure lr has a zero value, to limit backtraces. */ move lr, zero - ST r4, zero + st r4, zero } { move r0, r52 @@ -56,8 +56,8 @@ ENTRY (_start) in which case we have to adjust the argument vector. */ lnk r51; .Llink: pic_addr r4, _dl_skip_args - LD4U r4, r4 - BEQZT r4, .Lno_skip + ld4u r4, r4 + beqzt r4, .Lno_skip /* Load the argc word at the initial sp and adjust it. We basically jump "sp" up over the first few argv entries diff --git a/sysdeps/tile/dl-trampoline.S b/sysdeps/tile/dl-trampoline.S index fd7d63d..0d19512 100644 --- a/sysdeps/tile/dl-trampoline.S +++ b/sysdeps/tile/dl-trampoline.S @@ -73,8 +73,8 @@ f(r20); f(r21); f(r22); f(r23); \ f(r24); f(r25) -#define SAVE(REG) { ST r27, REG; ADDI_PTR r27, r27, REGSIZE } -#define RESTORE(REG) { LD REG, r27; ADDI_PTR r27, r27, REGSIZE } +#define SAVE(REG) { st r27, REG; ADDI_PTR r27, r27, REGSIZE } +#define RESTORE(REG) { ld REG, r27; ADDI_PTR r27, r27, REGSIZE } .macro dl_resolve, name, profile, framesize .text @@ -86,7 +86,7 @@ \name: cfi_startproc { - ST sp, lr + st sp, lr move r26, sp } { @@ -95,24 +95,24 @@ } cfi_def_cfa_offset (\framesize) { - ST r27, r26 + st r27, r26 ADDI_PTR r27, r27, FRAME_REGS - FRAME_SP } FOR_EACH_REG(SAVE) { - ST r27, lr + st r27, lr ADDLI_PTR r27, sp, FRAME_TPNT } cfi_offset (lr, FRAME_LR - \framesize) .if \profile { move r0, r28 /* tpnt value */ - ST r27, r28 + st r27, r28 ADDI_PTR r27, r27, FRAME_INDEX - FRAME_TPNT } { move r1, r29 /* PLT index */ - ST r27, r29 + st r27, r29 } { move r2, lr /* retaddr */ @@ -124,7 +124,7 @@ } ADDLI_PTR r28, sp, FRAME_STACKFRAME LD_PTR r28, r28 - BGTZ r28, 1f + bgtz r28, 1f .else { move r0, r28 /* tpnt value 1 */ @@ -141,12 +141,12 @@ FOR_EACH_REG(RESTORE) .if \profile ADDLI_PTR r28, sp, FRAME_STACKFRAME - LD r28, r28 - BGTZ r28, 1f + ld r28, r28 + bgtz r28, 1f .endif { /* Restore original user return address. */ - LD lr, r27 + ld lr, r27 /* Pop off our stack frame. */ ADDLI_PTR sp, sp, \framesize } @@ -162,11 +162,11 @@ } FOR_EACH_REG(SAVE) { - LD r0, r28 + ld r0, r28 ADDI_PTR r28, r28, FRAME_INDEX - FRAME_TPNT } { - LD r1, r28 + ld r1, r28 ADDLI_PTR r2, sp, FRAME_REGS } { @@ -179,7 +179,7 @@ } FOR_EACH_REG(RESTORE) { - LD lr, lr + ld lr, lr ADDLI_PTR sp, sp, \framesize } jrp lr diff --git a/sysdeps/tile/setjmp.S b/sysdeps/tile/setjmp.S index 0321c10..534d57b 100644 --- a/sysdeps/tile/setjmp.S +++ b/sysdeps/tile/setjmp.S @@ -36,11 +36,11 @@ ENTRY(__sigsetjmp) 1: move r2, r0 -#define SAVE(r) { ST r2, r ; ADDI_PTR r2, r2, REGSIZE } +#define SAVE(r) { st r2, r ; ADDI_PTR r2, r2, REGSIZE } FOR_EACH_CALLEE_SAVED_REG(SAVE) mfspr r3, INTERRUPT_CRITICAL_SECTION - ST r2, r3 + st r2, r3 j plt(__sigjmp_save) jrp lr /* Keep the backtracer happy. */ END(__sigsetjmp) diff --git a/sysdeps/tile/start.S b/sysdeps/tile/start.S index da3ba9c..7cdabed 100644 --- a/sysdeps/tile/start.S +++ b/sysdeps/tile/start.S @@ -109,11 +109,11 @@ _start: /* Zero out callee space for return address. Unnecessary but free. This is just paranoia to help backtracing not go awry. */ - ST sp, zero + st sp, zero } { /* Zero out our frame pointer for __libc_start_main. */ - ST r12, zero + st r12, zero /* Zero out lr to make __libc_start_main the end of backtrace. */ move lr, zero diff --git a/sysdeps/unix/sysv/linux/tile/clone.S b/sysdeps/unix/sysv/linux/tile/clone.S index 9610acd..2f624e6 100644 --- a/sysdeps/unix/sysv/linux/tile/clone.S +++ b/sysdeps/unix/sysv/linux/tile/clone.S @@ -44,32 +44,32 @@ ENTRY (__clone) /* Create a stack frame so we can pass callee-saves to new task. */ { move r10, sp - ST sp, lr + st sp, lr ADDI_PTR sp, sp, -FRAME_SIZE } cfi_offset (lr, 0) cfi_def_cfa_offset (FRAME_SIZE) ADDI_PTR r11, sp, FRAME_SP { - ST r11, r10 + st r11, r10 ADDI_PTR r11, sp, FRAME_R30 } { - ST r11, r30 + st r11, r30 ADDI_PTR r11, sp, FRAME_R31 } cfi_offset (r30, FRAME_R30 - FRAME_SIZE) { - ST r11, r31 + st r11, r31 ADDI_PTR r11, sp, FRAME_R32 } cfi_offset (r31, FRAME_R31 - FRAME_SIZE) - ST r11, r32 + st r11, r32 cfi_offset (r32, FRAME_R32 - FRAME_SIZE) /* sanity check arguments */ - BEQZ r0, .Linvalid - BEQZ r1, .Linvalid + beqz r0, .Linvalid + beqz r1, .Linvalid /* Make sure child stack is properly aligned, and set up the top frame so that we can call out of it immediately in the @@ -79,7 +79,7 @@ ENTRY (__clone) ADDI_PTR r1, r1, -C_ABI_SAVE_AREA_SIZE andi r1, r1, -C_ABI_SAVE_AREA_SIZE ADDI_PTR r9, r1, REGSIZE /* sp of this frame on entry, i.e. zero */ - ST r9, zero + st r9, zero /* We need to switch the argument convention around from libc to kernel: @@ -118,30 +118,30 @@ ENTRY (__clone) moveli TREG_SYSCALL_NR_NAME, __NR_clone } swint1 - BEQZ r0, .Lthread_start /* If in child task. */ + beqz r0, .Lthread_start /* If in child task. */ .Ldone: /* Restore the callee-saved registers and return. */ ADDLI_PTR lr, sp, FRAME_SIZE { - LD lr, lr + ld lr, lr ADDLI_PTR r30, sp, FRAME_R30 } { - LD r30, r30 + ld r30, r30 ADDLI_PTR r31, sp, FRAME_R31 } { - LD r31, r31 + ld r31, r31 ADDLI_PTR r32, sp, FRAME_R32 } { - LD r32, r32 + ld r32, r32 ADDI_PTR sp, sp, FRAME_SIZE } cfi_def_cfa_offset (0) - BNEZ r1, .Lerror + bnez r1, .Lerror jrp lr .Lerror: diff --git a/sysdeps/unix/sysv/linux/tile/getcontext.S b/sysdeps/unix/sysv/linux/tile/getcontext.S index e7561ea..1a346cf 100644 --- a/sysdeps/unix/sysv/linux/tile/getcontext.S +++ b/sysdeps/unix/sysv/linux/tile/getcontext.S @@ -33,38 +33,38 @@ ENTRY (__getcontext) Save value "1" to uc_flags to later recognize getcontext(). */ { movei r11, 1; ADDI_PTR r10, r0, UC_FLAGS_OFFSET } { ST_PTR r10, r11; addli r10, r0, UC_REG(30) } - { ST r10, r30; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r31; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r32; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r33; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r34; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r35; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r36; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r37; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r38; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r39; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r40; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r41; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r42; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r43; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r44; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r45; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r46; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r47; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r48; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r49; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r50; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r51; ADDI_PTR r10, r10, REGSIZE } - { ST r10, r52; ADDI_PTR r10, r10, REGSIZE } - { ST r10, tp; ADDI_PTR r10, r10, REGSIZE } - { ST r10, sp; ADDI_PTR r10, r10, REGSIZE } - { ST r10, lr; ADDI_PTR r10, r10, REGSIZE } + { st r10, r30; ADDI_PTR r10, r10, REGSIZE } + { st r10, r31; ADDI_PTR r10, r10, REGSIZE } + { st r10, r32; ADDI_PTR r10, r10, REGSIZE } + { st r10, r33; ADDI_PTR r10, r10, REGSIZE } + { st r10, r34; ADDI_PTR r10, r10, REGSIZE } + { st r10, r35; ADDI_PTR r10, r10, REGSIZE } + { st r10, r36; ADDI_PTR r10, r10, REGSIZE } + { st r10, r37; ADDI_PTR r10, r10, REGSIZE } + { st r10, r38; ADDI_PTR r10, r10, REGSIZE } + { st r10, r39; ADDI_PTR r10, r10, REGSIZE } + { st r10, r40; ADDI_PTR r10, r10, REGSIZE } + { st r10, r41; ADDI_PTR r10, r10, REGSIZE } + { st r10, r42; ADDI_PTR r10, r10, REGSIZE } + { st r10, r43; ADDI_PTR r10, r10, REGSIZE } + { st r10, r44; ADDI_PTR r10, r10, REGSIZE } + { st r10, r45; ADDI_PTR r10, r10, REGSIZE } + { st r10, r46; ADDI_PTR r10, r10, REGSIZE } + { st r10, r47; ADDI_PTR r10, r10, REGSIZE } + { st r10, r48; ADDI_PTR r10, r10, REGSIZE } + { st r10, r49; ADDI_PTR r10, r10, REGSIZE } + { st r10, r50; ADDI_PTR r10, r10, REGSIZE } + { st r10, r51; ADDI_PTR r10, r10, REGSIZE } + { st r10, r52; ADDI_PTR r10, r10, REGSIZE } + { st r10, tp; ADDI_PTR r10, r10, REGSIZE } + { st r10, sp; ADDI_PTR r10, r10, REGSIZE } + { st r10, lr; ADDI_PTR r10, r10, REGSIZE } lnk r11 /* Point PC at the "jrp lr" instruction. */ addli r11, r11, .Lreturn - . - { ST r10, r11; ADDI_PTR r10, r10, REGSIZE } + { st r10, r11; ADDI_PTR r10, r10, REGSIZE } mfspr r11, INTERRUPT_CRITICAL_SECTION { - ST r10, r11 + st r10, r11 movei r1, 0 } @@ -78,7 +78,7 @@ ENTRY (__getcontext) moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask } swint1 - BNEZ r1, .Lsyscall_error + bnez r1, .Lsyscall_error .Lreturn: { diff --git a/sysdeps/unix/sysv/linux/tile/ioctl.S b/sysdeps/unix/sysv/linux/tile/ioctl.S index 43f9563..9816c18 100644 --- a/sysdeps/unix/sysv/linux/tile/ioctl.S +++ b/sysdeps/unix/sysv/linux/tile/ioctl.S @@ -35,7 +35,7 @@ ENTRY (__ioctl) moveli TREG_SYSCALL_NR_NAME, __NR_ioctl } swint1 - BNEZ r1, 0f + bnez r1, 0f jrp lr PSEUDO_END (__ioctl) libc_hidden_def (__ioctl) diff --git a/sysdeps/unix/sysv/linux/tile/setcontext.S b/sysdeps/unix/sysv/linux/tile/setcontext.S index 8039e7e..2b60c3c 100644 --- a/sysdeps/unix/sysv/linux/tile/setcontext.S +++ b/sysdeps/unix/sysv/linux/tile/setcontext.S @@ -39,15 +39,15 @@ ENTRY (__setcontext) #endif LD_PTR r10, r0 { - BEQZ r10, .Lsigreturn + beqz r10, .Lsigreturn addi r10, r10, -1 /* Confirm that it has value "1". */ } - BNEZ r10, .Lbadcontext + bnez r10, .Lbadcontext /* Save lr and r0 briefly on the stack and set the signal mask: rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG / 8). */ { - ST sp, lr + st sp, lr ADDI_PTR r11, sp, -(2 * REGSIZE) move r10, sp } @@ -55,11 +55,11 @@ ENTRY (__setcontext) cfi_def_cfa_offset (3 * REGSIZE) cfi_offset (lr, 0) { - ST r11, r10 + st r11, r10 ADDI_PTR r10, sp, (2 * REGSIZE) } { - ST r10, r0 + st r10, r0 ADDLI_PTR r1, r0, UC_SIGMASK_OFFSET } cfi_offset (r0, -REGSIZE) @@ -74,62 +74,62 @@ ENTRY (__setcontext) swint1 ADDI_PTR r11, sp, 2 * REGSIZE /* Restore uc_context to r11. */ { - LD r11, r11 + ld r11, r11 ADDI_PTR sp, sp, 3 * REGSIZE } cfi_def_cfa_offset (0) - LD lr, sp + ld lr, sp { ADDI_PTR r10, r11, UC_REG(0) - BNEZ r1, .Lsyscall_error + bnez r1, .Lsyscall_error } /* Restore the argument registers; note they will be random unless makecontext() has been called. */ - { LD r0, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r1, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r2, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r3, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r4, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r5, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r6, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r7, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r8, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r9, r10; ADDLI_PTR r10, r10, UC_REG(30) - UC_REG(9) } + { ld r0, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r1, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r2, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r3, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r4, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r5, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r6, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r7, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r8, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r9, r10; ADDLI_PTR r10, r10, UC_REG(30) - UC_REG(9) } /* Restore the callee-saved GPRs. */ - { LD r30, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r31, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r32, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r33, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r34, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r35, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r36, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r37, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r38, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r39, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r40, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r41, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r42, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r43, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r44, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r45, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r46, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r47, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r48, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r49, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r50, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r51, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r52, r10; ADDI_PTR r10, r10, REGSIZE * 2 } + { ld r30, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r31, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r32, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r33, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r34, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r35, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r36, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r37, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r38, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r39, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r40, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r41, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r42, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r43, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r44, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r45, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r46, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r47, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r48, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r49, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r50, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r51, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r52, r10; ADDI_PTR r10, r10, REGSIZE * 2 } /* Skip tp since it must not change for a given thread. */ - { LD sp, r10; ADDI_PTR r10, r10, REGSIZE } - { LD lr, r10; ADDI_PTR r10, r10, REGSIZE } - { LD r11, r10; ADDI_PTR r10, r10, REGSIZE } + { ld sp, r10; ADDI_PTR r10, r10, REGSIZE } + { ld lr, r10; ADDI_PTR r10, r10, REGSIZE } + { ld r11, r10; ADDI_PTR r10, r10, REGSIZE } /* Construct an iret context; we set ICS so we can validly load EX_CONTEXT for iret without being interrupted halfway through. */ { - LD r12, r10 + ld r12, r10 movei r13, 1 } { @@ -157,15 +157,15 @@ ENTRY (__setcontext) cfi_def_cfa_offset (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE) moveli r2, UC_SIZE / REGSIZE 0: { - LD r10, r0 + ld r10, r0 ADDI_PTR r0, r0, REGSIZE } { - ST r1, r10 + st r1, r10 ADDI_PTR r1, r1, REGSIZE addi r2, r2, -1 } - BNEZ r2, 0b + bnez r2, 0b moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigreturn swint1 @@ -193,7 +193,7 @@ ENTRY (__startcontext) cfi_undefined (lr) FEEDBACK_ENTER(__startcontext) jalr r31 - BEQZ r30, 1f + beqz r30, 1f { move r0, r30 jal __setcontext diff --git a/sysdeps/unix/sysv/linux/tile/swapcontext.S b/sysdeps/unix/sysv/linux/tile/swapcontext.S index 1778dfa..a955ca1 100644 --- a/sysdeps/unix/sysv/linux/tile/swapcontext.S +++ b/sysdeps/unix/sysv/linux/tile/swapcontext.S @@ -27,7 +27,7 @@ ENTRY (__swapcontext) FEEDBACK_ENTER(__swapcontext) /* Set up a frame and save r0 and r1. */ { - ST sp, lr + st sp, lr ADDI_PTR r11, sp, -(3 * REGSIZE) move r10, sp } @@ -35,43 +35,43 @@ ENTRY (__swapcontext) cfi_def_cfa_offset (4 * REGSIZE) cfi_offset (lr, 0) { - ST r11, r10 + st r11, r10 ADDI_PTR r10, sp, (2 * REGSIZE) } { - ST r10, r0 + st r10, r0 ADDI_PTR r10, sp, (3 * REGSIZE) } - ST r10, r1 + st r10, r1 /* Save the current context. */ jal __getcontext /* Tear down the frame and restore r0, r1, and lr. */ { - BNEZ r0, .Lerror + bnez r0, .Lerror ADDI_PTR r1, sp, 3 * REGSIZE } { - LD r1, r1 + ld r1, r1 ADDI_PTR r0, sp, 2 * REGSIZE } { - LD r0, r0 + ld r0, r0 ADDI_PTR sp, sp, 4 * REGSIZE } cfi_def_cfa_offset (0) { - LD lr, sp + ld lr, sp ADDLI_PTR r10, r0, UC_REG(54) } /* Update the stored sp and lr. */ { - ST r10, sp + st r10, sp ADDLI_PTR r10, r0, UC_REG(55) } - ST r10, lr + st r10, lr /* Tail-call setcontext to finish up. */ { @@ -82,7 +82,7 @@ ENTRY (__swapcontext) .Lerror: ADDI_PTR sp, sp, 4 * REGSIZE cfi_def_cfa_offset (0) - LD lr, sp + ld lr, sp jrp lr END (__swapcontext) diff --git a/sysdeps/unix/sysv/linux/tile/syscall.S b/sysdeps/unix/sysv/linux/tile/syscall.S index 627ab0e..3aa0a2b 100644 --- a/sysdeps/unix/sysv/linux/tile/syscall.S +++ b/sysdeps/unix/sysv/linux/tile/syscall.S @@ -27,6 +27,6 @@ ENTRY (syscall) { move r3, r4; move r4, r5 } { move r5, r6; move r6, r7 } swint1 - BNEZ r1, 0f + bnez r1, 0f jrp lr PSEUDO_END (syscall) diff --git a/sysdeps/unix/sysv/linux/tile/vfork.S b/sysdeps/unix/sysv/linux/tile/vfork.S index 725bd4b..1f4885f 100644 --- a/sysdeps/unix/sysv/linux/tile/vfork.S +++ b/sysdeps/unix/sysv/linux/tile/vfork.S @@ -40,7 +40,7 @@ ENTRY (__vfork) moveli TREG_SYSCALL_NR_NAME, __NR_clone swint1 - BNEZ r1, 0f + bnez r1, 0f jrp lr PSEUDO_END (__vfork) libc_hidden_def (__vfork)