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
83 if BINUTILS_HAS_GOLD && BINUTILS_GOLD_SUPPORTS_ARCH
87 prompt "Linkers to enable"
89 config BINUTILS_LINKER_LD
93 The historical, bfd linker.
95 config BINUTILS_LINKER_GOLD
98 depends on BINUTILS_HAS_GOLD
99 depends on EXPERIMENTAL
100 select BINUTILS_GOLD_INSTALLED
102 gold is a new, optimised, multi-threaded linker with support
103 for plugins. Designed to be a drop-in replacement for the
104 original linker, ld, it can be much faster, with a 5:1 or
105 bigger ratio being not uncommon, YMMV.
107 config BINUTILS_LINKER_LD_GOLD
110 depends on BINUTILS_HAS_GOLD
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 EXPERIMENTAL
125 select BINUTILS_GOLD_INSTALLED
126 select BINUTILS_LINKER_BOTH
128 Both the historical ld and the new gold linkers will be
129 installed, with gold being the default linker used.
131 See help for gold, above.
133 endchoice # Enable linkers
135 config BINUTILS_GOLD_INSTALLED
138 config BINUTILS_GOLD_THREADS
140 prompt "| Enable threaded gold"
141 depends on BINUTILS_GOLD_INSTALLED
143 When configured with threads, gold can link in parallel,
144 possibly cooperating with a make jobserver.
146 config BINUTILS_LINKER_BOTH
149 config BINUTILS_LINKERS_LIST
151 default "ld" if BINUTILS_LINKER_LD
152 default "gold" if BINUTILS_LINKER_GOLD
153 default "ld,gold" if BINUTILS_LINKER_LD_GOLD
154 default "gold,ld" if BINUTILS_LINKER_GOLD_LD
156 config BINUTILS_LD_WRAPPER
158 prompt "| Add ld wrapper"
159 depends on BINUTILS_LINKER_BOTH
161 Add an ld wrapper that calls to either gold or ld.
163 By default, the wrapper will call to the default wrapper,
164 but if you set the environment variable CTNG_LD_IS, you
165 can change which linker will get called:
166 CTNG_LD_IS=gold will unconditionally call the gold linker
167 CTNG_LD_IS=bfd will unconditionally call the old bfd ld linker
169 config BINUTILS_LINKER_DEFAULT
171 depends on BINUTILS_LD_WRAPPER
172 default "bfd" if BINUTILS_LINKER_LD_GOLD
173 default "gold" if BINUTILS_LINKER_GOLD_LD
175 endif # BINUTILS_HAS_GOLD
177 config BINUTILS_PLUGINS
179 prompt "Enable support for plugins"
180 depends on BINUTILS_HAS_PLUGINS
181 depends on ! STATIC_TOOLCHAIN
183 binutils can be extended through the use of plugins.
184 Especially, gold can use the lto-plugin, as installed
185 by gcc, to handle LTO.
187 config BINUTILS_EXTRA_CONFIG
189 prompt "binutils extra config"
192 Extra flags passed onto ./configure when configuring
194 config BINUTILS_FOR_TARGET
196 prompt "binutils libraries for the target"
197 depends on ! BARE_METAL
201 Some utilities may need binutils libraries to be available on
202 the target, eg. oprofile.
204 if BINUTILS_FOR_TARGET
206 config BINUTILS_FOR_TARGET_IBERTY
211 config BINUTILS_FOR_TARGET_BFD
216 endif # BINUTILS_FOR_TARGET