Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

Cross Compiler Toolchains [Linaro GCC 4.9 2014.12, 4.8 2014.11, 4.7 2014.06]

OP Christopher83

Announcement from Christopher83: Cross compiler toolchains for Cortex-A15, Cortex-A9, Cortex-A8 and generic Cortex-A cpu
14th January 2013, 12:14 AM   |  #1  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More

Hi guys!
I did some builds of cross compiler toolchains suitable for kernel builds or binary tools/libs.
If some of you want to test/use them and let me have feedback about, can find them at the following link:


This folder contains the following subfolders:

Builds with Linaro GCC 4.9.x
2014 builds
- Linaro GCC 4.9.3-2014.12 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.12 (4.9.3) and Linaro GDB 7.8-2014.09
- Linaro GCC 4.9.3-2014.11 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.11 (4.9.3) and Linaro GDB 7.8-2014.09
- Linaro GCC 4.9.2-2014.10 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.10 (4.9.2) and Linaro GDB 7.8-2014.09
- Linaro GCC 4.9.2-2014.09 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.09 (4.9.2) and Linaro GDB 7.8-2014.09
- Linaro GCC 4.9.2-2014.08 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.08 (4.9.2) and Linaro GDB 7.8-2014.08
- Linaro GCC 4.9.1-2014.07 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.07 (4.9.1) and Linaro GDB 7.7.1-2014.06
- Linaro GCC 4.9.1-2014.06 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.06 (4.9.1) and Linaro GDB 7.7.1-2014.06
- Linaro GCC 4.9.1-2014.05 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.05 (4.9.1) and Linaro GDB 7.7-2014.05
- Linaro GCC 4.9.1-2014.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.9-2014.04 (4.9.1) and Linaro GDB 7.6.1-2013.10

Builds with Linaro GCC 4.8.x
2014 builds
- Linaro GCC 4.8.4-2014.11 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.11 (4.8.4) and Linaro GDB 7.8-2014.09
- Linaro GCC 4.8.4-2014.08 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.08 (4.8.4) and Linaro GDB 7.8-2014.08
- Linaro GCC 4.8.3-2014.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.04 (4.8.3) and Linaro GDB 7.6.1-2013.10
- Linaro GCC 4.8.3-2014.03 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.03 (4.8.3) and Linaro GDB 7.6.1-2013.10
- Linaro GCC 4.8.3-2014.02 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.02 (4.8.3) and Linaro GDB 7.6.1-2013.10
- Linaro GCC 4.8.3-2014.01 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2014.01 (4.8.3) and Linaro GDB 7.6.1-2013.10

2013 builds

- Linaro GCC 4.8.3-2013.12 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.12 (4.8.3) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.8.3-2013.11 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.11 (4.8.3) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.8.2-2013.10 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.10 (4.8.2) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.8.2-2013.09 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.09 (4.8.2) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.8.2-2013.08 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.08 (4.8.2) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.8.2-2013.07 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.07 (4.8.2) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.8.2-2013.06 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.06 (4.8.2) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.8.1-2013.05 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.05 (4.8.1) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.8.1-2013.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.8-2013.04 (4.8.1) and Linaro GDB 7.5-2012.12


Builds with Linaro GCC 4.7.x
2014 builds
- Linaro GCC 4.7.4-2014.06 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2014.06 (4.7.4) and Linaro GDB 7.8-2014.08
- Linaro GCC 4.7.4-2014.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2014.04 (4.7.4) and Linaro GDB 7.6.1-2013.10
- Linaro GCC 4.7.4-2014.01 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2014.01 (4.7.4) and Linaro GDB 7.6.1-2013.10

2013 builds

- Linaro GCC 4.7.4-2013.12 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.12 (4.7.4) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.7.4-2013.11 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.11 (4.7.4) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.7.4-2013.10 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.10 (4.7.4) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.7.4-2013.09 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.09 (4.7.4) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.7.4-2013.08 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.08 (4.7.4) and Linaro GDB 7.6-2013.05
- Linaro GCC 4.7.4-2013.07 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.07 (4.7.4) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.4-2013.06 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.06 (4.7.4) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.4-2013.05 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.05 (4.7.4) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.3-2013.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.04 (4.7.3) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.3-2013.03 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.03 (4.7.3) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.3-2013.02 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.02 (4.7.3) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.7.3-2013.01 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2013.01 (4.7.3) and Linaro GDB 7.5-2012.12

2012 builds

- Linaro GCC 4.7.3-2012.12 Toolchains subfolder, each toolchain includes Linaro GCC 4.7-2012.12 (4.7.3) and Linaro GDB 7.5-2012.12

