getting armv7 linker to emit armv4t thumb interworking
mans.rullgard at linaro.org
Fri Apr 13 10:58:02 UTC 2012
On 13 April 2012 11:47, Richard Earnshaw <Richard.Earnshaw at arm.com> wrote:
> On 12/04/12 20:10, Allen Martin wrote:
>> I have a cross toolchain I configured with "--with-arch=armv7-a --with-cpu=cortex-a9 --with-tune=cortex-a9" and I want the linker to emit armv4t compatible thumb interworking, but I can't seem to get it to.
>> I noticed that if I create a armv4t toolchain with "--with-arch=armv4t --with-cpu=arm7tdmi --with-tune=arm7tdmi" and then I pass "--use-blx" to the linker it will emit armv7 thumb interworking. There doesn't seem to be any inverse "--no-use-blx" type switch though. Is this a bug/limitation of the linker or am I misunderstanding something?
> it's all in the friendly manual :-)
> The option you need is --fix-v4bx.
That option is for supporting pre-thumb cores, which is not necessary
> BTW, taking a v7a toolchain and trying to use it to build v4 binaries is
> likely to be problematic. For it to work you'll need to ensure that
> *all* your libraries are built to support back-conversion to v4,
> including those that are normally built as part of the toolchain
> (libgcc, etc).
This is in the context of building a u-boot SPL for Tegra2/3. This is
completely self-contained, not even relying on the compiler's libgcc.
Mans Rullgard / mru
More information about the linaro-toolchain