Skip to contentSkip to conversation

toolchain-external: update Linaro toolchains

PATCH New Thomas Petazzoni 3 participants 5 messages Nov 10, 2014 – Nov 11, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 toolchain-external: update Linaro toolchains

Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to 14.09. We can't bump to 14.10, because they completely changed the toolchains and they are now completely broken: they switched from Crosstool-NG to a new build tool to generate the toolchain, and now the sysroot handling is completely borked.

---
 toolchain/toolchain-external/Config.in             | 14 +++++++-------
 toolchain/toolchain-external/toolchain-external.mk | 12 ++++++------
 2 files changed, 13 insertions(+), 13 deletions(-)
toolchain/toolchain-external/Config.in +7 -7
index 39b56e1..c9feac3 100644
@@ -7,7 +7,7 @@ comment "(e)glibc toolchains only available with shared lib support"
 	depends on BR2_PREFER_STATIC_LIB
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
-	bool "Linaro ARM 2014.08"
+	bool "Linaro ARM 2014.09"
 	depends on BR2_arm
 	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@@ -20,8 +20,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
-	  GCC 2014.08 (based on gcc 4.9), Linaro GDB 2013.10 (based on
-	  GDB 7.6), eglibc 2.19, Binutils 2014.08 (based on 2.24). It
+	  GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
+	  GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
 	  generates code that runs on all Cortex-A profile devices,
 	  but tuned for the Cortex-A9. The code generated is Thumb 2,
 	  with the hard floating point calling convention, and uses
@@ -33,7 +33,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on !BR2_PREFER_STATIC_LIB
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
-	bool "Linaro armeb 2014.08"
+	bool "Linaro armeb 2014.09"
 	depends on BR2_armeb
 	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@@ -46,8 +46,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
 	help
 	  Linaro toolchain for the ARM big endian architecture. It
-	  uses Linaro GCC 2014.08 (based on gcc 4.9), Linaro GDB
-	  2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.08
+	  uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
+	  2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
 	  (based on 2.24). It generates code that runs on all Cortex-A
 	  profile devices, but tuned for the Cortex-A9. The code
 	  generated is Thumb 2, with the hard floating point calling
@@ -813,7 +813,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
 	  http://wiki.xilinx.com/mb-gnu-tools
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
-	bool "Linaro AArch64 14.08"
+	bool "Linaro AArch64 14.09"
 	depends on BR2_aarch64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on !BR2_PREFER_STATIC_LIB
toolchain/toolchain-external/toolchain-external.mk +6 -6
index e16fce5..da3718c 100644
@@ -271,12 +271,12 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS
 	rm -rf $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/arago-2011.09/
 endef
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM),y)
-TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.08/components/toolchain/binaries/
-TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz
+TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries/
+TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
 TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB),y)
-TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.08/components/toolchain/binaries/
-TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.08_linux.tar.xz
+TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries/
+TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz
 TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMEBHF_SYMLINK
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201305),y)
 TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/mips-linux-gnu/
@@ -352,8 +352,8 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y)
 TOOLCHAIN_EXTERNAL_SITE = http://sources.buildroot.net/
 TOOLCHAIN_EXTERNAL_SOURCE = microblaze-unknown-linux-gnu.tgz
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64),y)
-TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.08/components/toolchain/binaries/
-TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-aarch64-linux-gnu-4.9-2014.08_linux.tar.xz
+TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries/
+TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
 TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64),y)
 TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/aarch64-linux-gnu/
Signature · 1 line
2.0.0
#1 lore raw

PATCH 1/1 toolchain-external: update Linaro toolchains

On Mon, Nov 10, 2014 at 10:06 AM, Thomas Petazzoni <[email protected]> wrote:

Hi Thomas,

Quoted 5 lines

Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to 14.09. We can't bump to 14.10, because they completely changed the toolchains and they are now completely broken: they switched from Crosstool-NG to a new build tool to generate the toolchain, and now the sysroot handling is completely borked.

Do you have more details on this? If the new tool is causing problems for people then we need to address those.

Thanks,

#2 lore raw

PATCH 1/1 toolchain-external: update Linaro toolchains

Dear Will Newton,

Quoted 8 lines · Will Newton
Quoted 5 lines

Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to 14.09. We can't bump to 14.10, because they completely changed the toolchains and they are now completely broken: they switched from Crosstool-NG to a new build tool to generate the toolchain, and now the sysroot handling is completely borked.

Do you have more details on this? If the new tool is causing problems for people then we need to address those.

Yes, I first complained on my G+ (I know, it's silly):
https://plus.google.com/101327154101389327284/posts/SjFkrX3ow5M. And I'm going to fill a bug to the Linaro bug tracker, I just created an account today.

Basically, the sysroot handling is not done correctly, so the toolchain is not relocatable: -print-sysroot and -print-file-name=libc.a return invalid values.

Just have a look at the INSTALL-sysroot.sh script inside the toolchain, it gives you an idea on how bad the toolchain is.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 toolchain-external: update Linaro toolchains

Quoted 10 lines · Thomas Petazzoni

Dear Will Newton,

Quoted 6 lines · Will Newton
Quoted 5 lines

Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to 14.09. We can't bump to 14.10, because they completely changed the toolchains and they are now completely broken: they switched from Crosstool-NG to a new build tool to generate the toolchain, and now the sysroot handling is completely borked.

Quoted 7 lines
Quoted 2 lines

Do you have more details on this? If the new tool is causing problems for people then we need to address those.

Yes, I first complained on my G+ (I know, it's silly):
https://plus.google.com/101327154101389327284/posts/SjFkrX3ow5M. And I'm going to fill a bug to the Linaro bug tracker, I just created an account today.

Thanks, a bug would be really useful for tracking purposes.

Quoted 6 lines

Basically, the sysroot handling is not done correctly, so the toolchain is not relocatable: -print-sysroot and -print-file-name=libc.a return invalid values.

Just have a look at the INSTALL-sysroot.sh script inside the toolchain, it gives you an idea on how bad the toolchain is.

I'll make sure it gets looked at...

#4 lore raw

PATCH 1/1 toolchain-external: update Linaro toolchains

In reply to Thomas Petazzoni
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to 14.09. We can't bump to 14.10, because they completely changed the toolchains and they are now completely broken: they switched from Crosstool-NG to a new build tool to generate the toolchain, and now the sysroot handling is completely borked.

Committed, thanks.

I see this also has libubsan, so we should probably look into handling -fsanitize / copy that library in the future.

Signature · 1 line
Bye, Peter Korsgaard