Skip to contentSkip to conversation

toolchain-external-linaro-aarch64-be: new package

PATCH New oferh at marvell.com 2 participants 2 messages Jun 27, 2018

lore
Share & tools
lore
#0 lore raw

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

From: Ofer Heifetz <[email protected]>

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

---
 .../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
support/config-fragments/autobuild/linaro-aarch64-be.config new file +3 -0
new file mode 100644
index 0000000..7e69350
@@ -0,0 +1,3 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y
support/config-fragments/autobuild/toolchain-configs.csv +1 -0
index 64abfb3..136a67f 100644
@@ -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
toolchain/toolchain-external/Config.in +2 -0
index 6759e5c..97e91b1 100644
@@ -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"
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in new file +15 -0
new file mode 100644
index 0000000..44faeb3
@@ -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/
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options new file +9 -0
new file mode 100644
index 0000000..d44750f
@@ -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
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash new file +3 -0
new file mode 100644
index 0000000..f93642e
@@ -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
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk new file +16 -0
new file mode 100644
index 0000000..7a01151
@@ -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))
utils/genrandconfig +1 -0
index 06701ce..27f84ea 100755
@@ -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]
Signature · 1 line
2.7.4
#1 lore raw

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

Hello,

Thanks for this contribution.

Quoted 8 lines · oferh at marvell.com

From: Ofer Heifetz <[email protected]>

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

Quoted 9 lines
---
 .../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 +

Generally looks good, but I'd like to see two patches, one adding the toolchain (changes in toolchain/toolchain-external/) and a separate patch for adding this toolchain to the autobuilder testing.

toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in line 2

Quoted 8 lines
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in new file +2 -0
new file mode 100644
index 0000000..44faeb3
@@ -0,0 +1,15 @@
+config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
+	bool "Linaro AArch64_be 2018.05"

Perhaps "Linaro AArch64 BE 2018.05" or something like that ?

toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in line 14

Quoted 12 lines
toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in new file +12 -0
+	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

AArch64 Big Endian architecture

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com