Builds with Linaro GCC 4.6.x
2013 builds

- Linaro GCC 4.6.4-2013.05 Toolchains subfolder, each toolchain includes Linaro GCC 4.6-2013.05 (4.6.4) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.6.4-2013.04 Toolchains subfolder, each toolchain includes Linaro GCC 4.6-2013.04 (4.6.4) and Linaro GDB 7.5-2012.12
- Linaro GCC 4.6.4-2013.01 Toolchains subfolder, each toolchain includes Linaro GCC 4.6-2013.01 (4.6.4) and Linaro GDB 7.5-2012.12

2012 builds

- Linaro GCC 4.6.4-2012.12 Toolchains subfolder, each toolchain includes Linaro GCC 4.6-2012.12 (4.6.4) and Linaro GDB 7.5-2012.12

Other old builds

Builds with Standard GCC 4.7.x
- Standard GCC 4.7.2 Toolchains subfolder, each toolchain includes GCC 4.7.2 and GDB 7.4.1


You can find the latest toolchains on my GitHub too:


The toolchains with arm-cortex_a15-linux-gnueabi prefix are optimized for Cortex-A15 cpu with Neon-VFPv4 technology support.
The toolchains with arm-cortex_a9-linux-gnueabi prefix are optimized for Cortex-A9 cpu with Neon-VFPv3 technology support.
The toolchains with arm-cortex_a8-linux-gnueabi prefix are optimized for Cortex-A8 cpu with Neon-VFPv3 technology support (these are ideally suited for our Samsung S Plus).
The toolchains with [B]arm-linux-gnueabi[/B or arm-unknown-linux-gnueabi prefix are built for generic Cortex-A cpu and configured with similar settings to those of the latest Linaro toolchains, the tools and libraries inside them are built with Thumb-2 (for architecture) and VFPv3-D16 (for fpu) instruction sets support.
VFPv3-D16 has been chosen to also support nVidia Tegra2, Marvell Dove cpu and other cpu with half-precision FP format, consider it as a common denominator.
These generic toolchain builds shouldn't work on a cpu which has ARMv4T or ARMv5 architecture.

I hope you find them useful...
Let me know.
Thanks!

Credits:
CrossTool-NG Developers
Linaro Toolchain Developers
The developers of each tool included in the toolchain


XDA:DevDB Information
[LINARO GCC] Cross Compiler Toolchains, Tool/Utility for the Samsung Galaxy S I9000

Contributors
Christopher83
Source Code: https://github.com/Christopher83/linaro_toolchains_2014


Version Information
Status: Stable
Current Stable Version: 2014.12
Stable Release Date: 2014-12-21

Created 2013-09-13
Last Updated 2014-12-21
Attached Thumbnails
Click image for larger version

Name:	Cross_Compiler_Toolchains.png
Views:	51177
Size:	27.1 KB
ID:	2572993  
Last edited by Christopher83; 11th February 2014 at 04:16 PM.
The Following 248 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
14th January 2013, 12:15 AM   |  #2  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More
Config options used for the toolchains optimized for Cortex-A15 cpu with Neon-VFPv4 technology support
Code:
CT_ARCH_ARCH=""
CT_ARCH_CPU="cortex-a15"
CT_ARCH_TUNE="cortex-a15"
CT_ARCH_FPU="neon-vfpv4"
CT_ARCH_FLOAT_HW=y
CT_ARCH_FLOAT="hard"
CT_ARCH_SUPPORT_SOFTFP=y
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
Config options used for the toolchains optimized for Cortex-A9 cpu with Neon-VFPv3 technology support
Code:
CT_ARCH_ARCH="armv7-a"
CT_ARCH_CPU="cortex-a9"
CT_ARCH_TUNE="cortex-a9"
CT_ARCH_FPU="neon"
CT_ARCH_FLOAT_HW=y
CT_ARCH_FLOAT="hard"
CT_ARCH_SUPPORT_SOFTFP=y
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
Config options used for the toolchains optimized for Cortex-A8 cpu with Neon-VFP3 technology support
Code:
CT_ARCH_ARCH="armv7-a"
CT_ARCH_CPU="cortex-a8"
CT_ARCH_TUNE="cortex-a8"
CT_ARCH_FPU="neon"
CT_ARCH_FLOAT_SOFTFP=y
CT_ARCH_FLOAT="softfp"
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
Config options used for the generic toolchains for Cortex-A cpu (similar to latest Linaro toolchain builds)
Code:
CT_ARCH_ARCH="armv7-a"
CT_ARCH_CPU=""
CT_ARCH_TUNE="cortex-a9"
CT_ARCH_FPU="vfpv3-d16"
CT_ARCH_FLOAT_SOFTFP=y
CT_ARCH_FLOAT="softfp"
CT_ARCH_ARM_MODE="thumb"
CT_ARCH_ARM_MODE_THUMB=y
Changelog
Code:
21/12/2014
- Released a new Linaro GCC 4.9.3-2014.12 toolchain optimized for Cortex-A15 cpu with
  Neon-VFPv4 technology support:
    arm-cortex_a15-linux-gnueabihf-linaro_4.9.3-2014.12-build_2014_12_21
- Released a new Linaro GCC 4.9.3-2014.12 toolchain optimized for Cortex-A9 cpu with
  Neon-VFPv3 technology support:
    arm-cortex_a9-linux-gnueabihf-linaro_4.9.3-2014.12-build_2014_12_21
- Released a new Linaro GCC 4.9.3-2014.12 toolchain optimized for Cortex-A8 cpu with
  Neon-VFPv3 technology support:
    arm-cortex_a8-linux-gnueabi-linaro_4.9.3-2014.12-build_2014_12_21
- Released a new Linaro GCC 4.9.3-2014.12 toolchain for generic Cortex-A cpu:
    arm-linux-gnueabi-linaro_4.9.3-2014.12-build_2014_12_21

Configuration:
- Target -> Linux Kernel 3.4.105
- Linaro GCC 4.9-2014.12 (4.9.3)
- Linaro Binutils 2.24-2014.11
- Linaro EGLibc 2.19-2014.08
- Linaro GDB 7.8-2014.09
- GMP 5.1.3
- MPFR 3.1.2
- ISL 0.12.2
- CLOOG 0.18.1
- MPC 1.0.2
- Hard float with soft float support for Cortex-A15 and Cortex-A9 cpu toolchains
- Softfp for Cortex-A8 and generic Cortex-A cpu toolchains
- Multilib support for Cortex-A8 and generic Cortex-A cpu toolchains
- Possibility to use the alias arm-eabi- as prefix of each tool

***********
25/11/2014 - Released a new Linaro GCC 4.8.4-2014.11 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.4-2014.11-build_2014_11_25 - Released a new Linaro GCC 4.8.4-2014.11 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.4-2014.11-build_2014_11_25 - Released a new Linaro GCC 4.8.4-2014.11 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.4-2014.11-build_2014_11_25 - Released a new Linaro GCC 4.8.4-2014.11 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.8.4-2014.11-build_2014_11_25 Configuration: - Target -> Linux Kernel 3.4.104 - Linaro GCC 4.8-2014.11 (4.8.4) - Linaro Binutils 2.24-2014.09 - Linaro EGLibc 2.19-2014.08 - Linaro GDB 7.8-2014.09 - GMP 5.1.3 - MPFR 3.1.2 - ISL 0.12.2 - CLOOG 0.18.1 - MPC 1.0.2 - Hard float with soft float support for Cortex-A15 and Cortex-A9 cpu toolchains - Softfp for Cortex-A8 and generic Cortex-A cpu toolchains - Multilib support for Cortex-A8 and generic Cortex-A cpu toolchains - Possibility to use the alias arm-eabi- as prefix of each tool
***********
25/11/2014 - Released a new Linaro GCC 4.9.3-2014.11 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.3-2014.11-build_2014_11_25 - Released a new Linaro GCC 4.9.3-2014.11 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.3-2014.11-build_2014_11_25 - Released a new Linaro GCC 4.9.3-2014.11 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.3-2014.11-build_2014_11_24 - Released a new Linaro GCC 4.9.3-2014.11 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.3-2014.11-build_2014_11_24 Configuration: - Target -> Linux Kernel 3.4.104 - Linaro GCC 4.9-2014.11 (4.9.3) - Linaro Binutils 2.24-2014.09 - Linaro EGLibc 2.19-2014.08 - Linaro GDB 7.8-2014.09 - GMP 5.1.3 - MPFR 3.1.2 - ISL 0.12.2 - CLOOG 0.18.1 - MPC 1.0.2 - Hard float with soft float support for Cortex-A15 and Cortex-A9 cpu toolchains - Softfp for Cortex-A8 and generic Cortex-A cpu toolchains - Multilib support for Cortex-A8 and generic Cortex-A cpu toolchains - Possibility to use the alias arm-eabi- as prefix of each tool
***********
26/10/2014 - Released a new Linaro GCC 4.9.2-2014.10 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.2-2014.10-build_2014_10_26 - Released a new Linaro GCC 4.9.2-2014.10 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.2-2014.10-build_2014_10_26 - Released a new Linaro GCC 4.9.2-2014.10 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.2-2014.10-build_2014_10_26 - Released a new Linaro GCC 4.9.2-2014.10 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.2-2014.10-build_2014_10_26
***********
14/09/2014 - Released a new Linaro GCC 4.9.2-2014.09 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.2-2014.09-build_2014_09_14 - Released a new Linaro GCC 4.9.2-2014.09 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.2-2014.09-build_2014_09_14 - Released a new Linaro GCC 4.9.2-2014.09 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.2-2014.09-build_2014_09_14 - Released a new Linaro GCC 4.9.2-2014.09 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.2-2014.09-build_2014_09_14 Configuration: - Target -> Linux Kernel 3.4.103 - Linaro GCC 4.9-2014.09 (4.9.2) - Linaro Binutils 2.24-2014.09 - Linaro EGLibc 2.19-2014.08 - Linaro GDB 7.8-2014.09 - GMP 5.1.3 - MPFR 3.1.2 - ISL 0.12.2 - CLOOG 0.18.1 - MPC 1.0.2 - Hard float with soft float support for Cortex-A15 and Cortex-A9 cpu toolchains - Softfp for Cortex-A8 and generic Cortex-A cpu toolchains - Multilib support for Cortex-A8 and generic Cortex-A cpu toolchains - Possibility to use the alias arm-eabi- as prefix of each tool
***********
13/09/2014 - Released a new Linaro GCC 4.7.4-2014.06 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.7.4-2014.06-build_2014_09_13 - Released a new Linaro GCC 4.7.4-2014.06 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.7.4-2014.06-build_2014_09_13 - Released a new Linaro GCC 4.7.4-2014.06 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2014.06-build_2014_09_01 - Released a new Linaro GCC 4.7.4-2014.06 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.7.4-2014.06-build_2014_09_01
***********
31/08/2014 - Released a new Linaro GCC 4.8.4-2014.08 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.4-2014.08-build_2014_08_31 - Released a new Linaro GCC 4.8.4-2014.08 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.4-2014.08-build_2014_08_31 - Released a new Linaro GCC 4.8.4-2014.08 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.4-2014.08-build_2014_08_31 - Released a new Linaro GCC 4.8.4-2014.08 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.8.4-2014.08-build_2014_08_31
***********
30/08/2014 - Released a new Linaro GCC 4.9.2-2014.08 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.2-2014.08-build_2014_08_30 - Released a new Linaro GCC 4.9.2-2014.08 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.2-2014.08-build_2014_08_30 - Released a new Linaro GCC 4.9.2-2014.08 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.2-2014.08-build_2014_08_30 - Released a new Linaro GCC 4.9.2-2014.08 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.2-2014.08-build_2014_08_30
***********
19/07/2014 - Released a new Linaro GCC 4.9.1-2014.07 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.1-2014.07-build_2014_07_19 - Released a new Linaro GCC 4.9.1-2014.07 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.1-2014.07-build_2014_07_19 - Released a new Linaro GCC 4.9.1-2014.07 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.1-2014.07-build_2014_07_19 - Released a new Linaro GCC 4.9.1-2014.07 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.1-2014.07-build_2014_07_19
***********
14/06/2014 - Released a new Linaro GCC 4.9.1-2014.06 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.1-2014.06-build_2014_06_14 - Released a new Linaro GCC 4.9.1-2014.06 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.1-2014.06-build_2014_06_14 - Released a new Linaro GCC 4.9.1-2014.06 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.1-2014.06-build_2014_06_14 - Released a new Linaro GCC 4.9.1-2014.06 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.1-2014.06-build_2014_06_14
***********
17/05/2014 - Released a new Linaro GCC 4.9.1-2014.05 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.1-2014.05-build_2014_05_17 - Released a new Linaro GCC 4.9.1-2014.05 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.1-2014.05-build_2014_05_17 - Released a new Linaro GCC 4.9.1-2014.05 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.1-2014.05-build_2014_05_17 - Released a new Linaro GCC 4.9.1-2014.05 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.1-2014.05-build_2014_05_17
***********
25/04/2014 - Released a new Linaro GCC 4.9.1-2014.04 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.9.1-2014.04-build_2014_04_25 - Released a new Linaro GCC 4.9.1-2014.04 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.9.1-2014.04-build_2014_04_25 - Released a new Linaro GCC 4.9.1-2014.04 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.9.1-2014.04-build_2014_04_25 - Released a new Linaro GCC 4.9.1-2014.04 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.9.1-2014.04-build_2014_04_25
***********
17/04/2014 - Released a new Linaro GCC 4.7.4-2014.04 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.7.4-2014.04-build_2014_04_17 - Released a new Linaro GCC 4.7.4-2014.04 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.7.4-2014.04-build_2014_04_17 - Released a new Linaro GCC 4.7.4-2014.04 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2014.04-build_2014_04_17 - Released a new Linaro GCC 4.7.4-2014.04 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.7.4-2014.04-build_2014_04_17
***********
16/04/2014 - Released a new Linaro GCC 4.8.3-2014.04 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.3-2014.04-build_2014_04_16 - Released a new Linaro GCC 4.8.3-2014.04 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.3-2014.04-build_2014_04_16
***********
14/04/2014 - Released a new Linaro GCC 4.8.3-2014.04 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2014.04-build_2014_04_13 - Released a new Linaro GCC 4.8.3-2014.04 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.8.3-2014.04-build_2014_04_13
***********
15/03/2014 - Released a new Linaro GCC 4.8.3-2014.03 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.3-2014.03-build_2014_03_15 - Released a new Linaro GCC 4.8.3-2014.03 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.3-2014.03-build_2014_03_15 - Released a new Linaro GCC 4.8.3-2014.03 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2014.03-build_2014_03_15 - Released a new Linaro GCC 4.8.3-2014.03 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.8.3-2014.03-build_2014_03_15
***********
15/02/2014 - Released a new Linaro GCC 4.8.3-2014.02 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.3-2014.02-build_2014_02_15 - Released a new Linaro GCC 4.8.3-2014.02 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.3-2014.02-build_2014_02_15 - Released a new Linaro GCC 4.8.3-2014.02 toolchain optimized for Cortex-A8 cpu with Neon-VFPv3 technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2014.02-build_2014_02_15 - Released a new Linaro GCC 4.8.3-2014.02 toolchain for generic Cortex-A cpu: arm-linux-gnueabi-linaro_4.8.3-2014.02-build_2014_02_15
***********
06/02/2014 - Released a new Linaro GCC 4.8.3-2014.01 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.8.3-2014.01-build_2014_02_06 - Released a new Linaro GCC 4.7.4-2014.01 toolchain optimized for Cortex-A15 cpu with Neon-VFPv4 technology support: arm-cortex_a15-linux-gnueabihf-linaro_4.7.4-2014.01-build_2014_02_06 - Released a new Linaro GCC 4.8.3-2014.01 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.8.3-2014.01-build_2014_02_06 - Released a new Linaro GCC 4.7.4-2014.01 toolchain optimized for Cortex-A9 cpu with Neon-VFPv3 technology support: arm-cortex_a9-linux-gnueabihf-linaro_4.7.4-2014.01-build_2014_02_06
***********
25/01/2014 - Released a new Linaro GCC 4.8.3-2014.01 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2014.01-build_2013_01_25 - Released a new Linaro GCC 4.8.3-2014.01 toolchain: arm-linux-gnueabi-linaro_4.8.3-2014.01-build_2014_01_25 - Released a new Linaro GCC 4.7.4-2014.01 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2014.01-build_2014_01_25 - Released a new Linaro GCC 4.7.4-2014.01 toolchain: arm-linux-gnueabi-linaro_4.7.4-2014.01-build_2014_01_25
***********
08/01/2014 - Released a new Linaro GCC 4.7.4-2013.12 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2013.12-build_2014_01_08 - Released a new Linaro GCC 4.7.4-2013.12 toolchain: arm-unknown-linux-gnueabi-linaro_4.7.4-2013.12-build_2014_01_08 - Released a new Linaro GCC 4.8.3-2013.12 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2013.12-build_2013_01_07 - Released a new Linaro GCC 4.8.3-2013.12 toolchain: arm-unknown-linux-gnueabi-linaro_4.8.3-2013.12-build_2014_01_07
***********
19/11/2013 - Released a new Linaro GCC 4.7.4-2013.11 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2013.11-build_2013_11_19 - Released a new Linaro GCC 4.7.4-2013.11 toolchain: arm-unknown-linux-gnueabi-linaro_4.7.4-2013.11-build_2013_11_19 - Released a new Linaro GCC 4.8.3-2013.11 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.3-2013.11-build_2013_11_19 - Released a new Linaro GCC 4.8.3-2013.11 toolchain: arm-unknown-linux-gnueabi-linaro_4.8.3-2013.11-build_2013_11_19
***********
18/10/2013 - Released a new Linaro GCC 4.7.4-2013.10 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.7.4-2013.10-build_2013_10_17 - Released a new Linaro GCC 4.7.4-2013.10 toolchain: arm-unknown-linux-gnueabi-linaro_4.7.4-2013.10-build_2013_10_17 - Released a new Linaro GCC 4.8.2-2013.10 toolchain optimized for Cortex-A8 cpu with Neon technology support: arm-cortex_a8-linux-gnueabi-linaro_4.8.2-2013.10-build_2013_10_17 - Released a new Linaro GCC 4.8.2-2013.10 toolchain: arm-unknown-linux-gnueabi-linaro_4.8.2-2013.10-build_2013_10_17
***********
13/09/2013 - Released a new Linaro GCC 4.7.4-2013.09 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.4-2013.09 toolchain - Released a new Linaro GCC 4.8.2-2013.09 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.2-2013.09 toolchain
***********
19/08/2013 - Released a new Linaro GCC 4.7.4-2013.08 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.4-2013.08 toolchain - Released a new Linaro GCC 4.8.2-2013.08 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.2-2013.08 toolchain
***********
12/07/2013 - Released a new Linaro GCC 4.7.4-2013.07 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.4-2013.07 toolchain - Released a new Linaro GCC 4.8.2-2013.07 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.2-2013.07 toolchain
***********
14/06/2013 - Released a new Linaro GCC 4.7.4-2013.06 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.4-2013.06 toolchain - Released a new Linaro GCC 4.8.2-2013.06 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.2-2013.06 toolchain
***********
18/05/2013 - Released a new Linaro GCC 4.6.4-2013.05 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.6.4-2013.05 toolchain - Released a new Linaro GCC 4.7.4-2013.05 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.4-2013.05 toolchain - Released a new Linaro GCC 4.8.1-2013.05 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.1-2013.05 toolchain
***********
26/04/2013 - Released a new Linaro GCC 4.8.1-2013.04 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.8.1-2013.04 toolchain These builds are for experimental use, some kernels could have incompatibilities (for I9001 kernel, it won't boot)
***********
25/04/2013 - Released a new Linaro GCC 4.6.4-2013.04 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.6.4-2013.04 toolchain
***********
12/04/2013 - Released a new Linaro GCC 4.7.3-2013.04 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.3-2013.04 toolchain
***********
15/03/2013 - Released a new Linaro GCC 4.7.3-2013.03 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.3-2013.03 toolchain
***********
16/02/2013 - Released a new Linaro GCC 4.7.3-2013.02 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released a new Linaro GCC 4.7.3-2013.02 toolchain
***********
26/01/2013 - Released a new Linaro GCC 4.7.3-2013.01 toolchain optimized for Cortex-A8 cpu with Neon technology support - Released two new Linaro GCC 4.6.4-2013.01 toolchains - Released two new toolchains with standard GCC 4.7.2 and GDB 7.4.1 instead of Linaro versions
***********
25/01/2013 - Released a new Linaro GCC 4.7.3-2013.01 toolchain
***********
18/01/2013 - Released two new Linaro GCC 4.7.3-2013.01 toolchains
***********
13/01/2013 - Released first test builds
Last edited by Christopher83; 21st December 2014 at 11:31 PM.
The Following 82 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
14th January 2013, 12:16 AM   |  #3  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More
HOW TO: Build your customized Cross Compiler Toolchain

This is a guide to make a custom build of your toolchain on Ubuntu Linux (I use version 12.10 and 13.04, but should also fit on 12.04).

1) Open the terminal, install the following packages (I hope the list is complete, let me know if something is missing):
Code:
sudo apt-get install mercurial mercurial-common flex bison gperf ncurses-dev texinfo gcc g++ \
autoconf automake libtool gawk patch autotools-dev libsigsegv2 libmpfr-dev libgmp-dev \
libltdl-dev libgmpxx4ldbl libmpc-dev expat libexpat1-dev libpython3.3 libpython3.3-stdlib \
libssl-dev libssl-dev zlib1g-dev subversion
2A) Clone my customized Linaro CrossTool-NG repository
Code:
git clone https://github.com/Christopher83/linaro_crosstool-ng.git
OR 2B) Clone Linaro CrossTool-NG repository
Code:
bzr branch lp:~linaro-toolchain-dev/crosstool-ng/linaro crosstool-ng
OR 2C) Clone Standard CrossTool-NG repository
Code:
hg clone http://crosstool-ng.org/hg/crosstool-ng
3) If you chose 2B or 2C, download, if you wish, the compressed archive containing my configuration files
and unzip it inside the folder crosstool-ng/samples (note: crosstool-ng is the folder of the builder sources you previously cloned)

