Hello,
My name is Jiandong Zheng and am working on a few ARM specific projects. I have been using Linaro toolchain coming with Ubuntu to do Cortext-A9 building. I also need to maintain code for old ARM11 SoC so that Linaro toolchain is my preference and it did the job well back in Maverick days if I remember correctly.
However, in Precise, I have troubles running this ARM11 u-boot and kernel built with Linaro toolchain, eventually I found that my old gcc 4.3.2 toolchain can still build workable u-boot and kernel so that Linaro toolchain (gcc 4.6.2) seems the problem. I understand that Linaro's focus has been ARMv7 or above but I am wondering if its toolchain can still be used for older ARM architectures.
Thanks, JD
On Wed 07 Mar 2012 04:30:55 GMT, ezjd wrote:
Hello,
My name is Jiandong Zheng and am working on a few ARM specific projects. I have been using Linaro toolchain coming with Ubuntu to do Cortext-A9 building. I also need to maintain code for old ARM11 SoC so that Linaro toolchain is my preference and it did the job well back in Maverick days if I remember correctly.
However, in Precise, I have troubles running this ARM11 u-boot and kernel built with Linaro toolchain, eventually I found that my old gcc 4.3.2 toolchain can still build workable u-boot and kernel so that Linaro toolchain (gcc 4.6.2) seems the problem. I understand that Linaro's focus has been ARMv7 or above but I am wondering if its toolchain can still be used for older ARM architectures.
Sorry, but no, the *binary* toolchains are configured for ARMv7, and even if you pass the "-march=armv6" flag that doesn't change the configuration of libgcc and the other precompiled bit-and-bobs that get linked in.
If you build your own compiler from the Linaro sources then you can program it with any options you like. We test that ARMv5 works, so it's likely that ARMv6 will be fine (probably).
Andrew
On 03/07/2012 05:45 AM, Andrew Stubbs wrote:
Sorry, but no, the *binary* toolchains are configured for ARMv7, and even if you pass the "-march=armv6" flag that doesn't change the configuration of libgcc and the other precompiled bit-and-bobs that get linked in.
If you build your own compiler from the Linaro sources then you can program it with any options you like. We test that ARMv5 works, so it's likely that ARMv6 will be fine (probably).
Andrew
Thanks. I will try codesourcery toolchain too. I saw there is a workaround hack ( http://lists.linaro.org/pipermail/linaro-toolchain/2012-March/002220.html) as well.
JD
On Thu, Mar 8, 2012 at 5:00 AM, ezjd entropy.zjd@gmail.com wrote:
On 03/07/2012 05:45 AM, Andrew Stubbs wrote:
Sorry, but no, the *binary* toolchains are configured for ARMv7, and even if you pass the "-march=armv6" flag that doesn't change the configuration of libgcc and the other precompiled bit-and-bobs that get linked in.
If you build your own compiler from the Linaro sources then you can program it with any options you like. We test that ARMv5 works, so it's likely that ARMv6 will be fine (probably).
Andrew
Thanks. I will try codesourcery toolchain too.
We use crosstool-NG to build the monthly binary toolchains. You might want to consider using the build scripts and source release at: https://launchpad.net/linaro-toolchain-binaries/+download
and reconfigure it for ARMv6 toolchain.
I've added a note on this topic and instructions on building your own at: https://wiki.linaro.org/WorkingGroups/ToolChain/BinaryBuild#Earlier_architec...
We might add multilib support in the future which would help this particular use case.
-- Michael
ezjd entropy.zjd@gmail.com wrote:
However, in Precise, I have troubles running this ARM11 u-boot and kernel built with Linaro toolchain, eventually I found that my old gcc 4.3.2 toolchain can still build workable u-boot and kernel so that Linaro toolchain (gcc 4.6.2) seems the problem. I understand that Linaro's focus has been ARMv7 or above but I am wondering if its toolchain can still be used for older ARM architectures.
Our pre-built binary toolchains are configured using --with-arch=armv7-a so they will indeed not work for ARM11. But that's just a configuration issue; if you build a Linaro toolchain from source, you can still target older platforms as well.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
-- Dr. Ulrich Weigand | Phone: +49-7031/16-3727 STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E. IBM Deutschland Research & Development GmbH Vorsitzende des Aufsichtsrats: Martina Koederitz | Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht Stuttgart, HRB 243294
linaro-toolchain@lists.linaro.org