7 prompt "binutils version"
8 # Don't remove next line
9 # CT_INSERT_VERSION_BELOW
11 config BINUTILS_V_2_21
13 depends on EXPERIMENTAL
15 select BINUTILS_2_21_or_later
17 config BINUTILS_V_2_20_1
21 config BINUTILS_V_2_20
25 config BINUTILS_V_2_19_1
29 config BINUTILS_V_2_19
33 config BINUTILS_V_2_18
37 config BINUTILS_V_2_17
39 prompt "2.17 (OBSOLETE)"
42 config BINUTILS_V_2_16_1
44 prompt "2.16.1 (OBSOLETE)"
49 config BINUTILS_VERSION
51 # Don't remove next line
52 # CT_INSERT_VERSION_STRING_BELOW
53 default "2.21" if BINUTILS_V_2_21
54 default "2.20.1" if BINUTILS_V_2_20_1
55 default "2.20" if BINUTILS_V_2_20
56 default "2.19.1" if BINUTILS_V_2_19_1
57 default "2.19" if BINUTILS_V_2_19
58 default "2.18" if BINUTILS_V_2_18
59 default "2.17" if BINUTILS_V_2_17
60 default "2.16.1" if BINUTILS_V_2_16_1
62 config BINUTILS_2_21_or_later
64 select BINUTILS_HAS_GOLD
65 select BINUTILS_HAS_PLUGINS
67 config BINUTILS_HAS_GOLD
70 config BINUTILS_GOLD_SUPPORTS_ARCH
73 config BINUTILS_HAS_PLUGINS
76 # Only these architectures have support in gold
78 select BINUTILS_GOLD_SUPPORTS_ARCH
81 select BINUTILS_GOLD_SUPPORTS_ARCH
85 prompt "Linkers to enable"
87 config BINUTILS_LINKER_LD
91 The historical, bfd linker.
93 config BINUTILS_LINKER_GOLD
96 depends on BINUTILS_HAS_GOLD
97 depends on BINUTILS_GOLD_SUPPORTS_ARCH
98 depends on EXPERIMENTAL
99 select BINUTILS_GOLD_INSTALLED
101 gold is a new, optimised, multi-threaded linker with support
102 for plugins. Designed to be a drop-in replacement for the
103 original linker, ld, it can be much faster, with a 5:1 or
104 bigger ratio being not uncommon, YMMV.
106 config BINUTILS_LINKER_LD_GOLD
109 depends on BINUTILS_HAS_GOLD
110 depends on BINUTILS_GOLD_SUPPORTS_ARCH
111 depends on EXPERIMENTAL
112 select BINUTILS_GOLD_INSTALLED
113 select BINUTILS_LINKER_BOTH
115 Both the historical ld and the new gold linkers will be
116 installed, with ld being the default linker used.
118 See help for gold, above.
120 config BINUTILS_LINKER_GOLD_LD
123 depends on BINUTILS_HAS_GOLD
124 depends on BINUTILS_GOLD_SUPPORTS_ARCH
125 depends on EXPERIMENTAL
126 select BINUTILS_GOLD_INSTALLED
127 select BINUTILS_LINKER_BOTH
129 Both the historical ld and the new gold linkers will be
130 installed, with gold being the default linker used.
132 See help for gold, above.
134 endchoice # Enable linkers
136 config BINUTILS_GOLD_INSTALLED
139 config BINUTILS_GOLD_THREADS
141 prompt "| Enable threaded gold"
142 depends on BINUTILS_GOLD_INSTALLED
144 When configured with threads, gold can link in parallel,
145 possibly cooperating with a make jobserver.
147 config BINUTILS_LINKER_BOTH
150 config BINUTILS_LINKERS_LIST
152 default "ld" if BINUTILS_LINKER_LD
153 default "gold" if BINUTILS_LINKER_GOLD
154 default "ld,gold" if BINUTILS_LINKER_LD_GOLD
155 default "gold,ld" if BINUTILS_LINKER_GOLD_LD
157 config BINUTILS_LD_WRAPPER
159 prompt "| Add ld wrapper"
160 depends on BINUTILS_LINKER_BOTH
162 Add an ld wrapper that calls to either gold or ld.
164 By default, the wrapper will call to the default wrapper,
165 but if you set the environment variable CTNG_LD_IS, you
166 can change which linker will get called:
167 CTNG_LD_IS=gold will unconditionally call the gold linker
168 CTNG_LD_IS=bfd will unconditionally call the old bfd ld linker
170 config BINUTILS_LINKER_DEFAULT
172 default "bfd" if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
173 default "gold" if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
175 config BINUTILS_PLUGINS
177 prompt "Enable support for plugins"
178 depends on BINUTILS_HAS_PLUGINS
179 depends on ! STATIC_TOOLCHAIN
181 binutils can be extended through the use of plugins.
182 Especially, gold can use the lto-plugin, as installed
183 by gcc, to handle LTO.
185 config BINUTILS_EXTRA_CONFIG
187 prompt "binutils extra config"
190 Extra flags passed onto ./configure when configuring
192 config BINUTILS_FOR_TARGET
194 prompt "binutils libraries for the target"
195 depends on ! BARE_METAL
199 Some utilities may need binutils libraries to be available on
200 the target, eg. oprofile.
202 if BINUTILS_FOR_TARGET
204 config BINUTILS_FOR_TARGET_IBERTY
209 config BINUTILS_FOR_TARGET_BFD
214 endif # BINUTILS_FOR_TARGET