4) Configure the folder where you would like to install the builder script (replace /crosstool-ng_install_path with the absolute path you prefer):
Code:
cd crosstool-ng
./bootstrap # Needed if you chose 2B and 2C
./configure --prefix=/crosstool-ng_install_path
5) Build the sources and install the builder:
Code:
make
make install
Within your target folder /crosstool-ng_install_path you will find a new folder named bin with only an executable script named ct-ng

Edit your .bashrc
Code:
gedit ~/.bashrc
and add, at the bottom of the file, the reference to the installation location of the builder /crosstool-ng_install_path
Code:
export PATH=${PATH}:/crosstool-ng_install_path
6) You should be ready, try running these commands
Display the script help
Code:
ct-ng help
View the list of samples configurations
Code:
ct-ng list-samples
Display the information about a sample configuration
Code:
ct-ng show config_name
7) Now proceed with the configuration of your toolchain
7A) Starting from a default configuration file sample
Code:
ct-ng arm-unknown-linux-gnueabi
ct-ng menuconfig
Remember to enable debugging, so if something goes wrong you can restart from the last successfull step
Code:
Paths and misc options  --->
(*) Debug crosstool-NG
( )   Pause between every steps
(*)   Save intermediate steps
(*)     gzip saved states
7B) Starting from one of my configurations you can find inside the samples package
Code:
ct-ng chosen_configuration_name
ct-ng menuconfig
If the GCC version or the Linux version is not ready also after the sync of ct_ng repo, you have to temporarly edit the files:
- config/cc/gcc.in
- config/kernel/linux.in
The same may be necessary for the other tools.

