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.
42 # Until we only support EABI:
43 config ARCH_ARM_ABI_OK
45 depends on ! ARCH_ARM_EABI
46 select ARCH_SUPPORTS_WITH_ABI
48 # Little trick to force EABI *and* always show the prompt
49 config ARCH_ARM_EABI_FORCE
51 default y if ! OBSOLETE
59 Set up the toolchain so that it generates EABI-compliant binaries.
61 If you say 'n' here, then the toolchain will generate OABI binaries.
62 OABI has long been deprecated, and is now considered legacy.
64 config ARCH_ARM_TUPLE_USE_EABIHF
66 prompt "append 'hf' to the tuple (EXPERIMENTAL)"
67 depends on ARCH_FLOAT_HW
68 depends on ARCH_ARM_EABI # Until we only support that...
69 depends on EXPERIMENTAL
71 Is you say 'y' here, then the tuple for the toolchain will end
72 up with *eabihf, instead of the usual *eabi.
74 *eabihf is used to denote that the toolchain *is* using the
75 hard-float ABI, while *eabi is just an indication of using the
78 Ie. all one can say is: *eabihf ⊢ hard-float ABI
80 Saying 'n' here does *not* impact the ability of the toolchain to
81 generate hard-float instructions with the hard-float ABI. It is a
82 purely cosmetic thing, used by distros to differentiate their
83 hard-float-ABI-using ports from their soft-float-ABI-using ports.
84 (eg. Debian Wheezy and above).
86 This is an option, as not all versions of gcc/binutils do support
87 such tuple, and fail to build with *eabihf. Stock gcc version up
88 to, and including 4.7.2 have an issue or another with *eabihf.
90 This option is here for the future.
92 Say 'n', unless you are trying to fix gcc to properly recognise