buildroot/arch
Thomas Petazzoni 85d0769ac5 arch/arm: add support for Thumb2
Until now, we were using the default ARM instruction set, as used by
the toolchain: the 32 bits ARM instruction set for the internal
backend, and for external toolchain, whatever default was chosen when
the toolchain was generated.

This commit adds support for the Thumb2 instruction set. To do so, it:

 * provides a menuconfig choice between ARM and Thumb2. The choice is
   only shown when Thumb2 is supported, i.e on ARMv7-A CPUs.

 * passes the --with-mode={arm,thumb} option when building gcc in the
   internal backend. This tells the compiler which type of
   instructions it should generate.

 * passes the m{arm,thumb} option in the external toolchain
   wrapper. ARM and Thumb2 code can freely be mixed together, so the
   fact that the C library has been built either ARM or Thumb2 and
   that the rest of the code is built Thumb2 or ARM is not a problem.

[Peter: fix empty BR2_GCC_TARGET_MODE check]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 15:28:03 +02:00
..
Config.in arch/arm: add support for Thumb2 2013-07-16 15:28:03 +02:00
Config.in.aarch64 arch: improve definition of gcc mtune, mcpu, etc. 2012-11-15 16:12:46 +01:00
Config.in.arc arc: Add option for ARC-specific download site 2013-05-04 23:03:38 +02:00
Config.in.arm arch/arm: add support for Thumb2 2013-07-16 15:28:03 +02:00
Config.in.avr32 arch: improve definition of gcc mtune, mcpu, etc. 2012-11-15 16:12:46 +01:00
Config.in.bfin arch: toolchain: Introduce target CPU revision. 2013-05-05 22:49:50 +02:00
Config.in.m68k arch: Config.in string configuration options must be quoted 2012-11-15 16:39:51 +01:00
Config.in.microblaze arch: improve definition of gcc mtune, mcpu, etc. 2012-11-15 16:12:46 +01:00
Config.in.mips arch: Refactor BR2_SOFT_FLOAT into per-architecture options 2013-07-16 14:35:07 +02:00
Config.in.powerpc arch: Refactor BR2_SOFT_FLOAT into per-architecture options 2013-07-16 14:35:07 +02:00
Config.in.sh arch: improve definition of gcc mtune, mcpu, etc. 2012-11-15 16:12:46 +01:00
Config.in.sparc arch/sparc: drop old SUN-specific variants 2013-01-02 14:59:55 +01:00
Config.in.x86 arch: fix BR2_ARCH for generic target variant 2012-12-20 15:15:24 +01:00
Config.in.xtensa xtensa: use uppercase for configurations and modified overlay structure 2012-11-21 11:08:50 +01:00