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