8) Build your toolchain (replace the 4 with the number of parallel jobs that you want, based on your number of cores)
Code:
ct-ng build.4
The build process takes a long time, depending on your network speed (you need to download all the source packages of the tools and libraries of the toolchain) and on your PC configuration.

Quote:

NOTE:
If the build fails, write down the last step was successful, check the error message and correct the configuration or install any missing package.
You can get a list of the steps that can be used by running

Code:
ct-ng list-steps
After resolving the problem, you can restore the build simply running (replace last_successfull_step with your successfull built step)
Code:
ct-ng last_successfull_step+
The + after the name of the step means "restart from the step after the one indicated"

I hope I'm not missing anything.
Let me know...
Last edited by Christopher83; 11th September 2014 at 02:50 PM.
The Following 73 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
14th January 2013, 12:16 AM   |  #4  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More
HOW TO: Use a toolchain for your kernel builds

- Download the compressed file of your preferred toolchain
- Uncompress the file inside your toolchains folder
- Open a terminal
- Change dir to your kernel sources path
Code:
 cd /YOUR_KERNEL_SOURCES_PATH
where /YOUR_KERNEL_SOURCES_PATH is the path where you have cloned the kernel sources repository

- Export the required architecture and cross compiler toolchain path for the next build commands
Code:
 export ARCH=arm
 export CROSS_COMPILE=/YOUR_TOOLCHAINS_PATH/TOOLCHAIN_FOLDER_NAME/bin/TOOLCHAIN_PREFIX-
