From patchwork Sun Oct 23 20:48:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 685607 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3t2BQQ1kDbz9t35 for ; Mon, 24 Oct 2016 07:50:54 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=hdQHNSrA; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C0DE990F4A; Sun, 23 Oct 2016 20:50:52 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DgNEdru7Kdsi; Sun, 23 Oct 2016 20:50:46 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 34E7D911C6; Sun, 23 Oct 2016 20:49:23 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id ACB9C1CE44E for ; Sun, 23 Oct 2016 20:49:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id A88532A233 for ; Sun, 23 Oct 2016 20:49:00 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2pNwipaXH+cF for ; Sun, 23 Oct 2016 20:48:59 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by silver.osuosl.org (Postfix) with ESMTPS id 53F3F1FCB5 for ; Sun, 23 Oct 2016 20:48:59 +0000 (UTC) Received: by mail-wm0-f68.google.com with SMTP id o81so6983546wma.2 for ; Sun, 23 Oct 2016 13:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=j4K9AwCUvKvCTDjegEou5ExffXuUCHw8RApuET3w1b4=; b=hdQHNSrAV0Fk9qd69ijEz1cCZstHJTDtKfIqcPIEW0p3BVPsMb67pnR6Y8FO4E6GEp j9NVwcX1P5h+lFp79xZYoOmFw4jrXTzZ1LdRacxGsR69hd2q+HhJCIQ2w0JX82UfIjo3 5n98W6DtoXxda2Onm9tr+osQfL+Ex2WMKKJAfngFjn/cjw7V1uqMggPgb8sAPWFlWKo2 Um+rOuGETr5HoYal8gKBv70ZbHlyBEsENgssUafnK1iGOD+HI2RioaZA65ef7Ag+FlP7 V7c2tx+MLDHaBKOSbJzq4cUKC9FSx2W5QUWrIg0cPWAY0GLRbYZT/zEs/S9MIcrubTtd YMtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=j4K9AwCUvKvCTDjegEou5ExffXuUCHw8RApuET3w1b4=; b=jMZVEn6loXA6vU+tkPM+5Tt/tDxlrYMmhieA196T+lLRGR2KyHnZ8qCy5vo6SwzdA5 FFsK2uaHOCVfd1+Gek9Dh7VmnLEpFNmM1fVk3TVhK32PVLQFRToZ4sCAtQbAoV9DXZOE SjhF0fepRcWJjj2zUng87ovmrFAvxbCHCYs4jO105T5Mh5hsyt0zzM4y88wV0fqexSjs tucbkQdTSJyAchUP4dlJrNKnPC03k6TTOerr54jvq91XC4bXtWGvDjrrqes2id/tRahc 72jq8XKDfA1ql/o4WKkcAnaNp+/6Hu1N5fQ6PgGPvwbQ8eLMWQZdwf1K2WjlA/z8dLlw H2PQ== X-Gm-Message-State: ABUngvfF7Rz462hjep71NKsnQKkhCS4tHwb7Lb+K3Lp3AjL3H2lBraxUrd15QQHfMIWGxA== X-Received: by 10.194.87.130 with SMTP id ay2mr8378811wjb.44.1477255737779; Sun, 23 Oct 2016 13:48:57 -0700 (PDT) Received: from atlas.localdomain.localdomain (gam75-1-81-57-22-125.fbx.proxad.net. [81.57.22.125]) by smtp.gmail.com with ESMTPSA id f17sm10987182wmf.10.2016.10.23.13.48.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Oct 2016 13:48:56 -0700 (PDT) From: Romain Naour To: buildroot@buildroot.org Date: Sun, 23 Oct 2016 22:48:22 +0200 Message-Id: <1477255711-28603-22-git-send-email-romain.naour@gmail.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1477255711-28603-1-git-send-email-romain.naour@gmail.com> References: <1477255711-28603-1-git-send-email-romain.naour@gmail.com> Cc: Romain Naour Subject: [Buildroot] [PATCH 21/30] toolchain-external-codescape-img-mips: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This commit adds a new package for the Codescape external toolchain for the MIPS architecture. As of this commit, the code is currently not used, but it will be used as soon as the external toolchain infrastructure gets introduced in a future commit. Signed-off-by: Romain Naour Cc: Vicente Olivert Riera --- .../Config.in | 62 ++++++++++++++++++++++ .../Config.in.options | 6 +++ .../toolchain-external-codescape-img-mips.hash | 3 ++ .../toolchain-external-codescape-img-mips.mk | 48 +++++++++++++++++ 4 files changed, 119 insertions(+) create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in new file mode 100644 index 0000000..1f0d4d1 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -0,0 +1,62 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + bool "Codescape IMG GNU Linux Toolchain 2016.05" + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS + architecture, from Imagination Technologies. It uses gcc + 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel + headers 4.0. It has support for the following variants: + - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options new file mode 100644 index 0000000..8c534a5 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options @@ -0,0 +1,6 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codescape-img-mips" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash new file mode 100644 index 0000000..e4ae9e1 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash @@ -0,0 +1,3 @@ +# Codescape toolchains from Imagination Technologies +# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html +sha256 e3c1f292ac6a9f12480af431c85a7ed9dfa011a52fd62a50be3363ec6b9bc872 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk new file mode 100644 index 0000000..e8d815b --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk @@ -0,0 +1,48 @@ +################################################################################ +# +# toolchain-external-codescape-img-mips +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2016.05-03 +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_PREFIX = mips-img-linux-gnu + +# Special fixup for Codescape MIPS toolchains, that have bin- and +# sbin- directories. We create symlinks bin -> bin- and sbin +# -> sbin- so that the rest of Buildroot can find the toolchain +# tools in the appropriate location. +ifeq ($(BR2_MIPS_OABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = o32 +else ifeq ($(BR2_MIPS_NABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n32 +else ifeq ($(BR2_MIPS_NABI64),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n64 +endif + +define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS + rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin + ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin + ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin +endef + +# The Codescape toolchain uses a sysroot layout that places them +# side-by-side instead of nested like multilibs. A symlink is needed +# much like for the nested sysroots which are handled in +# copy_toolchain_sysroot but there is not enough information in there +# to determine whether the sysroot layout was nested or side-by-side. +# Add the symlink here for now. +define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK + $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_CC) $(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_CFLAGS))"; \ + ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ + ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} +endef + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_POST_INSTALL_STAGING_HOOKS += \ + TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS \ + TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK + +$(eval $(toolchain-external-package))