config/arch/arm.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 2484 d1a8c2ae7946
child 3150 1d6fd9bde73c
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # ARM specific configuration file
     2 
     3 config ARCH_ARM_MODE
     4     string
     5     default "arm"   if ARCH_ARM_MODE_ARM
     6     default "thumb" if ARCH_ARM_MODE_THUMB
     7 
     8 choice
     9     bool
    10     prompt "Default instruction set mode"
    11     default ARCH_ARM_MODE_ARM
    12 
    13 config ARCH_ARM_MODE_ARM
    14     bool
    15     prompt "arm"
    16     help
    17       Defaults to emitting instructions in the ARM mode.
    18 
    19 config ARCH_ARM_MODE_THUMB
    20     bool
    21     prompt "thumb (EXPERIMENTAL)"
    22     depends on EXPERIMENTAL
    23     help
    24       Defaults to emitting instructions in the THUMB mode.
    25 
    26 endchoice
    27 
    28 config ARCH_ARM_INTERWORKING
    29     bool
    30     prompt "Use Thumb-interworking (READ HELP)"
    31     depends on EXPERIMENTAL
    32     help
    33       Excerpt from the gcc manual:
    34       
    35       > Generate code which supports calling between the ARM and Thumb
    36       > instruction sets. Without this option the two instruction sets
    37       > cannot be reliably used inside one program. The default is
    38       > [not to use interwork], since slightly larger code is generated
    39       > when [interwork] is specified.
    40 
    41 config ARCH_ARM_EABI
    42     bool
    43     prompt "Use EABI"
    44     default y
    45     help
    46       Set up the toolchain so that it generates EABI-compliant binaries.
    47 
    48 config ARCH_ARM_ABI_OK
    49     bool
    50     default y
    51     depends on ! ARCH_ARM_EABI
    52     select ARCH_SUPPORTS_WITH_ABI