1 # ARM specific configuration file
5 default "arm" if ARCH_ARM_MODE_ARM
6 default "thumb" if ARCH_ARM_MODE_THUMB
10 prompt "Default instruction set mode"
11 default ARCH_ARM_MODE_ARM
13 config ARCH_ARM_MODE_ARM
17 Defaults to emitting instructions in the ARM mode.
19 config ARCH_ARM_MODE_THUMB
23 Defaults to emitting instructions in the THUMB mode.
27 config ARCH_ARM_INTERWORKING
29 prompt "Use Thumb-interworking (READ HELP)"
31 Excerpt from the gcc manual:
33 > Generate code which supports calling between the ARM and Thumb
34 > instruction sets. Without this option the two instruction sets
35 > cannot be reliably used inside one program. The default is
36 > [not to use interwork], since slightly larger code is generated
37 > when [interwork] is specified.
39 NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
40 own risks, and report success and/or failure.
47 Set up the toolchain so that it generates EABI-compliant binaries.
49 config ARCH_ARM_TUPLE_USE_EABIHF
51 prompt "append 'hf' to the tuple (EXPERIMENTAL)"
52 depends on ARCH_FLOAT_HW
53 depends on ARCH_ARM_EABI # Until we only support that...
54 depends on EXPERIMENTAL
56 Is you say 'y' here, then the tuple for the toolchain will end
57 up with *eabihf, instead of the usual *eabi.
59 *eabihf is used to denote that the toolchain *is* using the
60 hard-float ABI, while *eabi is just an indication of using the
63 Ie. all one can say is: *eabihf ⊢ hard-float ABI
65 Saying 'n' here does *not* impact the ability of the toolchain to
66 generate hard-float instructions with the hard-float ABI. It is a
67 purely cosmetic thing, used by distros to differentiate their
68 hard-float-ABI-using ports from their soft-float-ABI-using ports.
69 (eg. Debian Wheezy and above).
71 This is an option, as not all versions of gcc/binutils do support
72 such tuple, and fail to build with *eabihf. Stock gcc version up
73 to, and including 4.7.2 have an issue or another with *eabihf.
75 This option is here for the future.
77 Say 'n', unless you are trying to fix gcc to properly recognise
80 config ARCH_ARM_ABI_OK
83 depends on ! ARCH_ARM_EABI
84 select ARCH_SUPPORTS_WITH_ABI