path: root/arch/Config.in
diff options
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-07-16 10:03:22 +0200
committerGravatar Peter Korsgaard <jacmet@sunsite.dk>2013-07-16 15:28:03 +0200
commit85d0769ac5cb50527c5bbab4417262064971073f (patch)
tree06b04d5cd48397df61b840e78876b98263796a8b /arch/Config.in
parentd2e3cc389d47f3f1f3aa5e92e2e00deb9f2f27ba (diff)
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>
Diffstat (limited to 'arch/Config.in')
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/Config.in b/arch/Config.in
index c2dc9e809c..c2147a4049 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -207,6 +207,12 @@ config BR2_GCC_TARGET_FPU
+# The value of this option will be passed as --with-mode=<value> when
+# building gcc (internal backend) or -m<value> in the toolchain
+# wrapper (external toolchain)
+ string
# Set up target binary format
prompt "Target Binary Format"