config/binutils/binutils.in
author Michael Hope <michael.hope@linaro.org>
Wed Sep 28 15:29:11 2011 +1300 (2011-09-28)
changeset 2696 5f7c6eed805d
parent 2665 5b7e91ec300c
child 2797 ce8ada0b1d41
permissions -rw-r--r--
binutils/binutils: added 2.21.53 snapshot

binutils 2.21 doesn't recognise the Cortex-M3 SVC instruction when
assembling with -mcpu=all. This was fixed by the 2.21.53 snapshot and
is needed to build RTOSs such as FreeRTOS.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
yann@1345
     1
# binutils options
yann@1345
     2
yann@1345
     3
comment "GNU binutils"
yann@1345
     4
yann@1345
     5
choice
yann@1345
     6
    bool
yann@1345
     7
    prompt "binutils version"
yann@1535
     8
# Don't remove next line
yann@1535
     9
# CT_INSERT_VERSION_BELOW
yann@1345
    10
michael@2696
    11
config BINUTILS_V_2_21_53
michael@2696
    12
    bool
michael@2696
    13
    prompt "2.21.53 (EXPERIMENTAL)"
michael@2696
    14
    depends on EXPERIMENTAL
michael@2696
    15
    select BINUTILS_2_21_or_later
michael@2696
    16
yann@2665
    17
config BINUTILS_V_2_21_1a
yann@2665
    18
    bool
yann@2665
    19
    prompt "2.21.1a"
yann@2665
    20
    select BINUTILS_2_21_or_later
yann@2665
    21
yann@2664
    22
config BINUTILS_V_2_20_1a
js@2012
    23
    bool
yann@2664
    24
    prompt "2.20.1a"
benoit@2488
    25
    select BINUTILS_2_20_or_later
js@2012
    26
yann@2664
    27
config BINUTILS_V_2_19_1a
yann@1345
    28
    bool
yann@2664
    29
    prompt "2.19.1a"
benoit@2488
    30
    select BINUTILS_2_19_or_later
yann@1345
    31
yann@2664
    32
config BINUTILS_V_2_18a
yann@1345
    33
    bool
yann@2664
    34
    prompt "2.18a"
benoit@2488
    35
    select BINUTILS_2_18_or_later
yann@1345
    36
yann@2664
    37
config BINUTILS_V_2_17a
yann@1345
    38
    bool
yann@2664
    39
    prompt "2.17a (OBSOLETE)"
yann@1615
    40
    depends on OBSOLETE
yann@1345
    41
yann@2664
    42
config BINUTILS_V_2_16_1a
yann@1345
    43
    bool
yann@2664
    44
    prompt "2.16.1a (OBSOLETE)"
yann@1615
    45
    depends on OBSOLETE
yann@1345
    46
yann@1345
    47
endchoice
yann@1345
    48
yann@1345
    49
config BINUTILS_VERSION
yann@1345
    50
    string
yann@1535
    51
# Don't remove next line
yann@1535
    52
# CT_INSERT_VERSION_STRING_BELOW
michael@2696
    53
    default "2.21.53" if BINUTILS_V_2_21_53
yann@2665
    54
    default "2.21.1a" if BINUTILS_V_2_21_1a
yann@2664
    55
    default "2.20.1a" if BINUTILS_V_2_20_1a
yann@2664
    56
    default "2.19.1a" if BINUTILS_V_2_19_1a
yann@2664
    57
    default "2.18a" if BINUTILS_V_2_18a
yann@2664
    58
    default "2.17a" if BINUTILS_V_2_17a
yann@2664
    59
    default "2.16.1a" if BINUTILS_V_2_16_1a
yann@1345
    60
yann@2243
    61
config BINUTILS_2_21_or_later
yann@2243
    62
    bool
benoit@2488
    63
    select BINUTILS_2_20_or_later
yann@2244
    64
    select BINUTILS_HAS_GOLD
yann@2245
    65
    select BINUTILS_HAS_PLUGINS
yann@2244
    66
benoit@2488
    67
config BINUTILS_2_20_or_later
benoit@2488
    68
    bool
benoit@2488
    69
    select BINUTILS_2_19_or_later
benoit@2488
    70
benoit@2488
    71
config BINUTILS_2_19_or_later
benoit@2488
    72
    bool