where
/YOUR_TOOLCHAINS_PATH is the path where you have extracted the compressed toolchain (eg. /opt/toolchains)
TOOLCHAIN_FOLDER_NAME is the name of the toolchain folder previously uncompressed (eg. arm-cortex_a8-linux-gnueabi-linaro_4.7.3-2013.02)
TOOLCHAIN_PREFIX- is the prefix of the chosen toolchain (eg. arm-cortex_a8-linux-gnueabi- or arm-unknown-linux-gnueabi- or, for the builds released from 16/02/2013, simply arm-gnueabi-)

- Clean the output of your previous build
Code:
make clean
- Configure your kernel build
Code:
 # If is the first build
 make your_device_defconfig
 # If you want to change some kernel configuration options
 make menuconfig
- Build your kernel
Code:
 make -j5
Replace make -j5 according to your pc configuration (-j5 uses 5 parallel build jobs and is suitable for a quad core cpu)
Last edited by Christopher83; 13th June 2014 at 10:10 AM.
The Following 59 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
14th January 2013, 12:19 AM   |  #5  
XeLLaR*'s Avatar
Senior Member
Flag DevConnection
Thanks Meter: 4,569
 
2,787 posts
Join Date:Joined: Jun 2012
More
This is actually pretty badass. Thanks :thumbup:

