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 Netto 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