benoit@2488
    73
    select BINUTILS_2_18_or_later
benoit@2488
    74
benoit@2488
    75
config BINUTILS_2_18_or_later
benoit@2488
    76
    bool
benoit@2488
    77
    select BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
    78
yann@2244
    79
config BINUTILS_HAS_GOLD
yann@2244
    80
    bool
yann@2244
    81
yann@2372
    82
config BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
    83
    bool
yann@2372
    84
yann@2245
    85
config BINUTILS_HAS_PLUGINS
yann@2245
    86
    bool
yann@2245
    87
benoit@2488
    88
config BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
    89
    bool
benoit@2488
    90
yann@2372
    91
# Only these architectures have support in gold
yann@2372
    92
config ARCH_arm
yann@2372
    93
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
    94
yann@2372
    95
config ARCH_x86
yann@2372
    96
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
    97
yann@2376
    98
# Force using the BFD linker if needed
yann@2376
    99
# This is the case for some C libraries (eg. glibc and
yann@2376
   100
# eglibc at least) and affected components can select this
yann@2376
   101
config BINUTILS_FORCE_LD_BFD
yann@2376
   102
    bool
yann@2376
   103
yann@2244
   104
choice
yann@2244
   105
    bool
yann@2244
   106
    prompt "Linkers to enable"
yann@2244
   107
yann@2244
   108
config BINUTILS_LINKER_LD
yann@2244
   109
    bool
yann@2244
   110
    prompt "ld"
yann@2244
   111
    help
yann@2244
   112
      The historical, bfd linker.
yann@2244
   113
yann@2244
   114
config BINUTILS_LINKER_GOLD
yann@2244
   115
    bool
yann@2244
   116
    prompt "gold"
yann@2244
   117
    depends on BINUTILS_HAS_GOLD
yann@2373
   118
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2376
   119
    depends on ! BINUTILS_FORCE_LD_BFD
yann@2244
   120
    depends on EXPERIMENTAL
yann@2244
   121
    select BINUTILS_GOLD_INSTALLED
yann@2244
   122
    help
yann@2244
   123
      gold is a new, optimised, multi-threaded linker with support
yann@2244
   124
      for plugins. Designed to be a drop-in replacement for the
yann@2244
   125
      original linker, ld, it can be much faster, with a 5:1 or
yann@2244
   126
      bigger ratio being not uncommon, YMMV.
yann@2244
   127
yann@2244
   128
config BINUTILS_LINKER_LD_GOLD
yann@2244
   129
    bool
yann@2244
   130
    prompt "ld, gold"
yann@2244
   131
    depends on BINUTILS_HAS_GOLD
yann@2373
   132
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   133
    depends on EXPERIMENTAL
yann@2244
   134
    select BINUTILS_GOLD_INSTALLED
yann@2247
   135
    select BINUTILS_LINKER_BOTH
yann@2244
   136
    help
yann@2244
   137
      Both the historical ld and the new gold linkers will be
yann@2244
   138
      installed, with ld being the default linker used.
yann@2244
   139
      
yann@2244
   140
      See help for gold, above.
yann@2244
   141
yann@2244
   142
config BINUTILS_LINKER_GOLD_LD
yann@2244
   143
    bool
yann@2244
   144
    prompt "gold, ld"
yann@2244
   145
    depends on BINUTILS_HAS_GOLD
yann@2373
   146
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   147
    depends on EXPERIMENTAL
yann@2244
   148
    select BINUTILS_GOLD_INSTALLED
yann@2247
   149
    select BINUTILS_LINKER_BOTH
yann@2376
   150
    select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
yann@2244
   151
    help
yann@2244
   152
      Both the historical ld and the new gold linkers will be
yann@2244
   153
      installed, with gold being the default linker used.
yann@2244
   154
      
yann@2244
   155
      See help for gold, above.
yann@2244
   156
yann@2244
   157
endchoice # Enable linkers
yann@2244
   158
yann@2374
   159
if BINUTILS_LINKER_GOLD
yann@2374
   160
comment "WARNING! gold is not capable of"
yann@2374
   161
comment "|         building glibc/eglibc!"
yann@2374
   162
endif # BINUTILS_LINKER_GOLD
yann@2374
   163
