config/libc/newlib.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Feb 21 23:39:46 2011 +0100 (2011-02-21)
changeset 2312 8b9938edd3d8
parent 1780 9c03c1a508d8
child 2444 896cb0d36c1a
permissions -rw-r--r--
libc/glibc: add fortify option

By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
mgl@1371
     1
# newlib options
yann@1780
     2
# depends on BARE_METAL
mgl@1371
     3
mgl@1371
     4
config LIBC_newlib
yann@2215
     5
    select LIBC_SUPPORT_THREADS_NONE
mgl@1371
     6
    help
yann@1591
     7
      Newlib is a C library intended for use on embedded systems. It is a
yann@1591
     8
      conglomeration of several library parts, all under free software
yann@1591
     9
      licenses that make them easily usable on embedded products. Newlib
yann@1591
    10
      is only available in source form. It can be compiled for a wide
yann@1591
    11
      array of processors, and will usually work on any architecture with
yann@1591
    12
      the addition of a few low-level routines.
mgl@1371
    13
mgl@1371
    14
choice
mgl@1371
    15
    bool
mgl@1371
    16
    prompt "newlib version"
yann@1535
    17
# Don't remove next line
yann@1535
    18
# CT_INSERT_VERSION_BELOW
mgl@1371
    19
yann@1724
    20
config LIBC_NEWLIB_V_1_18_0
yann@1724
    21
    bool
yann@1724
    22
    prompt "1.18.0 (EXPERIMENTAL)"
yann@1724
    23
    depends on EXPERIMENTAL
yann@1724
    24
yann@1590
    25
config LIBC_NEWLIB_V_1_17_0
mgl@1371
    26
    bool
mgl@1371
    27
    prompt "1.17.0"
mgl@1371
    28
yann@1593
    29
config LIBC_NEWLIB_CVS
yann@1593
    30
    bool
yann@1593
    31
    prompt "Use CVS snapshot"
yann@1593
    32
    help
yann@1593
    33
      The newlib "team" rolls new releases about once a year (december).
yann@1593
    34
      This is quite a long time between releases, in case code was fixed.
yann@1593
    35
      
yann@1593
    36
      Saying 'Y' here will allow you to use the bleeding-edge code from
yann@1593
    37
      the CVS repository. This may or may not fix your issues, may or may
yann@1593
    38
      not build, may or may not crash your machine, may or may not withdraw
yann@1593
    39
      money from your bank account, may or may not date your girlfriend,
yann@1593
    40
      may or may not resurect Elvis... :-)
yann@1593
    41
      
yann@1593
    42
      In a word: use the CVS snapshot at your own risk! 
yann@1593
    43
mgl@1371
    44
endchoice
mgl@1371
    45
mgl@1371
    46
config LIBC_VERSION
mgl@1371
    47
    string
yann@1593
    48
    prompt "use CVS tag" if LIBC_NEWLIB_CVS
yann@1535
    49
# Don't remove next line
yann@1535
    50
# CT_INSERT_VERSION_STRING_BELOW
yann@1724
    51
    default "1.18.0" if LIBC_NEWLIB_V_1_18_0
yann@1590
    52
    default "1.17.0" if LIBC_NEWLIB_V_1_17_0
yann@1593
    53
    help
yann@1593
    54
      Enter the tag you want to use.
yann@1593
    55
      Leave empty to use the 'head' of the repository.
yann@1593
    56
yann@1593
    57
comment "Architecture specific options"
mgl@1371
    58
mgl@1373
    59
config ATMEL_AVR32_HEADERS
mgl@1373
    60
    bool
mgl@1373
    61
    prompt "Install Atmel AVR32 headers"
yann@1591
    62
    depends on ARCH_avr32
mgl@1373
    63
    default y
mgl@1373
    64
    help
mgl@1373
    65
      Install Atmel AVR32 headers for native AVR32 development. Most
mgl@1373
    66
      AVR32 MCU devices are supported.
mgl@1373
    67
      
mgl@1373
    68
      If you do native AVR32 development you want to say 'Y' here.