yann@628
|
1 |
# ARM specific configuration file
|
yann@628
|
2 |
|
yann@1596
|
3 |
config ARCH_ARM_MODE
|
yann@1596
|
4 |
string
|
yann@1596
|
5 |
default "arm" if ARCH_ARM_MODE_ARM
|
yann@1596
|
6 |
default "thumb" if ARCH_ARM_MODE_THUMB
|
yann@1596
|
7 |
|
yann@1596
|
8 |
choice
|
yann@1596
|
9 |
bool
|
yann@1596
|
10 |
prompt "Default instruction set mode"
|
yann@1596
|
11 |
default ARCH_ARM_MODE_ARM
|
yann@1596
|
12 |
|
yann@1596
|
13 |
config ARCH_ARM_MODE_ARM
|
yann@1596
|
14 |
bool
|
yann@1596
|
15 |
prompt "arm"
|
yann@1596
|
16 |
help
|
yann@1596
|
17 |
Defaults to emitting instructions in the ARM mode.
|
yann@1596
|
18 |
|
yann@1596
|
19 |
config ARCH_ARM_MODE_THUMB
|
yann@1596
|
20 |
bool
|
yann@3150
|
21 |
prompt "thumb"
|
yann@1596
|
22 |
help
|
yann@1596
|
23 |
Defaults to emitting instructions in the THUMB mode.
|
yann@1596
|
24 |
|
yann@1596
|
25 |
endchoice
|
yann@1596
|
26 |
|
yann@1597
|
27 |
config ARCH_ARM_INTERWORKING
|
yann@1597
|
28 |
bool
|
yann@1597
|
29 |
prompt "Use Thumb-interworking (READ HELP)"
|
yann@1597
|
30 |
help
|
yann@1597
|
31 |
Excerpt from the gcc manual:
|
yann@1597
|
32 |
|
yann@1597
|
33 |
> Generate code which supports calling between the ARM and Thumb
|
yann@1597
|
34 |
> instruction sets. Without this option the two instruction sets
|
yann@1597
|
35 |
> cannot be reliably used inside one program. The default is
|
yann@1597
|
36 |
> [not to use interwork], since slightly larger code is generated
|
yann@1597
|
37 |
> when [interwork] is specified.
|
yann@3150
|
38 |
|
yann@3150
|
39 |
NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
|
yann@3150
|
40 |
own risks, and report success and/or failure.
|
yann@1597
|
41 |
|
yann@3159
|
42 |
# Until we only support EABI:
|
yann@3159
|
43 |
config ARCH_ARM_ABI_OK
|
yann@3159
|
44 |
def_bool y
|
yann@3159
|
45 |
depends on ! ARCH_ARM_EABI
|
yann@3159
|
46 |
select ARCH_SUPPORTS_WITH_ABI
|
yann@3159
|
47 |
|
yann@3159
|
48 |
# Little trick to force EABI *and* always show the prompt
|
yann@3159
|
49 |
config ARCH_ARM_EABI_FORCE
|
yann@3159
|
50 |
bool
|
yann@3159
|
51 |
default y if ! OBSOLETE
|
yann@3159
|
52 |
select ARCH_ARM_EABI
|
yann@3159
|
53 |
|
yann@385
|
54 |
config ARCH_ARM_EABI
|
yann@385
|
55 |
bool
|
yann@823
|
56 |
prompt "Use EABI"
|
yann@1582
|
57 |
default y
|
yann@385
|
58 |
help
|
yann@385
|
59 |
Set up the toolchain so that it generates EABI-compliant binaries.
|
yann@3159
|
60 |
|
yann@3159
|
61 |
If you say 'n' here, then the toolchain will generate OABI binaries.
|
yann@3159
|
62 |
OABI has long been deprecated, and is now considered legacy.
|
yann@503
|
63 |
|
yann@3158
|
64 |
config ARCH_ARM_TUPLE_USE_EABIHF
|
yann@3158
|
65 |
bool
|
yann@3158
|
66 |
prompt "append 'hf' to the tuple (EXPERIMENTAL)"
|
yann@3158
|
67 |
depends on ARCH_FLOAT_HW
|
yann@3158
|
68 |
depends on ARCH_ARM_EABI # Until we only support that...
|
yann@3158
|
69 |
depends on EXPERIMENTAL
|
yann@3158
|
70 |
help
|
yann@3158
|
71 |
Is you say 'y' here, then the tuple for the toolchain will end
|
yann@3158
|
72 |
up with *eabihf, instead of the usual *eabi.
|
yann@3158
|
73 |
|
yann@3158
|
74 |
*eabihf is used to denote that the toolchain *is* using the
|
yann@3158
|
75 |
hard-float ABI, while *eabi is just an indication of using the
|
yann@3158
|
76 |
soft-float ABI.
|
yann@3158
|
77 |
|
yann@3158
|
78 |
Ie. all one can say is: *eabihf ⊢ hard-float ABI
|
yann@3158
|
79 |
|
yann@3158
|
80 |
Saying 'n' here does *not* impact the ability of the toolchain to
|
yann@3158
|
81 |
generate hard-float instructions with the hard-float ABI. It is a
|
yann@3158
|
82 |
purely cosmetic thing, used by distros to differentiate their
|
yann@3158
|
83 |
hard-float-ABI-using ports from their soft-float-ABI-using ports.
|
yann@3158
|
84 |
(eg. Debian Wheezy and above).
|
yann@3158
|
85 |
|
yann@3158
|
86 |
This is an option, as not all versions of gcc/binutils do support
|
yann@3158
|
87 |
such tuple, and fail to build with *eabihf. Stock gcc version up
|
yann@3158
|
88 |
to, and including 4.7.2 have an issue or another with *eabihf.
|
yann@3158
|
89 |
|
yann@3158
|
90 |
This option is here for the future.
|
yann@3158
|
91 |
|
yann@3158
|
92 |
Say 'n', unless you are trying to fix gcc to properly recognise
|
yann@3158
|
93 |
the *eabihf tuples.
|