Sent from my GT-I9001 using xda premium
The Following User Says Thank You to XeLLaR* For This Useful Post: [ View ]
14th January 2013, 12:39 AM   |  #6  
hadidjapri's Avatar
Senior Member
Flag Depok
Thanks Meter: 1,046
 
801 posts
Join Date:Joined: Sep 2012
More
you deserve my thanks man i'll try on my ancora build, since it has pretty similar specs with ariesve

Sent from my GT-I8150
The Following 2 Users Say Thank You to hadidjapri For This Useful Post: [ View ]
14th January 2013, 02:46 AM   |  #7  
broodplank1337's Avatar
Recognized Contributor / Recognized Developer
Flag Nijmegen
Thanks Meter: 10,116
 
4,945 posts
Join Date:Joined: Nov 2011
Donate to Me
More
Thanks, this will become very handy
The Following 2 Users Say Thank You to broodplank1337 For This Useful Post: [ View ]
14th January 2013, 03:15 AM   |  #8  
hadidjapri's Avatar
Senior Member
Flag Depok
Thanks Meter: 1,046
 
801 posts
Join Date:Joined: Sep 2012
More
i got question. do we still need to activate neon compiling from the makefile? isaw a flag for neon there

Sent from my GT-I8150
14th January 2013, 10:51 AM   |  #9  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More
Quote:
Originally Posted by hadidjapri

