[Buildroot] [PATCH 1/1] toolchain-external-linaro-aarch64-be: new package

oferh at marvell.com oferh at marvell.com
Wed Jun 27 13:54:54 UTC 2018


From: Ofer Heifetz <oferh at marvell.com>

This commit adds a new package for the Linaro external toolchain for
the AArch64 Big Endian architecture.

https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05

Signed-off-by: Ofer Heifetz <oferh at marvell.com>
---
 .../config-fragments/autobuild/linaro-aarch64-be.config  |  3 +++
 support/config-fragments/autobuild/toolchain-configs.csv |  1 +
 toolchain/toolchain-external/Config.in                   |  2 ++
 .../toolchain-external-linaro-aarch64-be/Config.in       | 15 +++++++++++++++
 .../Config.in.options                                    |  9 +++++++++
 .../toolchain-external-linaro-aarch64-be.hash            |  3 +++
 .../toolchain-external-linaro-aarch64-be.mk              | 16 ++++++++++++++++
 utils/genrandconfig                                      |  1 +
 8 files changed, 50 insertions(+)
 create mode 100644 support/config-fragments/autobuild/linaro-aarch64-be.config
 create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
 create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options
 create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash
 create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk

diff --git a/support/config-fragments/autobuild/linaro-aarch64-be.config b/support/config-fragments/autobuild/linaro-aarch64-be.config
new file mode 100644
index 0000000..7e69350
--- /dev/null
+++ b/support/config-fragments/autobuild/linaro-aarch64-be.config
@@ -0,0 +1,3 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index 64abfb3..136a67f 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -58,6 +58,7 @@ support/config-fragments/autobuild/br-xtensa-full.config,x86_64
 support/config-fragments/autobuild/br-xtensa-full-internal.config,any
 support/config-fragments/autobuild/i686-ctng-linux-gnu.config,x86
 support/config-fragments/autobuild/linaro-aarch64.config,x86
+support/config-fragments/autobuild/linaro-aarch64-be.config,x86
 support/config-fragments/autobuild/linaro-arm.config,x86
 support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config,x86
 support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config,x86
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 6759e5c..97e91b1 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -14,6 +14,7 @@ comment "glibc toolchains only available with shared lib support"
 # Aarch64 (use Linaro toolchain by default)
 source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
 source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
+source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in"
 
 # ARC
 source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in"
@@ -109,6 +110,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 # Aarch64
 source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
 source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
+source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options"
 
 # ARC
 source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options"
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
new file mode 100644
index 0000000..44faeb3
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
@@ -0,0 +1,15 @@
+config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
+	bool "Linaro AArch64_be 2018.05"
+	depends on BR2_aarch64_be
+	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+	depends on !BR2_STATIC_LIBS
+	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_SSP
+	select BR2_INSTALL_LIBSTDCPP
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
+	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
+	select BR2_TOOLCHAIN_HAS_FORTRAN
+	help
+	  Toolchain for the AArch64 architecture, from
+	  http://www.linaro.org/engineering/armv8/
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options
new file mode 100644
index 0000000..d44750f
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options
@@ -0,0 +1,9 @@
+if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
+
+config BR2_TOOLCHAIN_EXTERNAL_PREFIX
+	default "aarch64_be-linux-gnu"
+
+config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
+	default "toolchain-external-linaro-aarch64-be"
+
+endif
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash
new file mode 100644
index 0000000..f93642e
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 412da19c1d1bff0f3172bc19fd2c024207d8d716dbe7a8dad4bf9e3d6b71d149  gcc-linaro-7.3.1-2018.05-i686_aarch64_be-linux-gnu.tar.xz
+sha256 277c1483f8dbd6007c945ffeb706fa1ba1da8ec1c397cf5cf1e29c25081426e5  gcc-linaro-7.3.1-2018.05-x86_64_aarch64_be-linux-gnu.tar.xz
diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk
new file mode 100644
index 0000000..7a01151
--- /dev/null
+++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# toolchain-external-linaro-aarch64-be
+#
+################################################################################
+
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION = 2018.05
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)/aarch64_be-linux-gnu
+
+ifeq ($(HOSTARCH),x86)
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)-i686_aarch64_be-linux-gnu.tar.xz
+else
+TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)-x86_64_aarch64_be-linux-gnu.tar.xz
+endif
+
+$(eval $(toolchain-external-package))
diff --git a/utils/genrandconfig b/utils/genrandconfig
index 06701ce..27f84ea 100755
--- a/utils/genrandconfig
+++ b/utils/genrandconfig
@@ -187,6 +187,7 @@ def is_toolchain_usable(configfile, config):
     if platform.machine() == 'x86_64':
         if 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y\n' in configlines or \
            'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y\n' in configlines or \
+           'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y\n' in configlines or \
            'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB=y\n' in configlines:
             ldd_version_output = subprocess.check_output(['ldd', '--version'])
             glibc_version = ldd_version_output.splitlines()[0].split()[-1]
-- 
2.7.4



More information about the buildroot mailing list