yann@2244
   164
config BINUTILS_GOLD_INSTALLED
yann@2244
   165
    bool
yann@2244
   166
yann@2246
   167
config BINUTILS_GOLD_THREADS
yann@2246
   168
    bool
yann@2246
   169
    prompt "|  Enable threaded gold"
yann@2246
   170
    depends on BINUTILS_GOLD_INSTALLED
yann@2246
   171
    help
yann@2246
   172
      When configured with threads, gold can link in parallel,
yann@2246
   173
      possibly cooperating with a make jobserver.
yann@2246
   174
yann@2247
   175
config BINUTILS_LINKER_BOTH
yann@2247
   176
    bool
yann@2247
   177
yann@2244
   178
config BINUTILS_LINKERS_LIST
yann@2244
   179
    string
yann@2244
   180
    default "ld"        if BINUTILS_LINKER_LD
yann@2244
   181
    default "gold"      if BINUTILS_LINKER_GOLD
yann@2244
   182
    default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
yann@2244
   183
    default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
yann@2244
   184
yann@2247
   185
config BINUTILS_LD_WRAPPER
yann@2247
   186
    bool
yann@2247
   187
    prompt "|  Add ld wrapper"
yann@2247
   188
    depends on BINUTILS_LINKER_BOTH
yann@2247
   189
    help
yann@2247
   190
      Add an ld wrapper that calls to either gold or ld.
yann@2247
   191
      
yann@2247
   192
      By default, the wrapper will call to the default wrapper,
yann@2247
   193
      but if you set the environment variable CTNG_LD_IS, you
yann@2247
   194
      can change which linker will get called:
yann@2247
   195
        CTNG_LD_IS=gold     will unconditionally call the gold linker
yann@2247
   196
        CTNG_LD_IS=bfd      will unconditionally call the old bfd ld linker
yann@2247
   197
yann@2247
   198
config BINUTILS_LINKER_DEFAULT
yann@2247
   199
    string
yann@2373
   200
    default "bfd"   if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
yann@2373
   201
    default "gold"  if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
yann@2243
   202
yann@2245
   203
config BINUTILS_PLUGINS
yann@2245
   204
    bool
yann@2245
   205
    prompt "Enable support for plugins"
yann@2245
   206
    depends on BINUTILS_HAS_PLUGINS
yann@2316
   207
    depends on ! STATIC_TOOLCHAIN
yann@2245
   208
    help
yann@2245
   209
      binutils can be extended through the use of plugins.
yann@2245
   210
      Especially, gold can use the lto-plugin, as installed
yann@2245
   211
      by gcc, to handle LTO.
yann@2245
   212
yann@2467
   213
config BINUTILS_EXTRA_CONFIG_ARRAY
yann@1345
   214
    string
yann@1345
   215
    prompt "binutils extra config"
yann@1345
   216
    default ""
yann@1345
   217
    help
yann@1345
   218
      Extra flags passed onto ./configure when configuring
yann@2469
   219
      
yann@2469
   220
      You can enter multiple arguments here, and arguments can contain spaces
yann@2469
   221
      if they are properly quoted (or escaped, but prefer quotes). Eg.:
yann@2469
   222
          --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
yann@1345
   223
yann@1345
   224
config BINUTILS_FOR_TARGET
yann@1345
   225
    bool
yann@1345
   226
    prompt "binutils libraries for the target"
yann@1345
   227
    depends on ! BARE_METAL
yann@1844
   228
    depends on ! BACKEND
yann@1345
   229
    help
yann@1345
   230
      Some utilities may need binutils libraries to be available on
yann@1345
   231
      the target, eg. oprofile.
yann@1345
   232
yann@1345
   233
if BINUTILS_FOR_TARGET
yann@1345
   234
yann@1345
   235
config BINUTILS_FOR_TARGET_IBERTY
yann@1345
   236
    bool
yann@1345
   237
    prompt "libiberty"
yann@1345
   238
    default y
yann@1345
   239
yann@1345
   240
config BINUTILS_FOR_TARGET_BFD
yann@1345
   241
    bool
yann@1345
   242
    prompt "libbfd"
yann@1345
   243
    default y
yann@1345
   244
yann@1345
   245
endif # BINUTILS_FOR_TARGET