i got question. do we still need to activate neon compiling from the makefile? isaw a flag for neon there

Sent from my GT-I8150

The cross compiler will generate the proper output for the configured target including the optimizations specified during configuration (architecture, instruction set, floating point optimization, cpu tuning).
I'm sorry, but my I9001 is in assistance (the usb wasn't properly working and I'm almost unable to charge it), so I'm unable to complete the stability tests and benchmark comparisons of some kernel builds using these toolchains.
I've initially tested a prerelease optimized for Cortex-A8 with a simple kernel and I've noticed some performance gain running Antutu.

You can also leave your previously added compilation flags, expecially if you want to use and test multiple toolchains for kernel builds.
I suggest you to set and try these compilation flags inside the Makefile (credits to CastagnaIT and Stratosk):
Code:
...
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
                 -fno-strict-aliasing -fno-common \
                 -Werror-implicit-function-declaration \
                 -Wno-format-security \
                 -fno-delete-null-pointer-checks \
                 -march=armv7-a -mtune=cortex-a8 -mfpu=neon \
                 -ffast-math -fsingle-precision-constant \
                 -fgcse-lm -fgcse-sm -fsched-spec-load -fforce-addr
...
And if you use -O3 optimization, Linaro team suggest to use also these two flags:
Code:
...
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os
endif
ifdef CONFIG_CC_OPTIMIZE_DEFAULT
KBUILD_CFLAGS += -O2
endif
ifdef CONFIG_CC_OPTIMIZE_MORE
KBUILD_CFLAGS += -O3 -fmodulo-sched -fmodulo-sched-allow-regmoves -fno-tree-vectorize
endif
...
Note that I specify -fno-tree-vectorize to disable autovectorizing, because, according to this article:
Quote:

Autovectorizing (-ftree-vectorize) for NEON gives between zero and negligible performance gains

-ftree-vectorize is automatically enabled if you use -O3 optimization, so I've to be sure to disable it using the suggested -fno-tree-vectorize flag.
Last edited by Christopher83; 17th January 2013 at 12:44 PM.
The Following 7 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
15th January 2013, 12:48 AM   |  #10  
Christopher83's Avatar
OP Recognized Developer
Flag Milan
Thanks Meter: 10,575
 
1,347 posts
Join Date:Joined: Sep 2012
Donate to Me
More
Hi guys, there is a little update:
Code:
15/01/2013
- Released and replaced the previous Linaro GCC 4.7.3-2012.12 toolchains 
  with new ones which now include multilib support:
    arm-cortex_a8-linux-gnueabi-linaro_4.7.3-2012.12-build_2013_01_14 
    arm-unknown-linux-gnueabi-linaro_4.7.3-2012.12-build_2013_01_14
- Released two new toolchains with standard GCC 4.7.2 and GDB 7.4.1 
  instead of Linaro versions:
    arm-cortex_a8-linux-gnueabi-standard_4.7.2-build_2013_01_14
    arm-unknown-linux-gnueabi-standard_4.7.2-build_2013_01_15
Thanks
Good night!
Last edited by Christopher83; 18th January 2013 at 01:12 AM.

The Following 7 Users Say Thank You to Christopher83 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
cortex-a, cross-compile, gcc, linaro, toolchain
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes